From 71d1b2caa6eaa5cd2c7e198906f0c90809f89d6b Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 22 Dec 2022 18:21:26 +0100 Subject: [PATCH 1/2] Fix lifetime confusion in shadow stack pass --- src/passes/shadowstack.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/passes/shadowstack.ts b/src/passes/shadowstack.ts index aec8ce8be7..468009202e 100644 --- a/src/passes/shadowstack.ts +++ b/src/passes/shadowstack.ts @@ -174,9 +174,9 @@ 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 + // note: can't omit a slot when assigning from another local since the other + // local might have shorter lifetime and become reassigned, say in a loop, + // then no longer holding on to the previous value in its stack slot. } return true; } From 3e1f0791704e23d718e6b19b67c1e9e3baec1692 Mon Sep 17 00:00:00 2001 From: dcode Date: Thu, 22 Dec 2022 18:48:04 +0100 Subject: [PATCH 2/2] update fixtures --- tests/compiler/NonNullable.debug.wat | 149 +- tests/compiler/NonNullable.release.wat | 467 +- tests/compiler/assert-nonnull.debug.wat | 551 +- tests/compiler/assert-nonnull.release.wat | 296 +- tests/compiler/bindings/esm.debug.wat | 2278 +- tests/compiler/bindings/esm.release.wat | 2618 +- .../bindings/noExportRuntime.debug.wat | 285 +- .../bindings/noExportRuntime.release.wat | 193 +- tests/compiler/bindings/raw.debug.wat | 2278 +- tests/compiler/bindings/raw.release.wat | 2618 +- tests/compiler/builtins.debug.wat | 139 +- tests/compiler/builtins.release.wat | 251 +- tests/compiler/call-super.debug.wat | 732 +- tests/compiler/call-super.release.wat | 712 +- tests/compiler/class-extends.debug.wat | 57 +- tests/compiler/class-extends.release.wat | 90 +- tests/compiler/class-implements.debug.wat | 1526 +- tests/compiler/class-implements.release.wat | 1773 +- .../compiler/class-overloading-cast.debug.wat | 855 +- .../class-overloading-cast.release.wat | 469 +- tests/compiler/class-overloading.debug.wat | 1200 +- tests/compiler/class-overloading.release.wat | 825 +- tests/compiler/class.debug.wat | 352 +- tests/compiler/class.release.wat | 219 +- tests/compiler/constructor.debug.wat | 652 +- tests/compiler/constructor.release.wat | 159 +- tests/compiler/do.debug.wat | 31 +- tests/compiler/do.release.wat | 11 +- tests/compiler/duplicate-fields.debug.wat | 421 +- tests/compiler/duplicate-fields.release.wat | 150 +- .../compiler/exportstar-rereexport.debug.wat | 108 +- .../exportstar-rereexport.release.wat | 55 +- .../compiler/extends-baseaggregate.debug.wat | 696 +- .../extends-baseaggregate.release.wat | 140 +- tests/compiler/extends-recursive.debug.wat | 65 +- tests/compiler/extends-recursive.release.wat | 25 +- tests/compiler/field-initialization.debug.wat | 2204 +- .../compiler/field-initialization.release.wat | 999 +- tests/compiler/field.debug.wat | 215 +- tests/compiler/field.release.wat | 441 +- tests/compiler/for.debug.wat | 31 +- tests/compiler/for.release.wat | 11 +- tests/compiler/function-call.debug.wat | 195 +- tests/compiler/function-call.release.wat | 38 +- tests/compiler/function-expression.debug.wat | 236 +- .../compiler/function-expression.release.wat | 82 +- tests/compiler/function-types.debug.wat | 77 +- tests/compiler/function-types.release.wat | 11 +- tests/compiler/getter-call.debug.wat | 112 +- tests/compiler/getter-call.release.wat | 49 +- tests/compiler/infer-array.debug.wat | 2138 +- tests/compiler/infer-array.release.wat | 987 +- tests/compiler/infer-generic.debug.wat | 488 +- tests/compiler/infer-generic.release.wat | 246 +- tests/compiler/inlining.debug.wat | 349 +- tests/compiler/inlining.release.wat | 197 +- tests/compiler/instanceof.debug.wat | 2227 +- tests/compiler/instanceof.release.wat | 760 +- tests/compiler/issues/1095.debug.wat | 40 +- tests/compiler/issues/1095.release.wat | 32 +- tests/compiler/issues/1225.debug.wat | 121 +- tests/compiler/issues/1225.release.wat | 37 +- tests/compiler/issues/1699.debug.wat | 990 +- tests/compiler/issues/1699.release.wat | 939 +- tests/compiler/issues/1714.debug.wat | 85 +- tests/compiler/issues/1714.release.wat | 66 +- tests/compiler/issues/2166.debug.wat | 224 +- tests/compiler/issues/2166.release.wat | 300 +- tests/compiler/issues/2322/index.debug.wat | 82 +- tests/compiler/issues/2322/index.release.wat | 14 +- tests/compiler/logical.debug.wat | 71 +- tests/compiler/logical.release.wat | 11 +- tests/compiler/managed-cast.debug.wat | 464 +- tests/compiler/managed-cast.release.wat | 210 +- tests/compiler/new.debug.wat | 256 +- tests/compiler/new.release.wat | 118 +- tests/compiler/object-literal.debug.wat | 2237 +- tests/compiler/object-literal.release.wat | 1289 +- .../optional-typeparameters.debug.wat | 378 +- .../optional-typeparameters.release.wat | 104 +- tests/compiler/possibly-null.debug.wat | 130 +- tests/compiler/possibly-null.release.wat | 250 +- tests/compiler/reexport.debug.wat | 108 +- tests/compiler/reexport.release.wat | 39 +- tests/compiler/rereexport.debug.wat | 108 +- tests/compiler/rereexport.release.wat | 55 +- tests/compiler/resolve-access.debug.wat | 481 +- tests/compiler/resolve-access.release.wat | 231 +- tests/compiler/resolve-binary.debug.wat | 352 +- tests/compiler/resolve-binary.release.wat | 384 +- .../compiler/resolve-elementaccess.debug.wat | 993 +- .../resolve-elementaccess.release.wat | 895 +- .../resolve-function-expression.debug.wat | 169 +- .../resolve-function-expression.release.wat | 418 +- tests/compiler/resolve-localortype.debug.wat | 30 +- .../compiler/resolve-localortype.release.wat | 59 +- tests/compiler/resolve-new.debug.wat | 71 +- tests/compiler/resolve-new.release.wat | 11 +- .../compiler/resolve-propertyaccess.debug.wat | 239 +- .../resolve-propertyaccess.release.wat | 322 +- tests/compiler/resolve-ternary.debug.wat | 169 +- tests/compiler/resolve-ternary.release.wat | 304 +- tests/compiler/resolve-unary.debug.wat | 321 +- tests/compiler/resolve-unary.release.wat | 334 +- tests/compiler/return-unreachable.debug.wat | 88 +- tests/compiler/return-unreachable.release.wat | 124 +- tests/compiler/rt/finalize.debug.wat | 31 +- tests/compiler/rt/finalize.release.wat | 11 +- tests/compiler/simd.debug.wat | 314 +- tests/compiler/simd.release.wat | 465 +- tests/compiler/std/array-access.debug.wat | 657 +- tests/compiler/std/array-access.release.wat | 315 +- tests/compiler/std/array-literal.debug.wat | 1338 +- tests/compiler/std/array-literal.release.wat | 962 +- tests/compiler/std/array.debug.wat | 50537 ++--- tests/compiler/std/array.release.wat | 47097 ++--- tests/compiler/std/arraybuffer.debug.wat | 1219 +- tests/compiler/std/arraybuffer.release.wat | 825 +- tests/compiler/std/console.debug.wat | 192 +- tests/compiler/std/console.release.wat | 394 +- tests/compiler/std/dataview.debug.wat | 2353 +- tests/compiler/std/dataview.release.wat | 1886 +- tests/compiler/std/date.debug.wat | 12148 +- tests/compiler/std/date.release.wat | 7824 +- tests/compiler/std/hash.debug.wat | 396 +- tests/compiler/std/hash.release.wat | 177 +- tests/compiler/std/map.debug.wat | 40326 ++-- tests/compiler/std/map.release.wat | 36963 ++-- tests/compiler/std/new.debug.wat | 34 +- tests/compiler/std/new.release.wat | 34 +- .../std/operator-overloading.debug.wat | 2595 +- .../std/operator-overloading.release.wat | 1720 +- tests/compiler/std/set.debug.wat | 28169 +-- tests/compiler/std/set.release.wat | 22958 ++- tests/compiler/std/static-array.debug.wat | 1346 +- tests/compiler/std/static-array.release.wat | 1134 +- tests/compiler/std/staticarray.debug.wat | 7956 +- tests/compiler/std/staticarray.release.wat | 9155 +- .../compiler/std/string-casemapping.debug.wat | 5948 +- .../std/string-casemapping.release.wat | 5581 +- tests/compiler/std/string-encoding.debug.wat | 625 +- .../compiler/std/string-encoding.release.wat | 1262 +- tests/compiler/std/string-nonnull.debug.wat | 222 +- tests/compiler/std/string-nonnull.release.wat | 178 +- tests/compiler/std/string.debug.wat | 27642 +-- tests/compiler/std/string.release.wat | 41243 +++-- tests/compiler/std/symbol.debug.wat | 3452 +- tests/compiler/std/symbol.release.wat | 2357 +- tests/compiler/std/typedarray.debug.wat | 142270 +++++++++------ tests/compiler/std/typedarray.release.wat | 117452 ++++++------ tests/compiler/std/uri.debug.wat | 283 +- tests/compiler/std/uri.release.wat | 788 +- tests/compiler/super-inline.debug.wat | 147 +- tests/compiler/super-inline.release.wat | 75 +- tests/compiler/templateliteral.debug.wat | 1652 +- tests/compiler/templateliteral.release.wat | 1885 +- tests/compiler/typeof.debug.wat | 216 +- tests/compiler/typeof.release.wat | 317 +- tests/compiler/while.debug.wat | 31 +- tests/compiler/while.release.wat | 11 +- 160 files changed, 385353 insertions(+), 300107 deletions(-) diff --git a/tests/compiler/NonNullable.debug.wat b/tests/compiler/NonNullable.debug.wat index d6dc6935f6..b703901bc0 100644 --- a/tests/compiler/NonNullable.debug.wat +++ b/tests/compiler/NonNullable.debug.wat @@ -142,13 +142,44 @@ i32.const 0 return ) + (func $~start (type $none_=>_none) + call $start:NonNullable + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33152 + i32.const 33200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength 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 $0 local.get $left local.get $right 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 $left @@ -163,40 +194,117 @@ 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/string/String#get:length local.set $leftLength local.get $leftLength local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 local.get $leftLength 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 return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) (func $NonNullable/assertNonNull<~lib/string/String> (type $i32_=>_none) (param $t 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 $0 i32.const 0 i32.eqz drop local.get $t + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 call $~lib/string/String.__ne i32.eqz @@ -208,31 +316,42 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $NonNullable/safetyCheck<~lib/string/String|null> (type $i32_=>_none) (param $t 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 $0 local.get $t + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 call $~lib/string/String.__ne if local.get $t + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $NonNullable/assertNonNull<~lib/string/String> end - ) - (func $~start (type $none_=>_none) - call $start:NonNullable - ) - (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33152 - i32.const 33200 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:NonNullable (type $none_=>_none) (local $0 i32) diff --git a/tests/compiler/NonNullable.release.wat b/tests/compiler/NonNullable.release.wat index f94b1bdd09..3ae8a7f85a 100644 --- a/tests/compiler/NonNullable.release.wat +++ b/tests/compiler/NonNullable.release.wat @@ -1,7 +1,8 @@ (module - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $none_=>_i32 (func_subtype (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34156)) (memory $0 1) @@ -19,127 +20,294 @@ (data (i32.const 1272) "\02\00\00\00^\00\00\00U\00n\00e\00x\00p\00e\00c\00t\00e\00d\00 \00\'\00n\00u\00l\00l\00\'\00 \00(\00n\00o\00t\00 \00a\00s\00s\00i\00g\00n\00e\00d\00 \00o\00r\00 \00f\00a\00i\00l\00e\00d\00 \00c\00a\00s\00t\00)") (export "memory" (memory $0)) (start $~start) + (func $~start (type $none_=>_none) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1388 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 1056 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + i32.const 1056 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 3 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1136 + i32.store $0 + local.get $0 + i32.const 1136 + i32.store $0 offset=4 + i32.const 1136 + i32.const 1136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 4 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1168 + i32.store $0 + local.get $0 + i32.const 1168 + i32.store $0 offset=4 + i32.const 1168 + i32.const 1168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1248 + i32.store $0 offset=8 + local.get $0 + i32.const 1248 + i32.store $0 + call $NonNullable/assertNonNull<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 1248 + i32.store $0 + 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 1388 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1248 + i32.store $0 + call $~lib/string/String.__ne + if + global.get $~lib/memory/__stack_pointer + i32.const 1248 + i32.store $0 + call $NonNullable/assertNonNull<~lib/string/String> + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34176 + i32.const 34224 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1388 + i32.lt_s if + i32.const 34176 + i32.const 34224 i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne + i32.eq if - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 return end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 local.get $2 - i32.const 8 - i32.add - local.set $2 + i64.load $0 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-loop|0 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end end end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end end + i32.const 0 + local.set $3 end - 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 + i32.eqz + return end - local.get $3 - i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~start (type $none_=>_none) + (func $~lib/string/String.__ne (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -158,100 +326,59 @@ i64.const 0 i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 1056 + i32.const 1248 i32.store $0 local.get $0 - i32.const 1056 + i32.const 0 i32.store $0 offset=4 - i32.const 1056 - i32.const 1056 + i32.const 1248 + i32.const 0 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 3 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1136 - i32.store $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1136 - i32.store $0 offset=4 - i32.const 1136 - i32.const 1136 - call $~lib/string/String.__eq - i32.eqz + ) + (func $NonNullable/assertNonNull<~lib/string/String> (type $none_=>_none) + (local $0 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 1388 + i32.lt_s if - i32.const 0 - i32.const 1088 - i32.const 4 + i32.const 34176 + i32.const 34224 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1168 + i32.const 0 i32.store $0 local.get $0 - i32.const 1168 - i32.store $0 offset=4 - i32.const 1168 - i32.const 1168 - call $~lib/string/String.__eq + i32.const 1248 + i32.store $0 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 1088 - i32.const 5 - i32.const 1 + i32.const 9 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1248 - i32.store $0 offset=8 - local.get $0 - i32.const 1248 - i32.store $0 - block $folding-inner0 - i32.const 1248 - i32.const 0 - call $~lib/string/String.__eq - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1248 - i32.store $0 - i32.const 1248 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 1248 - i32.const 0 - call $~lib/string/String.__eq - br_if $folding-inner0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 0 - i32.const 1088 - i32.const 9 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) ) diff --git a/tests/compiler/assert-nonnull.debug.wat b/tests/compiler/assert-nonnull.debug.wat index 141667b2a1..7df6b2a764 100644 --- a/tests/compiler/assert-nonnull.debug.wat +++ b/tests/compiler/assert-nonnull.debug.wat @@ -33,22 +33,6 @@ (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 (type $i32_=>_i32) (param $n i32) (result i32) - (local $1 i32) - local.get $n - local.tee $1 - if (result i32) - local.get $1 - else - i32.const 32 - i32.const 160 - i32.const 2 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - return - ) (func $assert-nonnull/Foo#get:bar (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -69,26 +53,6 @@ local.get $this i32.load $0 offset=4 ) - (func $assert-nonnull/testFn (type $i32_=>_i32) (param $fn i32) (result i32) - (local $1 i32) - i32.const 0 - global.set $~argumentsLength - local.get $fn - local.tee $1 - if (result i32) - local.get $1 - else - i32.const 32 - i32.const 160 - i32.const 35 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - i32.load $0 - call_indirect $0 (type $none_=>_i32) - return - ) (func $assert-nonnull/Foo#get:baz (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -110,15 +74,18 @@ (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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 + i32.store $0 offset=4 + local.get $1 if (result i32) local.get $1 else @@ -137,25 +104,135 @@ call $assert-nonnull/Foo#get:bar local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 return ) - (func $assert-nonnull/testArr (type $i32_=>_i32) (param $foo i32) (result i32) + (func $assert-nonnull/testProp (type $i32_=>_i32) (param $foo i32) (result 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 - i32.const 0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + local.get $foo + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 + local.get $2 + call $assert-nonnull/Foo#get:bar + local.tee $1 + i32.store $0 offset=4 + local.get $1 + if (result i32) + local.get $1 + else + i32.const 32 + i32.const 160 + i32.const 15 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 288 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 336 + i32.const 288 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $assert-nonnull/testArr (type $i32_=>_i32) (param $foo 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 $0 + global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 + i32.store $0 offset=4 + local.get $1 if (result i32) local.get $1 else @@ -175,7 +252,105 @@ call $~lib/array/Array#__get local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 288 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $assert-nonnull/testElem (type $i32_=>_i32) (param $foo 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $foo + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + i32.const 0 + call $~lib/array/Array#__get + local.tee $1 + i32.store $0 offset=4 + local.get $1 + if (result i32) + local.get $1 + else + i32.const 32 + i32.const 160 + 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.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -187,20 +362,21 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 + i32.const 0 + i32.const 20 + memory.fill $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 + i32.store $0 offset=8 + local.get $1 if (result i32) local.get $1 else @@ -219,7 +395,7 @@ i32.const 0 call $~lib/array/Array#__get local.tee $2 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $2 if (result i32) local.get $2 @@ -238,7 +414,7 @@ local.get $4 call $assert-nonnull/Foo#get:bar local.tee $3 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $3 if (result i32) local.get $3 @@ -252,7 +428,7 @@ end local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -264,20 +440,21 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 + i32.const 0 + i32.const 20 + memory.fill $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $foo local.tee $1 + i32.store $0 offset=8 + local.get $1 if (result i32) local.get $1 else @@ -296,7 +473,7 @@ i32.const 0 call $~lib/array/Array#__get local.tee $2 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $2 if (result i32) local.get $2 @@ -315,7 +492,7 @@ local.get $4 call $assert-nonnull/Foo#get:bar local.tee $3 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $3 if (result i32) local.get $3 @@ -329,191 +506,121 @@ end local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $4 return ) - (func $assert-nonnull/testProp (type $i32_=>_i32) (param $foo i32) (result i32) + (func $assert-nonnull/testObjFn (type $i32_=>_i32) (param $foo i32) (result 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 $0 i32.const 0 - i32.store $0 + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer local.get $foo - call $assert-nonnull/Foo#get:bar - local.tee $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 + local.get $2 + call $assert-nonnull/Foo#get:baz + local.tee $1 + i32.store $0 offset=4 local.get $1 if (result i32) local.get $1 else i32.const 32 i32.const 160 - i32.const 15 + i32.const 48 i32.const 10 call $~lib/builtins/abort unreachable end + i32.load $0 + call_indirect $0 (type $none_=>_i32) local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 return ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) + (func $assert-nonnull/testObjRet (type $i32_=>_i32) (param $foo i32) (result i32) + (local $1 i32) + (local $2 i32) (local $3 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 - i32.const 0 - i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 288 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 336 - i32.const 288 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - 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#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 288 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $value + local.get $foo 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 $assert-nonnull/testElem (type $i32_=>_i32) (param $foo 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 $0 - global.get $~lib/memory/__stack_pointer - local.get $foo - i32.const 0 - call $~lib/array/Array#__get + local.get $3 + call $assert-nonnull/Foo#get:baz local.tee $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 if (result i32) local.get $1 else i32.const 32 i32.const 160 - i32.const 23 + i32.const 52 i32.const 10 call $~lib/builtins/abort unreachable end - local.set $2 + i32.load $0 + call_indirect $0 (type $none_=>_i32) + local.tee $2 + i32.store $0 offset=8 + local.get $2 + if (result i32) + local.get $2 + else + i32.const 32 + i32.const 160 + i32.const 52 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return ) - (func $assert-nonnull/testFn2 (type $i32_=>_i32) (param $fn i32) (result i32) + (func $assert-nonnull/testVar (type $i32_=>_i32) (param $n i32) (result i32) (local $1 i32) - (local $fn2 i32) - (local $3 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -523,37 +630,31 @@ i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $fn + local.get $n local.tee $1 + i32.store $0 + local.get $1 if (result i32) local.get $1 else i32.const 32 i32.const 160 - i32.const 39 - i32.const 13 + i32.const 2 + i32.const 10 call $~lib/builtins/abort unreachable end - local.tee $fn2 - i32.store $0 - i32.const 0 - global.set $~argumentsLength - local.get $fn2 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return ) - (func $assert-nonnull/testRet (type $i32_=>_i32) (param $fn i32) (result i32) + (func $assert-nonnull/testFn (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -562,60 +663,48 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer local.get $fn local.tee $1 + i32.store $0 + local.get $1 if (result i32) local.get $1 else i32.const 32 i32.const 160 - i32.const 44 + i32.const 35 i32.const 10 call $~lib/builtins/abort unreachable end i32.load $0 call_indirect $0 (type $none_=>_i32) - local.tee $2 - i32.store $0 - local.get $2 - if (result i32) - local.get $2 - else - i32.const 32 - i32.const 160 - i32.const 44 - i32.const 10 - call $~lib/builtins/abort - unreachable - end - local.set $3 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 return ) - (func $assert-nonnull/testObjFn (type $i32_=>_i32) (param $foo i32) (result i32) + (func $assert-nonnull/testFn2 (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) - (local $2 i32) + (local $fn2 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 $0 - i32.const 0 - global.set $~argumentsLength + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $foo - call $assert-nonnull/Foo#get:baz + global.get $~lib/memory/__stack_pointer + local.get $fn local.tee $1 i32.store $0 local.get $1 @@ -624,22 +713,27 @@ else i32.const 32 i32.const 160 - i32.const 48 - i32.const 10 + i32.const 39 + i32.const 13 call $~lib/builtins/abort unreachable end + local.tee $fn2 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + local.get $fn2 i32.load $0 call_indirect $0 (type $none_=>_i32) - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 return ) - (func $assert-nonnull/testObjRet (type $i32_=>_i32) (param $foo i32) (result i32) + (func $assert-nonnull/testRet (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) @@ -655,8 +749,7 @@ i32.const 0 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $foo - call $assert-nonnull/Foo#get:baz + local.get $fn local.tee $1 i32.store $0 local.get $1 @@ -665,7 +758,7 @@ else i32.const 32 i32.const 160 - i32.const 52 + i32.const 44 i32.const 10 call $~lib/builtins/abort unreachable @@ -680,7 +773,7 @@ else i32.const 32 i32.const 160 - i32.const 52 + i32.const 44 i32.const 10 call $~lib/builtins/abort unreachable diff --git a/tests/compiler/assert-nonnull.release.wat b/tests/compiler/assert-nonnull.release.wat index 6152e7cb36..02f150ca77 100644 --- a/tests/compiler/assert-nonnull.release.wat +++ b/tests/compiler/assert-nonnull.release.wat @@ -32,7 +32,7 @@ (func $~lib/array/Array#__get (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -47,7 +47,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $0 i32.load $0 offset=12 @@ -63,50 +67,76 @@ global.get $~lib/memory/__stack_pointer local.tee $1 local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=4 i32.load $0 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $1 - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $export:assert-nonnull/testVar (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1468 - i32.lt_s - if - i32.const 34256 - i32.const 34304 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 1056 - i32.const 1184 - i32.const 2 - i32.const 10 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.eqz + if + i32.const 1056 + i32.const 1184 + i32.const 2 + i32.const 10 + 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 + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34256 + i32.const 34304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:assert-nonnull/testObj (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -124,7 +154,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -132,8 +162,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -152,7 +186,7 @@ i32.load $0 local.set $0 local.get $1 - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -185,7 +219,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -194,13 +228,16 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $1 local.get $0 i32.load $0 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -212,7 +249,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -245,7 +282,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -253,8 +290,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -270,7 +311,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -278,7 +319,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $0 i32.load $0 offset=12 @@ -292,11 +337,15 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 local.get $0 i32.load $0 offset=4 i32.load $0 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -308,11 +357,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -345,7 +394,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -354,13 +403,16 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $1 local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -372,7 +424,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -406,7 +458,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -415,11 +467,12 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 20 + memory.fill $0 local.get $1 - i64.const 0 - i64.store $0 offset=8 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.eqz br_if $folding-inner1 @@ -430,7 +483,7 @@ local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $0 i32.eqz br_if $folding-inner1 @@ -441,12 +494,12 @@ local.get $0 i32.load $0 local.tee $0 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -487,7 +540,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -496,11 +549,12 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 20 + memory.fill $0 local.get $1 - i64.const 0 - i64.store $0 offset=8 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.eqz br_if $folding-inner1 @@ -511,7 +565,7 @@ local.get $0 call $~lib/array/Array#__get local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $0 i32.eqz br_if $folding-inner1 @@ -522,12 +576,12 @@ local.get $0 i32.load $0 local.tee $0 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $0 i32.eqz br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -552,38 +606,56 @@ unreachable ) (func $export:assert-nonnull/testFn (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1468 - i32.lt_s - if - i32.const 34256 - i32.const 34304 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 1056 - i32.const 1184 - i32.const 35 - i32.const 10 - call $~lib/builtins/abort + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1468 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.eqz + if + i32.const 1056 + i32.const 1184 + i32.const 35 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.load $0 + call_indirect $0 (type $none_=>_i32) + drop unreachable end - local.get $0 - i32.load $0 - call_indirect $0 (type $none_=>_i32) - drop + i32.const 34256 + i32.const 34304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort unreachable ) (func $export:assert-nonnull/testFn2 (type $i32_=>_i32) (param $0 i32) (result i32) @@ -602,7 +674,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -611,7 +683,10 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $0 i32.eqz @@ -625,7 +700,7 @@ end local.get $1 local.get $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.load $0 call_indirect $0 (type $none_=>_i32) @@ -656,7 +731,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -664,7 +739,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $0 i32.eqz @@ -705,7 +784,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -714,13 +793,16 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $1 local.get $0 i32.load $0 offset=4 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -761,7 +843,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -773,10 +855,16 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 local.get $0 i32.load $0 offset=4 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz br_if $folding-inner1 diff --git a/tests/compiler/bindings/esm.debug.wat b/tests/compiler/bindings/esm.debug.wat index d23c38aa24..79240836e1 100644 --- a/tests/compiler/bindings/esm.debug.wat +++ b/tests/compiler/bindings/esm.debug.wat @@ -13,10 +13,10 @@ (type $f64_=>_f64 (func_subtype (param f64) (result f64) func)) (type $i64_i64_=>_i64 (func_subtype (param i64 i64) (result i64) func)) (type $none_=>_i64 (func_subtype (result i64) func)) - (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) + (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2355,24 +2355,6 @@ i32.shr_u return ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return - ) - (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - call $~lib/string/String.__concat - return - ) - (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - call $~lib/string/String.__concat - return - ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) (local $parent i32) @@ -2464,96 +2446,10 @@ local.get $this i32.load $0 offset=8 ) - (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - return - ) - (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - return - ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - return - ) (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 @@ -2563,32 +2459,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 528 - i32.const 832 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this local.get $index @@ -2600,24 +2470,6 @@ i32.const 0 drop ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 528 - i32.const 832 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - local.get $value - call $~lib/staticarray/StaticArray#__uset - ) (func $bindings/esm/staticarrayU16 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a return @@ -2654,42 +2506,10 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 528 - i32.const 896 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2744,143 +2564,6 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 224 - i32.const 896 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 528 - i32.const 896 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) (func $bindings/esm/PlainObject#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this local.get $a @@ -3161,12 +2844,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3194,14 +2871,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3257,48 +2926,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3479,64 +3106,33 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer 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 $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 224 - i32.const 272 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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 $bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) (local $bByteLength i32) (local $out 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 $0 + i64.const 0 + i64.store $0 local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $aByteLength local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bByteLength global.get $~lib/memory/__stack_pointer @@ -3546,7 +3142,7 @@ i32.add call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $out - i32.store $0 + i32.store $0 offset=4 local.get $out local.get $a local.get $aByteLength @@ -3560,7 +3156,7 @@ local.get $out 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 $5 @@ -3573,19 +3169,29 @@ (local $out 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/string/String#get:length i32.const 1 i32.shl local.set $thisSize local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -3601,7 +3207,7 @@ i32.const 736 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 $6 @@ -3612,7 +3218,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store $0 offset=4 local.get $out local.get $this local.get $thisSize @@ -3626,50 +3232,45 @@ local.get $out 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 $6 return ) - (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - 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 - i32.const 64 - local.tee $b - i32.store $0 - end - local.get $a - local.get $b - call $bindings/esm/stringFunctionOptional + local.get $2 + local.get $right local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 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 + return ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer i32) - (local $4 i32) + (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3678,23 +3279,152 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 + i32.const 64 + local.tee $b + i32.store $0 + end + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $bindings/esm/stringFunctionOptional + 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/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length @@ -3718,24 +3448,44 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $this local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -3743,13 +3493,13 @@ (func $~lib/typedarray/Uint64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -3762,6 +3512,11 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -3770,16 +3525,13 @@ local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $out i32) - (local $i i32) - (local $i|4 i32) - (local $5 i32) + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3788,76 +3540,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $a - call $~lib/typedarray/Int16Array#get:length - local.get $b - call $~lib/typedarray/Float32Array#get:length - i32.add - call $~lib/typedarray/Uint64Array#constructor - local.tee $out + local.get $1 i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $a - call $~lib/typedarray/Int16Array#get:length - i32.lt_s - if - local.get $out - local.get $i - local.get $a - local.get $i - call $~lib/typedarray/Int16Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - local.set $i|4 - loop $for-loop|1 - local.get $i|4 - local.get $b - call $~lib/typedarray/Float32Array#get:length - i32.lt_s - if - local.get $out - local.get $a - call $~lib/typedarray/Int16Array#get:length - local.get $i|4 - i32.add - local.get $b - local.get $i|4 - call $~lib/typedarray/Float32Array#__get - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $i|4 - i32.const 1 - i32.add - local.set $i|4 - br $for-loop|1 - end - end - local.get $out - local.set $5 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $1 return ) - (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $outSize i32) - (local $out i32) - (local $4 i32) + (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3866,79 +3567,235 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1073741820 - i32.const 2 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 i32.shr_u - i32.gt_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u if - i32.const 224 - i32.const 832 - i32.const 51 - i32.const 60 + i32.const 528 + i32.const 768 + i32.const 452 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $length - i32.const 2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 1 i32.shl - local.set $outSize + i32.add + i32.load16_s $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 528 + i32.const 768 + i32.const 1173 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $out - local.set $4 + i32.shr_u + i32.ge_u + if + i32.const 528 + i32.const 768 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 return ) - (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $c i32) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $out i32) (local $i i32) (local $i|4 i32) (local $5 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Int16Array#get:length local.get $b - call $~lib/staticarray/StaticArray#get:length - i32.add - call $~lib/staticarray/StaticArray#constructor - local.tee $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.add + call $~lib/typedarray/Uint64Array#constructor + local.tee $out + i32.store $0 offset=4 i32.const 0 local.set $i loop $for-loop|0 local.get $i local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Int16Array#get:length i32.lt_s if - local.get $c + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $i local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set + call $~lib/typedarray/Int16Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $i i32.const 1 i32.add @@ -3951,18 +3808,39 @@ loop $for-loop|1 local.get $i|4 local.get $b - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Float32Array#get:length i32.lt_s if - local.get $c + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/typedarray/Int16Array#get:length local.get $i|4 i32.add local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i|4 - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set + call $~lib/typedarray/Float32Array#__get + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set local.get $i|4 i32.const 1 i32.add @@ -3970,142 +3848,167 @@ br $for-loop|1 end end - local.get $c + local.get $out local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store $0 + local.get $index local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u if - i32.const 224 - i32.const 896 - i32.const 70 - i32.const 60 + i32.const 528 + i32.const 832 + i32.const 78 + i32.const 41 call $~lib/builtins/abort unreachable end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select + local.get $this + local.get $index i32.const 2 i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.add + i32.load $0 + local.set $value + i32.const 0 drop + local.get $value + 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/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 528 + i32.const 832 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end local.get $this - local.set $6 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $index + local.get $value + call $~lib/staticarray/StaticArray#__uset + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) (local $i|4 i32) (local $5 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length local.get $b - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.add - call $~lib/array/Array#constructor + call $~lib/staticarray/StaticArray#constructor local.tee $c - i32.store $0 + i32.store $0 offset=4 i32.const 0 local.set $i loop $for-loop|0 local.get $i local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.lt_s if local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $i local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i - call $~lib/array/Array#__get - call $~lib/array/Array#__set + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set local.get $i i32.const 1 i32.add @@ -4118,18 +4021,38 @@ loop $for-loop|1 local.get $i|4 local.get $b - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.lt_s if local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/staticarray/StaticArray#get:length local.get $i|4 i32.add local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i|4 - call $~lib/array/Array#__get - call $~lib/array/Array#__set + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set local.get $i|4 i32.const 1 i32.add @@ -4140,123 +4063,177 @@ local.get $c local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 return ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 + i32.const 16 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this 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.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.store $0 + call $~lib/array/Array#set:buffer local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:i + call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:j + call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - f64.const 0 - call $bindings/esm/PlainObject#set:m + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 896 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:n + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:o + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - call $bindings/esm/PlainObject#set:p + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) - (func $bindings/esm/objectFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $ref i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4266,26 +4243,39 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $bindings/esm/PlainObject#constructor - local.tee $ref + local.get $3 i32.store $0 - local.get $ref - local.get $a - call $bindings/esm/PlainObject#get:a - local.get $b - call $bindings/esm/PlainObject#get:a - i32.add - call $bindings/esm/PlainObject#set:a - local.get $ref - local.get $a - call $bindings/esm/PlainObject#get:b - local.get $b - call $bindings/esm/PlainObject#get:b + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 528 + i32.const 896 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl i32.add - call $bindings/esm/PlainObject#set:b - local.get $ref + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4294,6 +4284,794 @@ local.get $3 return ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 896 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 528 + i32.const 896 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $c i32) + (local $i i32) + (local $i|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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.add + call $~lib/array/Array#constructor + local.tee $c + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $i + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + local.get $i + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $i|4 + loop $for-loop|1 + local.get $i|4 + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/array/Array#get:length + local.get $i|4 + i32.add + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + local.get $i|4 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $i|4 + i32.const 1 + i32.add + local.set $i|4 + br $for-loop|1 + end + end + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:b + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:c + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:d + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:e + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:f + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:g + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:h + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:i + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:j + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:k + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 0 + call $bindings/esm/PlainObject#set:l + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $bindings/esm/PlainObject#set:m + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:n + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:o + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:p + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $bindings/esm/objectFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $ref 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $bindings/esm/PlainObject#constructor + local.tee $ref + i32.store $0 + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $a + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:a + local.get $b + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:a + i32.add + call $bindings/esm/PlainObject#set:a + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $a + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:b + local.get $b + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:b + i32.add + call $bindings/esm/PlainObject#set:b + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer 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 $0 + local.get $length + i32.const 1073741820 + i32.gt_u + if + i32.const 224 + i32.const 272 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $outSize i32) + (local $out 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 $0 + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 832 + i32.const 51 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + i32.const 2 + i32.shl + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $out + 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/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $bindings/esm/NonPlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/esm.release.wat b/tests/compiler/bindings/esm.release.wat index e4bce4e2b2..37e2944123 100644 --- a/tests/compiler/bindings/esm.release.wat +++ b/tests/compiler/bindings/esm.release.wat @@ -1,11 +1,11 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func_subtype (param i32 i32 f64 f64 f64 f64 f64) func)) (type $f64_=>_f64 (func_subtype (param f64) (result f64) func)) (type $i64_i64_=>_i64 (func_subtype (param i64 i64) (result i64) func)) @@ -1616,10 +1616,8 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) + (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1636,294 +1634,363 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 i32.store $0 - block $__inlined_func$~lib/string/String#concat + local.get $0 + i32.const 0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 + local.tee $1 + i32.load $0 offset=4 + i32.const 3 i32.and - local.tee $4 - i32.add - local.tee $2 - i32.eqz + i32.const 3 + i32.eq if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1760 - local.set $2 - br $__inlined_func$~lib/string/String#concat + i32.const 1968 + i32.const 1424 + i32.const 338 + i32.const 7 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/rt/itcms/Object#unlink + global.get $~lib/rt/itcms/pinSpace + local.tee $3 + i32.load $0 offset=8 + local.set $2 + local.get $1 + local.get $3 + i32.const 3 + i32.or + i32.store $0 offset=4 + local.get $1 local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + i32.store $0 offset=8 local.get $2 - local.get $0 - local.get $3 - memory.copy $0 $0 + local.get $1 local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 local.get $3 - i32.add local.get $1 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 offset=8 end - local.get $2 + local.get $0 ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 + (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i32.eqz if - i32.const 1552 - i32.const 1792 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort - unreachable + return end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store $0 - ) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u + local.tee $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne if - i32.const 1552 - i32.const 1856 - i32.const 78 - i32.const 41 + i32.const 2032 + i32.const 1424 + i32.const 352 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq if - i32.const 1552 - i32.const 1856 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + local.get $1 + call $~lib/rt/itcms/Object#unlink + global.get $~lib/rt/itcms/fromSpace + local.tee $0 + i32.load $0 offset=8 + local.set $2 + local.get $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.or + i32.store $0 offset=4 + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + (func $~lib/rt/itcms/__collect (type $none_=>_none) + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - i32.const 1552 - i32.const 1920 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl + 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 - i32.load $0 + global.set $~lib/rt/itcms/threshold ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1552 - i32.const 1920 - i32.const 130 - i32.const 22 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $bindings/esm/NonPlainObject + block $~lib/array/Array<~lib/string/String> + block $bindings/esm/PlainObject + block $~lib/array/Array + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/function/Function<%28%29=>void> + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner1 $folding-inner1 $folding-inner1 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner1 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return + end + return + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + return + end + return + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner2 + end + local.get $0 + i32.load $0 offset=56 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=60 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=64 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner2 + end + return + end + unreachable + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 - i32.add - local.tee $5 local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.shr_u - i32.gt_u + i32.load $0 + local.tee $0 if - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $4 - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 - local.get $3 - local.get $4 - i32.lt_u - select - local.tee $6 - local.get $0 - i32.load $0 - local.tee $3 - i32.const 20 - i32.sub - local.tee $5 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $5 - local.get $6 - i32.store $0 offset=16 - local.get $3 - local.set $4 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $6 - local.get $5 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $4 - local.get $3 - local.get $6 - local.get $5 - i32.load $0 offset=16 - local.tee $5 - local.get $5 - local.get $6 - i32.gt_u - select - memory.copy $0 $0 - end - local.get $3 - local.get $4 - i32.ne - if - local.get $0 - local.get $4 - i32.store $0 - local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end local.get $0 - local.get $6 - i32.store $0 offset=8 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store $0 offset=12 + return end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) + (func $~setArgumentsLength (type $i32_=>_none) (param $0 i32) + local.get $0 + global.set $~argumentsLength + ) + (func $~start (type $none_=>_none) (local $0 i32) + global.get $~started + if + return + end + i32.const 1 + global.set $~started global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1944,299 +2011,795 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 0 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 1152 + i32.store $0 + i32.const 1152 + i32.const 1 + f64.const 42 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 1184 i32.store $0 + i32.const 1184 + call $~lib/bindings/dom/console.log + global.get $~lib/bindings/dom/Math.E + call $~lib/bindings/dom/Math.log + drop + call $bindings/esm/Date_getTimezoneOffset + drop global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34916 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1476 + i32.const 1472 + i32.store $0 + i32.const 1480 + i32.const 1472 + i32.store $0 + i32.const 1472 + global.set $~lib/rt/itcms/pinSpace + i32.const 1508 + i32.const 1504 + i32.store $0 + i32.const 1512 + i32.const 1504 + i32.store $0 + i32.const 1504 + global.set $~lib/rt/itcms/toSpace + i32.const 1652 + i32.const 1648 + i32.store $0 + i32.const 1656 + i32.const 1648 + i32.store $0 + i32.const 1648 + global.set $~lib/rt/itcms/fromSpace ) - (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 - if + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.eq - if - i32.const 1968 - i32.const 1424 - i32.const 338 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/rt/itcms/Object#unlink - global.get $~lib/rt/itcms/pinSpace - local.tee $3 - i32.load $0 offset=8 - local.set $2 + i32.store $0 + local.get $2 local.get $1 - local.get $3 - i32.const 3 - i32.or i32.store $0 offset=4 - local.get $1 local.get $2 - i32.store $0 offset=8 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $2 local.get $1 + i32.store $0 offset=4 local.get $2 - i32.load $0 offset=4 - i32.const 3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 i32.and - i32.or - i32.store $0 offset=4 - local.get $3 + local.set $3 + local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store $0 + block $__inlined_func$~lib/string/String#concat + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $4 + local.get $3 + i32.add + 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 1760 + local.set $2 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + local.get $3 + memory.copy $0 $0 + local.get $2 + local.get $3 + i32.add + local.get $1 + local.get $4 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + 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 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return end - local.get $0 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $0 i32) + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - local.get $0 - i32.eqz + 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 2148 + i32.lt_s if - return + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - i32.const 20 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.ne + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - i32.const 2032 - i32.const 1424 - i32.const 352 - i32.const 5 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - local.get $1 - call $~lib/rt/itcms/Object#unlink - global.get $~lib/rt/itcms/fromSpace - local.tee $0 - i32.load $0 offset=8 - local.set $2 - local.get $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - i32.gt_s + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u 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 + i32.const 1552 + i32.const 1792 + i32.const 1173 + i32.const 64 + call $~lib/builtins/abort + unreachable 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 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/rt/itcms/threshold + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - block $folding-inner0 - block $invalid - block $bindings/esm/NonPlainObject - block $~lib/array/Array<~lib/string/String> - block $bindings/esm/PlainObject - block $~lib/array/Array - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/function/Function<%28%29=>void> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=64 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return + (local $4 f32) + (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $2 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 offset=4 + local.get $5 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $8 + i64.const 0 + i64.store $0 + local.get $8 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $2 + local.get $6 + i32.store $0 + local.get $6 + if + local.get $2 + local.get $6 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=4 + local.get $9 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + local.get $2 + i32.store $0 offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 452 + i32.const 64 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $5 local.get $0 - i32.load $0 offset=4 - local.tee $1 + i32.store $0 local.get $0 - i32.load $0 offset=12 - i32.const 2 + i32.load $0 offset=4 + local.get $3 + i32.const 1 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end + i32.load16_s $0 + local.set $6 + local.get $5 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + local.get $6 + 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 + i32.const 0 + local.set $3 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 + local.get $5 local.get $0 - i32.load $0 - local.tee $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + 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 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i32.const 0 + i32.store $0 + local.get $6 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 1552 + i32.const 1792 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable end - return + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $4 + local.get $6 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $5 + local.get $4 + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 end - return end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1856 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort unreachable end local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add i32.load $0 - local.tee $0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1856 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~setArgumentsLength (type $i32_=>_none) (param $0 i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - global.set $~argumentsLength ) - (func $~start (type $none_=>_none) - (local $0 i32) - global.get $~started - if - return - end - i32.const 1 - global.set $~started + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2253,76 +2816,250 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 0 i32.store $0 + local.get $2 local.get $0 - i32.const 1152 i32.store $0 - i32.const 1152 - i32.const 1 - f64.const 42 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1552 + i32.const 1920 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 1184 + local.tee $2 + local.get $0 i32.store $0 - i32.const 1184 - call $~lib/bindings/dom/console.log - global.get $~lib/bindings/dom/Math.E - call $~lib/bindings/dom/Math.log - drop - call $bindings/esm/Date_getTimezoneOffset - drop - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 - i32.const 16 - i32.shl - i32.const 34916 + local.get $0 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 4 i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1552 + i32.const 1920 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.tee $6 + local.set $3 + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $3 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + local.get $4 + i32.const 1073741820 + i32.ge_u + select + local.tee $4 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + local.get $3 + local.get $4 + i32.lt_u + select + local.tee $5 + local.get $0 + i32.load $0 + local.tee $4 + i32.const 20 + i32.sub + local.tee $7 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $7 + local.get $5 + i32.store $0 offset=16 + local.get $4 + local.set $3 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $5 + local.get $7 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $3 + local.get $4 + local.get $5 + local.get $7 + i32.load $0 offset=16 + local.tee $7 + local.get $5 + local.get $7 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $3 + local.get $4 + i32.ne + if + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $5 + i32.store $0 offset=8 + end + 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 $0 + local.get $0 + local.get $6 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34944 + i32.const 34992 i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1476 - i32.const 1472 - i32.store $0 - i32.const 1480 - i32.const 1472 - i32.store $0 - i32.const 1472 - global.set $~lib/rt/itcms/pinSpace - i32.const 1508 - i32.const 1504 - i32.store $0 - i32.const 1512 - i32.const 1504 - i32.store $0 - i32.const 1504 - global.set $~lib/rt/itcms/toSpace - i32.const 1652 - i32.const 1648 - i32.store $0 - i32.const 1656 - i32.const 1648 - i32.store $0 - i32.const 1648 - global.set $~lib/rt/itcms/fromSpace + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2331,40 +3068,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $0 i32.store $0 local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.add + call $~lib/array/Array#get:length local.set $3 - local.get $6 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 + local.get $1 i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2372,111 +3097,131 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $3 i64.const 0 i64.store $0 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - end - local.get $2 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=4 - local.get $2 + local.get $3 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=8 local.get $3 - i32.const 134217727 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $4 + i32.const 268435455 i32.gt_u if i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 + i32.const 1920 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 3 + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - local.get $2 - local.tee $3 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $5 + local.get $6 i32.store $0 - local.get $7 + local.get $6 if - local.get $3 - local.get $7 + local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 i32.store $0 offset=4 + local.get $8 + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $3 - local.get $4 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $8 local.get $5 - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=12 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $3 - i32.store $0 - i32.const 0 - local.set $2 + local.get $7 + local.get $5 + i32.store $0 offset=4 loop $for-loop|0 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.lt_s + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s if - local.get $2 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $5 local.get $2 local.get $0 - i32.load $0 offset=4 local.get $2 - i32.const 1 - i32.shl - i32.add - i64.load16_s $0 - call $~lib/typedarray/Uint64Array#__set + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 i32.const 1 i32.add @@ -2487,45 +3232,35 @@ i32.const 0 local.set $2 loop $for-loop|1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.lt_s + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s if - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.add - local.set $4 + i32.store $0 offset=8 + local.get $0 + call $~lib/array/Array#get:length local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $5 local.get $3 - local.get $4 local.get $1 - i32.load $0 offset=4 local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load $0 - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 i32.const 1 i32.add @@ -2534,10 +3269,10 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return end i32.const 34944 @@ -2569,7 +3304,7 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2577,22 +3312,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 - local.tee $2 + local.set $4 + local.get $3 + local.get $1 + i32.store $0 local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 - local.tee $3 + local.tee $2 + local.get $4 i32.add local.set $5 - local.get $4 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2624,21 +3366,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 local.get $5 - i32.store $0 + i32.store $0 offset=4 local.get $5 local.get $0 - local.get $2 + local.get $4 memory.copy $0 $0 - local.get $2 + local.get $4 local.get $5 i32.add local.get $1 - local.get $3 + local.get $2 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2681,7 +3423,7 @@ i32.store $0 offset=4 local.get $0 local.get $1 - call $~lib/string/String.__concat + call $bindings/esm/stringFunction local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2708,7 +3450,7 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2716,8 +3458,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - i32.store $0 + i32.store $0 offset=8 block $1of1 block $0of1 block $outOfRange @@ -2734,12 +3480,19 @@ i32.const 1088 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 local.get $0 local.get $1 - call $~lib/string/String.__concat + call $bindings/esm/stringFunction local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2794,6 +3547,7 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2812,7 +3566,7 @@ i32.store $0 offset=4 block $__inlined_func$bindings/esm/staticarrayFunction (result i32) local.get $3 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2822,7 +3576,13 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 i32.store $0 local.get $0 i32.const 20 @@ -2830,6 +3590,11 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + local.get $4 local.get $1 i32.const 20 i32.sub @@ -2874,8 +3639,11 @@ global.set $~lib/memory/__stack_pointer local.get $3 local.get $4 - i32.store $0 + i32.store $0 offset=4 loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $2 local.get $0 i32.const 20 @@ -2885,6 +3653,13 @@ i32.shr_u i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $4 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $4 local.get $2 local.get $0 @@ -2901,6 +3676,9 @@ i32.const 0 local.set $2 loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $2 local.get $1 i32.const 20 @@ -2910,7 +3688,13 @@ i32.shr_u i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $4 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $2 local.get $0 i32.const 20 @@ -2919,241 +3703,38 @@ i32.const 2 i32.shr_u i32.add + local.set $5 + local.get $3 local.get $1 - local.get $2 - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction - end - br $folding-inner1 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/staticarrayU16 (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - if - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $export:bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.load $0 offset=12 - i32.add - local.set $6 - local.get $3 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - i32.store $0 offset=12 - local.get $6 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 - local.get $4 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $4 - local.get $6 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $4 - i32.store $0 - loop $for-loop|0 - local.get $2 - local.get $0 - i32.load $0 offset=12 - i32.lt_s - if - local.get $4 - local.get $2 - local.get $0 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 + i32.store $0 offset=8 + local.get $4 + local.get $5 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $1 - i32.load $0 offset=12 - i32.lt_s - if + global.set $~lib/memory/__stack_pointer local.get $4 - local.get $2 - local.get $0 - i32.load $0 offset=12 - i32.add - local.get $1 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 + br $__inlined_func$bindings/esm/staticarrayFunction end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $0 return end i32.const 34944 @@ -3163,9 +3744,71 @@ call $~lib/builtins/abort unreachable ) + (func $export:bindings/esm/staticarrayU16 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $export:bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayFunction + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $export:bindings/esm/objectFunction (type $i32_i32_=>_i32) (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 @@ -3183,21 +3826,26 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2148 i32.lt_s br_if $folding-inner1 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 - local.get $2 + i32.store $0 offset=8 + local.get $0 block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) - local.get $2 - i32.const 4 + local.get $0 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner00 @@ -3206,17 +3854,20 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 68 i32.const 12 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3227,14 +3878,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $2 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer @@ -3242,90 +3893,161 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 - local.get $2 + local.get $0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store16 $0 offset=2 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=4 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 0 i64.store $0 offset=8 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 offset=16 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store16 $0 offset=18 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=20 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 0 i64.store $0 offset=24 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=32 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=36 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 offset=40 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f32.const 0 f32.store $0 offset=44 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f64.const 0 f64.store $0 offset=48 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=56 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=60 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 br $__inlined_func$bindings/esm/PlainObject#constructor end br $folding-inner1 end - local.tee $2 + local.tee $3 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=8 local.get $2 - local.get $0 i32.load8_s $0 + local.set $0 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $3 + local.get $0 local.get $1 i32.load8_s $0 i32.add i32.store8 $0 + local.get $4 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=8 local.get $2 - local.get $0 i32.load16_s $0 offset=2 + local.set $0 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $3 + local.get $0 local.get $1 i32.load16_s $0 offset=2 i32.add i32.store16 $0 offset=2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.const 12 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 $2 + local.get $3 return end i32.const 34944 diff --git a/tests/compiler/bindings/noExportRuntime.debug.wat b/tests/compiler/bindings/noExportRuntime.debug.wat index d84e74bc7e..b27be59ab5 100644 --- a/tests/compiler/bindings/noExportRuntime.debug.wat +++ b/tests/compiler/bindings/noExportRuntime.debug.wat @@ -2484,14 +2484,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2512,48 +2504,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2630,58 +2580,20 @@ unreachable end ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer 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 $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 64 - i32.const 112 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) (local $buffer i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if @@ -2693,12 +2605,27 @@ i32.store $0 end local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length @@ -2722,24 +2649,44 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $this local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -2747,13 +2694,13 @@ (func $~lib/typedarray/Int32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2766,6 +2713,11 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $length i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -2774,11 +2726,148 @@ local.get $this local.set $2 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/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer 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 $0 + local.get $length + i32.const 1073741820 + i32.gt_u + if + i32.const 64 + i32.const 112 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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 $export:bindings/noExportRuntime/takesNonPlainObject (type $i32_=>_none) (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/bindings/noExportRuntime.release.wat b/tests/compiler/bindings/noExportRuntime.release.wat index b05126b71f..2a82a185fb 100644 --- a/tests/compiler/bindings/noExportRuntime.release.wat +++ b/tests/compiler/bindings/noExportRuntime.release.wat @@ -1631,65 +1631,116 @@ (local $1 i32) (local $2 i32) (local $3 i32) - block $folding-inner0 - block $invalid - block $bindings/noExportRuntime/NonPlainObject - block $~lib/array/Array<~lib/array/Array> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $bindings/noExportRuntime/NonPlainObject + block $~lib/array/Array<~lib/array/Array> + block $~lib/array/Array + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $~lib/array/Array $~lib/array/Array<~lib/array/Array> $bindings/noExportRuntime/NonPlainObject $invalid + end + return + end + return + end + return end - return - end - return - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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 1780 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner1 end - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1780 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.set $1 - br $while-continue|0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner1 end + return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return + unreachable end - return + i32.const 34576 + i32.const 34624 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end local.get $0 i32.load $0 @@ -1768,7 +1819,7 @@ local.get $0 global.set $bindings/noExportRuntime/isBuffer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1777,8 +1828,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 12 i32.const 4 @@ -1787,7 +1838,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 8 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1795,8 +1849,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 i64.const 0 i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 local.get $0 i32.eqz if @@ -1807,12 +1865,21 @@ local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=8 @@ -1821,25 +1888,37 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 local.get $0 local.get $2 call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $2 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/bindings/raw.debug.wat b/tests/compiler/bindings/raw.debug.wat index 9c517a5c1d..7a09f5997b 100644 --- a/tests/compiler/bindings/raw.debug.wat +++ b/tests/compiler/bindings/raw.debug.wat @@ -13,10 +13,10 @@ (type $f64_=>_f64 (func_subtype (param f64) (result f64) func)) (type $i64_i64_=>_i64 (func_subtype (param i64 i64) (result i64) func)) (type $none_=>_i64 (func_subtype (result i64) func)) - (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) + (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (import "env" "Math.E" (global $~lib/bindings/dom/Math.E f64)) (import "env" "globalThis" (global $bindings/esm/immutableGlobal externref)) (import "env" "globalThis.globalThis" (global $bindings/esm/immutableGlobalNested externref)) @@ -2358,24 +2358,6 @@ i32.shr_u return ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return - ) - (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - call $~lib/string/String.__concat - return - ) - (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - call $~lib/string/String.__concat - return - ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) (local $parent i32) @@ -2467,96 +2449,10 @@ local.get $this i32.load $0 offset=8 ) - (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - return - ) - (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - return - ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 528 - i32.const 768 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - return - ) (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 @@ -2566,32 +2462,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 528 - i32.const 832 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this local.get $index @@ -2603,24 +2473,6 @@ i32.const 0 drop ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 528 - i32.const 832 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - local.get $value - call $~lib/staticarray/StaticArray#__uset - ) (func $bindings/esm/staticarrayU16 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a return @@ -2657,42 +2509,10 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 528 - i32.const 896 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2747,143 +2567,6 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 224 - i32.const 896 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 528 - i32.const 896 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) (func $bindings/esm/PlainObject#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this local.get $a @@ -3164,12 +2847,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3197,14 +2874,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3260,48 +2929,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3482,64 +3109,33 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer 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 $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 224 - i32.const 272 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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 $bindings/esm/bufferFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $aByteLength i32) (local $bByteLength i32) (local $out 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 $0 + i64.const 0 + i64.store $0 local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $aByteLength local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $bByteLength global.get $~lib/memory/__stack_pointer @@ -3549,7 +3145,7 @@ i32.add call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $out - i32.store $0 + i32.store $0 offset=4 local.get $out local.get $a local.get $aByteLength @@ -3563,7 +3159,7 @@ local.get $out 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 $5 @@ -3576,19 +3172,29 @@ (local $out 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/string/String#get:length i32.const 1 i32.shl local.set $thisSize local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -3604,7 +3210,7 @@ i32.const 736 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 $6 @@ -3615,7 +3221,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $out - i32.store $0 + i32.store $0 offset=4 local.get $out local.get $this local.get $thisSize @@ -3629,50 +3235,45 @@ local.get $out 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 $6 return ) - (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - 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 - i32.const 64 - local.tee $b - i32.store $0 - end - local.get $a - local.get $b - call $bindings/esm/stringFunctionOptional + local.get $2 + local.get $right local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 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 + return ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer i32) - (local $4 i32) + (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3681,23 +3282,152 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $bindings/esm/stringFunctionOptional (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $bindings/esm/stringFunctionOptional@varargs (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 + i32.const 64 + local.tee $b + i32.store $0 + end + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $bindings/esm/stringFunctionOptional + 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/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length @@ -3721,24 +3451,44 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 call $~lib/arraybuffer/ArrayBufferView#set:buffer local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $buffer call $~lib/arraybuffer/ArrayBufferView#set:dataStart local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $length call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $this local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -3746,13 +3496,13 @@ (func $~lib/typedarray/Uint64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -3765,6 +3515,11 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $length i32.const 3 call $~lib/arraybuffer/ArrayBufferView#constructor @@ -3773,16 +3528,13 @@ local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $out i32) - (local $i i32) - (local $i|4 i32) - (local $5 i32) + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3791,76 +3543,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $a - call $~lib/typedarray/Int16Array#get:length - local.get $b - call $~lib/typedarray/Float32Array#get:length - i32.add - call $~lib/typedarray/Uint64Array#constructor - local.tee $out + local.get $1 i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $a - call $~lib/typedarray/Int16Array#get:length - i32.lt_s - if - local.get $out - local.get $i - local.get $a - local.get $i - call $~lib/typedarray/Int16Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - local.set $i|4 - loop $for-loop|1 - local.get $i|4 - local.get $b - call $~lib/typedarray/Float32Array#get:length - i32.lt_s - if - local.get $out - local.get $a - call $~lib/typedarray/Int16Array#get:length - local.get $i|4 - i32.add - local.get $b - local.get $i|4 - call $~lib/typedarray/Float32Array#__get - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set - local.get $i|4 - i32.const 1 - i32.add - local.set $i|4 - br $for-loop|1 - end - end - local.get $out - local.set $5 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 + local.get $1 return ) - (func $~lib/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $outSize i32) - (local $out i32) - (local $4 i32) + (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3869,79 +3570,235 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1073741820 - i32.const 2 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 i32.shr_u - i32.gt_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u if - i32.const 224 - i32.const 832 - i32.const 51 - i32.const 60 + i32.const 528 + i32.const 768 + i32.const 452 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $length - i32.const 2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 1 i32.shl - local.set $outSize + i32.add + i32.load16_s $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 528 + i32.const 768 + i32.const 1173 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $out - local.set $4 + i32.shr_u + i32.ge_u + if + i32.const 528 + i32.const 768 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 return ) - (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $c i32) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $out i32) (local $i i32) (local $i|4 i32) (local $5 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Int16Array#get:length local.get $b - call $~lib/staticarray/StaticArray#get:length - i32.add - call $~lib/staticarray/StaticArray#constructor - local.tee $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 + local.get $5 + call $~lib/typedarray/Float32Array#get:length + i32.add + call $~lib/typedarray/Uint64Array#constructor + local.tee $out + i32.store $0 offset=4 i32.const 0 local.set $i loop $for-loop|0 local.get $i local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Int16Array#get:length i32.lt_s if - local.get $c + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $i local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set + call $~lib/typedarray/Int16Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set local.get $i i32.const 1 i32.add @@ -3954,18 +3811,39 @@ loop $for-loop|1 local.get $i|4 local.get $b - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/typedarray/Float32Array#get:length i32.lt_s if - local.get $c + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $a - call $~lib/staticarray/StaticArray#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/typedarray/Int16Array#get:length local.get $i|4 i32.add local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i|4 - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set + call $~lib/typedarray/Float32Array#__get + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set local.get $i|4 i32.const 1 i32.add @@ -3973,142 +3851,167 @@ br $for-loop|1 end end - local.get $c + local.get $out local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store $0 + local.get $index local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u if - i32.const 224 - i32.const 896 - i32.const 70 - i32.const 60 + i32.const 528 + i32.const 832 + i32.const 78 + i32.const 41 call $~lib/builtins/abort unreachable end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select + local.get $this + local.get $index i32.const 2 i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.add + i32.load $0 + local.set $value + i32.const 0 drop + local.get $value + 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/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 528 + i32.const 832 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end local.get $this - local.set $6 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $index + local.get $value + call $~lib/staticarray/StaticArray#__uset + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (func $bindings/esm/staticarrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) (local $c i32) (local $i i32) (local $i|4 i32) (local $5 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length local.get $b - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.add - call $~lib/array/Array#constructor + call $~lib/staticarray/StaticArray#constructor local.tee $c - i32.store $0 + i32.store $0 offset=4 i32.const 0 local.set $i loop $for-loop|0 local.get $i local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.lt_s if local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $i local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i - call $~lib/array/Array#__get - call $~lib/array/Array#__set + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set local.get $i i32.const 1 i32.add @@ -4121,18 +4024,38 @@ loop $for-loop|1 local.get $i|4 local.get $b - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length i32.lt_s if local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $a - call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/staticarray/StaticArray#get:length local.get $i|4 i32.add local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 local.get $i|4 - call $~lib/array/Array#__get - call $~lib/array/Array#__set + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set local.get $i|4 i32.const 1 i32.add @@ -4143,123 +4066,177 @@ local.get $c local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $5 return ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 + i32.const 16 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this 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.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.store $0 + call $~lib/array/Array#set:buffer local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 68 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:a - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:b - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:c - local.get $this - i64.const 0 - call $bindings/esm/PlainObject#set:d - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:e - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:f - local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:g - local.get $this - i64.const 0 - call $bindings/esm/PlainObject#set:h - local.get $this + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:i + call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:j + call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $bindings/esm/PlainObject#set:k - local.get $this - f32.const 0 - call $bindings/esm/PlainObject#set:l - local.get $this - f64.const 0 - call $bindings/esm/PlainObject#set:m + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 896 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:n + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - i32.const 0 - call $bindings/esm/PlainObject#set:o + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - call $bindings/esm/PlainObject#set:p + i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) - (func $bindings/esm/objectFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $ref i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4269,26 +4246,39 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $bindings/esm/PlainObject#constructor - local.tee $ref + local.get $3 i32.store $0 - local.get $ref - local.get $a - call $bindings/esm/PlainObject#get:a - local.get $b - call $bindings/esm/PlainObject#get:a - i32.add - call $bindings/esm/PlainObject#set:a - local.get $ref - local.get $a - call $bindings/esm/PlainObject#get:b - local.get $b - call $bindings/esm/PlainObject#get:b + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 528 + i32.const 896 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl i32.add - call $bindings/esm/PlainObject#set:b - local.get $ref + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4297,6 +4287,794 @@ local.get $3 return ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 896 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 528 + i32.const 896 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $c i32) + (local $i i32) + (local $i|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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.add + call $~lib/array/Array#constructor + local.tee $c + i32.store $0 offset=4 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $i + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + local.get $i + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $i|4 + loop $for-loop|1 + local.get $i|4 + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $a + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/array/Array#get:length + local.get $i|4 + i32.add + local.get $b + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + local.get $i|4 + call $~lib/array/Array#__get + call $~lib/array/Array#__set + local.get $i|4 + i32.const 1 + i32.add + local.set $i|4 + br $for-loop|1 + end + end + local.get $c + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $bindings/esm/PlainObject#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:b + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:c + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:d + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:e + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:f + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:g + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + call $bindings/esm/PlainObject#set:h + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:i + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:j + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:k + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 0 + call $bindings/esm/PlainObject#set:l + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $bindings/esm/PlainObject#set:m + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:n + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:o + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $bindings/esm/PlainObject#set:p + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $bindings/esm/objectFunction (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $ref 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $bindings/esm/PlainObject#constructor + local.tee $ref + i32.store $0 + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $a + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:a + local.get $b + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:a + i32.add + call $bindings/esm/PlainObject#set:a + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $a + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:b + local.get $b + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $bindings/esm/PlainObject#get:b + i32.add + call $bindings/esm/PlainObject#set:b + local.get $ref + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer 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 $0 + local.get $length + i32.const 1073741820 + i32.gt_u + if + i32.const 224 + i32.const 272 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $outSize i32) + (local $out 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 $0 + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 224 + i32.const 832 + i32.const 51 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + i32.const 2 + i32.shl + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $out + 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/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $bindings/esm/NonPlainObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/bindings/raw.release.wat b/tests/compiler/bindings/raw.release.wat index 423f2f93eb..52b479326e 100644 --- a/tests/compiler/bindings/raw.release.wat +++ b/tests/compiler/bindings/raw.release.wat @@ -1,11 +1,11 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func_subtype (param i32 i32 f64 f64 f64 f64 f64) func)) (type $f64_=>_f64 (func_subtype (param f64) (result f64) func)) (type $i64_i64_=>_i64 (func_subtype (param i64 i64) (result i64) func)) @@ -1616,10 +1616,8 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) + (local $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1636,294 +1634,363 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 i32.store $0 - block $__inlined_func$~lib/string/String#concat + local.get $0 + i32.const 0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + local.get $0 + if local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 + local.tee $1 + i32.load $0 offset=4 + i32.const 3 i32.and - local.tee $4 - i32.add - local.tee $2 - i32.eqz + i32.const 3 + i32.eq if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1760 - local.set $2 - br $__inlined_func$~lib/string/String#concat + i32.const 1968 + i32.const 1424 + i32.const 338 + i32.const 7 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/rt/itcms/Object#unlink + global.get $~lib/rt/itcms/pinSpace + local.tee $3 + i32.load $0 offset=8 + local.set $2 + local.get $1 + local.get $3 + i32.const 3 + i32.or + i32.store $0 offset=4 + local.get $1 local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 + i32.store $0 offset=8 local.get $2 - local.get $0 - local.get $3 - memory.copy $0 $0 + local.get $1 local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 local.get $3 - i32.add local.get $1 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 offset=8 end - local.get $2 + local.get $0 ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 + (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i32.eqz if - i32.const 1552 - i32.const 1792 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort - unreachable + return end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store $0 - ) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u + local.tee $1 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.const 3 + i32.ne if - i32.const 1552 - i32.const 1856 - i32.const 78 - i32.const 41 + i32.const 2032 + i32.const 1424 + i32.const 352 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq if - i32.const 1552 - i32.const 1856 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable + local.get $1 + call $~lib/rt/itcms/Object#makeGray + else + local.get $1 + call $~lib/rt/itcms/Object#unlink + global.get $~lib/rt/itcms/fromSpace + local.tee $0 + i32.load $0 offset=8 + local.set $2 + local.get $1 + local.get $0 + global.get $~lib/rt/itcms/white + i32.or + i32.store $0 offset=4 + local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $1 + local.get $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.or + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + (func $~lib/rt/itcms/__collect (type $none_=>_none) + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - i32.const 1552 - i32.const 1920 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl + 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 - i32.load $0 + global.set $~lib/rt/itcms/threshold ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1552 - i32.const 1920 - i32.const 130 - i32.const 22 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $bindings/esm/NonPlainObject + block $~lib/array/Array<~lib/string/String> + block $bindings/esm/PlainObject + block $~lib/array/Array + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/function/Function<%28%29=>void> + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/function/Function<%28%29=>void> $folding-inner1 $folding-inner1 $folding-inner1 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner1 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid + end + return + end + return + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + return + end + return + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner2 + end + local.get $0 + i32.load $0 offset=56 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=60 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=64 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner2 + end + return + end + unreachable + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 - i32.add - local.tee $5 local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.shr_u - i32.gt_u + i32.load $0 + local.tee $0 if - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $4 - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 - local.get $3 - local.get $4 - i32.lt_u - select - local.tee $6 - local.get $0 - i32.load $0 - local.tee $3 - i32.const 20 - i32.sub - local.tee $5 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $5 - local.get $6 - i32.store $0 offset=16 - local.get $3 - local.set $4 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $6 - local.get $5 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $4 - local.get $3 - local.get $6 - local.get $5 - i32.load $0 offset=16 - local.tee $5 - local.get $5 - local.get $6 - i32.gt_u - select - memory.copy $0 $0 - end - local.get $3 - local.get $4 - i32.ne - if - local.get $0 - local.get $4 - i32.store $0 - local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end local.get $0 - local.get $6 - i32.store $0 offset=8 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - local.get $0 - local.get $1 - i32.const 1 - i32.add - i32.store $0 offset=12 + return end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $bindings/esm/newInternref (type $none_=>_i32) (result i32) + (func $~setArgumentsLength (type $i32_=>_none) (param $0 i32) + local.get $0 + global.set $~argumentsLength + ) + (func $~start (type $none_=>_none) (local $0 i32) + global.get $~started + if + return + end + i32.const 1 + global.set $~started global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1944,299 +2011,795 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 0 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $0 + i32.const 1152 + i32.store $0 + i32.const 1152 + i32.const 1 + f64.const 42 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + global.get $~lib/memory/__stack_pointer + i32.const 1184 i32.store $0 + i32.const 1184 + call $~lib/bindings/dom/console.log + global.get $~lib/bindings/dom/Math.E + call $~lib/bindings/dom/Math.log + drop + call $bindings/esm/Date_getTimezoneOffset + drop global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34916 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1476 + i32.const 1472 + i32.store $0 + i32.const 1480 + i32.const 1472 + i32.store $0 + i32.const 1472 + global.set $~lib/rt/itcms/pinSpace + i32.const 1508 + i32.const 1504 + i32.store $0 + i32.const 1512 + i32.const 1504 + i32.store $0 + i32.const 1504 + global.set $~lib/rt/itcms/toSpace + i32.const 1652 + i32.const 1648 + i32.store $0 + i32.const 1656 + i32.const 1648 + i32.store $0 + i32.const 1648 + global.set $~lib/rt/itcms/fromSpace ) - (func $~lib/rt/itcms/__pin (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $bindings/esm/stringFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 - if + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.eq - if - i32.const 1968 - i32.const 1424 - i32.const 338 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/rt/itcms/Object#unlink - global.get $~lib/rt/itcms/pinSpace - local.tee $3 - i32.load $0 offset=8 - local.set $2 + i32.store $0 + local.get $2 local.get $1 - local.get $3 - i32.const 3 - i32.or i32.store $0 offset=4 - local.get $1 local.get $2 - i32.store $0 offset=8 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $2 local.get $1 + i32.store $0 offset=4 local.get $2 - i32.load $0 offset=4 - i32.const 3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 i32.and - i32.or - i32.store $0 offset=4 - local.get $3 + local.set $3 + local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store $0 + block $__inlined_func$~lib/string/String#concat + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $4 + local.get $3 + i32.add + 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 1760 + local.set $2 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + local.get $3 + memory.copy $0 $0 + local.get $2 + local.get $3 + i32.add + local.get $1 + local.get $4 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + 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 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return end - local.get $0 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/rt/itcms/__unpin (type $i32_=>_none) (param $0 i32) + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - local.get $0 - i32.eqz + 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 2148 + i32.lt_s if - return + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - i32.const 20 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.const 3 - i32.ne + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - i32.const 2032 - i32.const 1424 - i32.const 352 - i32.const 5 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - local.get $1 - call $~lib/rt/itcms/Object#unlink - global.get $~lib/rt/itcms/fromSpace - local.tee $0 - i32.load $0 offset=8 - local.set $2 - local.get $1 - local.get $0 - global.get $~lib/rt/itcms/white - i32.or - i32.store $0 offset=4 - local.get $1 - local.get $2 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $2 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - i32.gt_s + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u 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 + i32.const 1552 + i32.const 1792 + i32.const 1173 + i32.const 64 + call $~lib/builtins/abort + unreachable 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 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl i32.add - global.set $~lib/rt/itcms/threshold + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) + (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - block $folding-inner0 - block $invalid - block $bindings/esm/NonPlainObject - block $~lib/array/Array<~lib/string/String> - block $bindings/esm/PlainObject - block $~lib/array/Array - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/function/Function<%28%29=>void> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/function/Function<%28%29=>void> $folding-inner0 $folding-inner0 $folding-inner0 $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/array/Array $bindings/esm/PlainObject $folding-inner0 $~lib/array/Array<~lib/string/String> $bindings/esm/NonPlainObject $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 offset=56 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=60 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=64 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return + (local $4 f32) + (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $2 + i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 offset=4 + local.get $5 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $8 + i64.const 0 + i64.store $0 + local.get $8 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1248 + i32.const 1296 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $2 + local.get $6 + i32.store $0 + local.get $6 + if + local.get $2 + local.get $6 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=4 + local.get $9 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + local.get $2 + i32.store $0 offset=4 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1792 + i32.const 452 + i32.const 64 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $5 local.get $0 - i32.load $0 offset=4 - local.tee $1 + i32.store $0 local.get $0 - i32.load $0 offset=12 - i32.const 2 + i32.load $0 offset=4 + local.get $3 + i32.const 1 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end - end + i32.load16_s $0 + local.set $6 + local.get $5 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + local.get $6 + 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 + i32.const 0 + local.set $3 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 + local.get $5 local.get $0 - i32.load $0 - local.tee $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + 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 2148 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i32.const 0 + i32.store $0 + local.get $6 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 1552 + i32.const 1792 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable end - return + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $4 + local.get $6 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $5 + local.get $4 + i64.trunc_sat_f32_u + call $~lib/typedarray/Uint64Array#__set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 end - return end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1856 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort unreachable end local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add i32.load $0 - local.tee $0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1552 + i32.const 1856 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~setArgumentsLength (type $i32_=>_none) (param $0 i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - global.set $~argumentsLength ) - (func $~start (type $none_=>_none) - (local $0 i32) - global.get $~started - if - return - end - i32.const 1 - global.set $~started + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2253,76 +2816,250 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 0 i32.store $0 + local.get $2 local.get $0 - i32.const 1152 i32.store $0 - i32.const 1152 - i32.const 1 - f64.const 42 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1552 + i32.const 1920 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 1184 + local.tee $2 + local.get $0 i32.store $0 - i32.const 1184 - call $~lib/bindings/dom/console.log - global.get $~lib/bindings/dom/Math.E - call $~lib/bindings/dom/Math.log - drop - call $bindings/esm/Date_getTimezoneOffset - drop - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - memory.size $0 - i32.const 16 - i32.shl - i32.const 34916 + local.get $0 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 4 i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1552 + i32.const 1920 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.tee $6 + local.set $3 + 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 2148 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $3 + i32.const 268435455 + i32.gt_u + if + i32.const 1248 + i32.const 1920 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + local.get $4 + i32.const 1073741820 + i32.ge_u + select + local.tee $4 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + local.get $3 + local.get $4 + i32.lt_u + select + local.tee $5 + local.get $0 + i32.load $0 + local.tee $4 + i32.const 20 + i32.sub + local.tee $7 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $7 + local.get $5 + i32.store $0 offset=16 + local.get $4 + local.set $3 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $5 + local.get $7 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $3 + local.get $4 + local.get $5 + local.get $7 + i32.load $0 offset=16 + local.tee $7 + local.get $5 + local.get $7 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $3 + local.get $4 + i32.ne + if + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $5 + i32.store $0 offset=8 + end + 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 $0 + local.get $0 + local.get $6 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34944 + i32.const 34992 i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1476 - i32.const 1472 - i32.store $0 - i32.const 1480 - i32.const 1472 - i32.store $0 - i32.const 1472 - global.set $~lib/rt/itcms/pinSpace - i32.const 1508 - i32.const 1504 - i32.store $0 - i32.const 1512 - i32.const 1504 - i32.store $0 - i32.const 1504 - global.set $~lib/rt/itcms/toSpace - i32.const 1652 - i32.const 1648 - i32.store $0 - i32.const 1656 - i32.const 1648 - i32.store $0 - i32.const 1648 - global.set $~lib/rt/itcms/fromSpace + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $bindings/esm/typedarrayFunction (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2331,40 +3068,28 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $0 i32.store $0 local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.add + call $~lib/array/Array#get:length local.set $3 - local.get $6 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $2 + local.get $1 i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.add + local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2372,111 +3097,131 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $3 i64.const 0 i64.store $0 - local.get $2 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - end - local.get $2 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=4 - local.get $2 + local.get $3 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=8 local.get $3 - i32.const 134217727 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $4 + i32.const 268435455 i32.gt_u if i32.const 1248 - i32.const 1296 - i32.const 19 - i32.const 57 + i32.const 1920 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 3 + i32.const 8 + local.get $4 + local.get $4 + i32.const 8 + i32.le_u + select + i32.const 2 i32.shl - local.tee $4 + local.tee $3 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - local.get $2 - local.tee $3 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $5 + local.get $6 i32.store $0 - local.get $7 + local.get $6 if - local.get $3 - local.get $7 + local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 i32.store $0 offset=4 + local.get $8 + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $3 - local.get $4 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $8 local.get $5 - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=12 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $3 - i32.store $0 - i32.const 0 - local.set $2 + local.get $7 + local.get $5 + i32.store $0 offset=4 loop $for-loop|0 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.lt_s + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s if - local.get $2 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $5 local.get $2 local.get $0 - i32.load $0 offset=4 local.get $2 - i32.const 1 - i32.shl - i32.add - i64.load16_s $0 - call $~lib/typedarray/Uint64Array#__set + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 i32.const 1 i32.add @@ -2487,45 +3232,35 @@ i32.const 0 local.set $2 loop $for-loop|1 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.lt_s + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + i32.gt_s if - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $5 + i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.add - local.set $4 + i32.store $0 offset=8 + local.get $0 + call $~lib/array/Array#get:length local.get $2 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1552 - i32.const 1792 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $5 local.get $3 - local.get $4 local.get $1 - i32.load $0 offset=4 local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load $0 - i64.trunc_sat_f32_u - call $~lib/typedarray/Uint64Array#__set + call $~lib/array/Array#__get + call $~lib/array/Array#__set local.get $2 i32.const 1 i32.add @@ -2534,10 +3269,10 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return end i32.const 34944 @@ -2569,7 +3304,7 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2577,22 +3312,29 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 - local.tee $2 + local.set $4 + local.get $3 + local.get $1 + i32.store $0 local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 - local.tee $3 + local.tee $2 + local.get $4 i32.add local.set $5 - local.get $4 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2624,21 +3366,21 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $3 local.get $5 - i32.store $0 + i32.store $0 offset=4 local.get $5 local.get $0 - local.get $2 + local.get $4 memory.copy $0 $0 - local.get $2 + local.get $4 local.get $5 i32.add local.get $1 - local.get $3 + local.get $2 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2681,7 +3423,7 @@ i32.store $0 offset=4 local.get $0 local.get $1 - call $~lib/string/String.__concat + call $bindings/esm/stringFunction local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -2708,7 +3450,7 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2716,8 +3458,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - i32.store $0 + i32.store $0 offset=8 block $1of1 block $0of1 block $outOfRange @@ -2734,12 +3480,19 @@ i32.const 1088 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 local.get $0 local.get $1 - call $~lib/string/String.__concat + call $bindings/esm/stringFunction local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2794,6 +3547,7 @@ (local $2 i32) (local $3 i32) (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2812,7 +3566,7 @@ i32.store $0 offset=4 block $__inlined_func$bindings/esm/staticarrayFunction (result i32) local.get $3 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2822,7 +3576,13 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 i32.store $0 local.get $0 i32.const 20 @@ -2830,6 +3590,11 @@ i32.load $0 offset=16 i32.const 2 i32.shr_u + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + local.get $4 local.get $1 i32.const 20 i32.sub @@ -2874,8 +3639,11 @@ global.set $~lib/memory/__stack_pointer local.get $3 local.get $4 - i32.store $0 + i32.store $0 offset=4 loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $2 local.get $0 i32.const 20 @@ -2885,6 +3653,13 @@ i32.shr_u i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $4 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $4 local.get $2 local.get $0 @@ -2901,6 +3676,9 @@ i32.const 0 local.set $2 loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $2 local.get $1 i32.const 20 @@ -2910,7 +3688,13 @@ i32.shr_u i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $4 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $2 local.get $0 i32.const 20 @@ -2919,241 +3703,38 @@ i32.const 2 i32.shr_u i32.add + local.set $5 + local.get $3 local.get $1 - local.get $2 - call $~lib/staticarray/StaticArray#__get - call $~lib/staticarray/StaticArray#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - br $__inlined_func$bindings/esm/staticarrayFunction - end - br $folding-inner1 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $export:bindings/esm/staticarrayU16 (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - if - i32.const 34944 - i32.const 34992 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $export:bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.load $0 offset=12 - i32.add - local.set $6 - local.get $3 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2148 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.store $0 - local.get $4 - i32.const 0 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - i32.store $0 offset=12 - local.get $6 - i32.const 268435455 - i32.gt_u - if - i32.const 1248 - i32.const 1920 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=4 - local.get $4 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $5 - i32.store $0 offset=4 - local.get $4 - local.get $7 - i32.store $0 offset=8 - local.get $4 - local.get $6 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $4 - i32.store $0 - loop $for-loop|0 - local.get $2 - local.get $0 - i32.load $0 offset=12 - i32.lt_s - if - local.get $4 - local.get $2 - local.get $0 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 + i32.store $0 offset=8 + local.get $4 + local.get $5 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#__get + call $~lib/staticarray/StaticArray#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $1 - i32.load $0 offset=12 - i32.lt_s - if + global.set $~lib/memory/__stack_pointer local.get $4 - local.get $2 - local.get $0 - i32.load $0 offset=12 - i32.add - local.get $1 - local.get $2 - call $~lib/array/Array#__get - call $~lib/array/Array#__set - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 + br $__inlined_func$bindings/esm/staticarrayFunction end + br $folding-inner1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $0 return end i32.const 34944 @@ -3163,9 +3744,71 @@ call $~lib/builtins/abort unreachable ) + (func $export:bindings/esm/staticarrayU16 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $export:bindings/esm/arrayFunction (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2148 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $bindings/esm/arrayFunction + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $export:bindings/esm/objectFunction (type $i32_i32_=>_i32) (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 @@ -3183,21 +3826,26 @@ local.get $1 i32.store $0 offset=4 local.get $2 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2148 i32.lt_s br_if $folding-inner1 + local.get $0 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 - local.get $2 + i32.store $0 offset=8 + local.get $0 block $__inlined_func$bindings/esm/PlainObject#constructor (result i32) - local.get $2 - i32.const 4 + local.get $0 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner00 @@ -3206,17 +3854,20 @@ i32.lt_s br_if $folding-inner00 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 68 i32.const 12 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -3227,14 +3878,14 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $2 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 0 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer @@ -3242,90 +3893,161 @@ i32.add global.set $~lib/memory/__stack_pointer local.get $3 - local.get $2 + local.get $0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store16 $0 offset=2 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=4 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 0 i64.store $0 offset=8 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 offset=16 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store16 $0 offset=18 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=20 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 0 i64.store $0 offset=24 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=32 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=36 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store8 $0 offset=40 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f32.const 0 f32.store $0 offset=44 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f64.const 0 f64.store $0 offset=48 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=56 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=60 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $0 br $__inlined_func$bindings/esm/PlainObject#constructor end br $folding-inner1 end - local.tee $2 + local.tee $3 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=8 local.get $2 - local.get $0 i32.load8_s $0 + local.set $0 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $3 + local.get $0 local.get $1 i32.load8_s $0 i32.add i32.store8 $0 + local.get $4 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=8 local.get $2 - local.get $0 i32.load16_s $0 offset=2 + local.set $0 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $3 + local.get $0 local.get $1 i32.load16_s $0 offset=2 i32.add i32.store16 $0 offset=2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.const 12 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 $2 + local.get $3 return end i32.const 34944 diff --git a/tests/compiler/builtins.debug.wat b/tests/compiler/builtins.debug.wat index fc32980598..8f07aaf1c3 100644 --- a/tests/compiler/builtins.debug.wat +++ b/tests/compiler/builtins.debug.wat @@ -225,49 +225,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:length (type $i32_=>_i32) (param $this i32) (result i32) i32.const 2 return @@ -443,6 +400,102 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) (func $start:builtins (type $none_=>_none) (local $0 i32) (local $1 i32) diff --git a/tests/compiler/builtins.release.wat b/tests/compiler/builtins.release.wat index 7ef85acda2..c07b49aa1a 100644 --- a/tests/compiler/builtins.release.wat +++ b/tests/compiler/builtins.release.wat @@ -75,131 +75,174 @@ local.get $1 i32.add ) + (func $start:builtins~anonymous|1 (type $none_=>_none) + nop + ) + (func $start:builtins~anonymous|2 (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) + nop + ) + (func $~start (type $none_=>_none) + call $start:builtins + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2028 + i32.lt_s if + i32.const 34816 + i32.const 34864 i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne + i32.eq if - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 return end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 local.get $2 - i32.const 8 - i32.add - local.set $2 + i64.load $0 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-loop|0 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end end end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end end + i32.const 0 + local.set $3 end - 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 + i32.eqz + return end - local.get $3 - i32.eqz - ) - (func $start:builtins~anonymous|1 (type $none_=>_none) - nop - ) - (func $start:builtins~anonymous|2 (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - nop - ) - (func $~start (type $none_=>_none) - call $start:builtins + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 ) (func $start:builtins (type $none_=>_none) (local $0 i32) diff --git a/tests/compiler/call-super.debug.wat b/tests/compiler/call-super.debug.wat index 25d32140c6..77b9e6a5d2 100644 --- a/tests/compiler/call-super.debug.wat +++ b/tests/compiler/call-super.debug.wat @@ -2253,52 +2253,6 @@ local.get $b i32.store $0 offset=4 ) - (func $call-super/test1 (type $none_=>_none) - (local $b i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $call-super/B#constructor - local.tee $b - i32.store $0 - local.get $b - call $call-super/A#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 22 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $b - call $call-super/B#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 23 - 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 $call-super/C#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this local.get $a @@ -2317,52 +2271,6 @@ local.get $b i32.store $0 offset=4 ) - (func $call-super/test2 (type $none_=>_none) - (local $d i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $call-super/D#constructor - local.tee $d - i32.store $0 - local.get $d - call $call-super/C#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $d - call $call-super/D#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 46 - 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 $call-super/E#get:a (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2381,52 +2289,6 @@ local.get $this i32.load $0 offset=4 ) - (func $call-super/test3 (type $none_=>_none) - (local $f i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $call-super/F#constructor - local.tee $f - i32.store $0 - local.get $f - call $call-super/E#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 66 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $f - call $call-super/F#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 67 - 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 $call-super/G#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this local.get $a @@ -2445,52 +2307,6 @@ local.get $this i32.load $0 offset=4 ) - (func $call-super/test4 (type $none_=>_none) - (local $h i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $call-super/H#constructor - local.tee $h - i32.store $0 - local.get $h - call $call-super/G#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 84 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $h - call $call-super/H#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 85 - 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 $call-super/I#set:a (type $i32_i32_=>_none) (param $this i32) (param $a i32) local.get $this local.get $a @@ -2509,52 +2325,6 @@ local.get $this i32.load $0 offset=4 ) - (func $call-super/test5 (type $none_=>_none) - (local $h i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $call-super/J#constructor - local.tee $h - i32.store $0 - local.get $h - call $call-super/I#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $h - call $call-super/J#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 105 - 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 $start:call-super (type $none_=>_none) memory.size $0 i32.const 16 @@ -2679,13 +2449,13 @@ (func $call-super/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2697,9 +2467,19 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $call-super/A#set:a local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/A#get:a i32.const 1 i32.eq @@ -2715,7 +2495,7 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2723,13 +2503,13 @@ (func $call-super/B#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2741,14 +2521,29 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 call $call-super/B#set:b global.get $~lib/memory/__stack_pointer local.get $this - call $call-super/A#constructor - local.tee $this - i32.store $0 - local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/A#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/A#get:a i32.const 1 i32.eq @@ -2762,6 +2557,11 @@ unreachable end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/B#get:b i32.const 2 i32.eq @@ -2777,49 +2577,78 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $call-super/test1 (type $none_=>_none) + (local $b i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + call $call-super/B#constructor + local.tee $b i32.store $0 - local.get $this + local.get $b + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/A#get:a + i32.const 1 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 32 + i32.const 22 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this + local.get $b local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/B#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 23 + 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 $call-super/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2832,16 +2661,26 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $call-super/C#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2849,13 +2688,13 @@ (func $call-super/D#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2867,14 +2706,29 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 call $call-super/D#set:b global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/C#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/C#get:a i32.const 1 i32.eq @@ -2888,6 +2742,11 @@ unreachable end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/D#get:b i32.const 2 i32.eq @@ -2903,21 +2762,78 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/E#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $call-super/test2 (type $none_=>_none) + (local $d i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + call $call-super/D#constructor + local.tee $d i32.store $0 + local.get $d + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/C#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $d + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/D#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 46 + 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 $call-super/E#constructor (type $i32_=>_i32) (param $this 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 $0 local.get $this i32.eqz if @@ -2929,9 +2845,19 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $call-super/E#set:a local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/E#get:a i32.const 1 i32.eq @@ -2947,7 +2873,7 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2955,13 +2881,13 @@ (func $call-super/F#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2974,30 +2900,97 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/E#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 call $call-super/F#set:b local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/G#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $call-super/test3 (type $none_=>_none) + (local $f i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + call $call-super/F#constructor + local.tee $f i32.store $0 + local.get $f + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/E#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 66 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $f + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/F#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 67 + 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 $call-super/G#constructor (type $i32_=>_i32) (param $this 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 $0 local.get $this i32.eqz if @@ -3010,16 +3003,26 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $call-super/G#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -3027,13 +3030,13 @@ (func $call-super/H#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -3046,30 +3049,97 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/G#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 call $call-super/H#set:b local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $call-super/I#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $call-super/test4 (type $none_=>_none) + (local $h i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + call $call-super/H#constructor + local.tee $h i32.store $0 + local.get $h + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/G#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 84 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $h + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/H#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 85 + 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 $call-super/I#constructor (type $i32_=>_i32) (param $this 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 $0 local.get $this i32.eqz if @@ -3081,12 +3151,17 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $call-super/I#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -3094,13 +3169,13 @@ (func $call-super/J#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -3113,15 +3188,110 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $call-super/I#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 call $call-super/J#set:b local.get $this local.set $1 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $call-super/test5 (type $none_=>_none) + (local $h 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $call-super/J#constructor + local.tee $h + i32.store $0 + local.get $h + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/I#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $h + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $call-super/J#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 105 + 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/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/call-super.release.wat b/tests/compiler/call-super.release.wat index c9646d4ea5..a3a6d24b09 100644 --- a/tests/compiler/call-super.release.wat +++ b/tests/compiler/call-super.release.wat @@ -1501,69 +1501,11 @@ memory.fill $0 local.get $1 ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $invalid - block $call-super/I - block $call-super/J - block $call-super/G - block $call-super/H - block $call-super/E - block $call-super/F - block $call-super/C - block $call-super/D - block $call-super/A - block $call-super/B - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - return - end - unreachable - ) - (func $~start (type $none_=>_none) + (func $start:call-super (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) memory.size $0 i32.const 16 i32.shl @@ -1597,51 +1539,57 @@ i32.const 1392 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1652,9 +1600,16 @@ local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1668,12 +1623,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1686,6 +1644,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1699,12 +1660,15 @@ unreachable end 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 $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1717,6 +1681,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1730,54 +1697,60 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1789,20 +1762,30 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1815,6 +1798,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1828,12 +1814,15 @@ unreachable end 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 $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1846,6 +1835,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1859,33 +1851,33 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 i32.const 8 @@ -1894,16 +1886,19 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $2 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1548 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1914,9 +1909,16 @@ local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1930,22 +1932,28 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 offset=4 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 $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1958,6 +1966,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1971,217 +1982,250 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner02 - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 8 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.const 10 + i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - local.get $0 - i32.const 1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.const 2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 84 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 85 - 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.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 - global.get $~lib/memory/__stack_pointer - local.tee $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + i32.store $0 offset=4 + 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 + i32.const 1 + i32.ne + if i32.const 0 - i32.store $0 - local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1056 + i32.const 84 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 2 + i32.ne + if i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.const 12 + i32.const 1056 + i32.const 85 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 8 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1548 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1548 - i32.lt_s - br_if $folding-inner02 - global.get $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + i32.store $0 + local.get $3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + i32.store $0 offset=4 + 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 + i32.const 1 + i32.ne + if i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - local.get $0 - i32.const 1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 - local.get $0 - i32.const 2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 104 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1056 - i32.const 105 - 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 - return + i32.const 1056 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1056 + i32.const 105 + 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 + return end i32.const 34336 i32.const 34384 @@ -2190,6 +2234,68 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + block $invalid + block $call-super/I + block $call-super/J + block $call-super/G + block $call-super/H + block $call-super/E + block $call-super/F + block $call-super/C + block $call-super/D + block $call-super/A + block $call-super/B + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $call-super/B $call-super/A $call-super/D $call-super/C $call-super/F $call-super/E $call-super/H $call-super/G $call-super/J $call-super/I $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:call-super + ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/class-extends.debug.wat b/tests/compiler/class-extends.debug.wat index 3becc57e29..93685fcc81 100644 --- a/tests/compiler/class-extends.debug.wat +++ b/tests/compiler/class-extends.debug.wat @@ -31,32 +31,65 @@ local.get $b i32.store16 $0 offset=4 ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 32800 + i32.const 32848 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $class-extends/test (type $i32_=>_none) (param $b 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 $0 local.get $b + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $class-extends/A#get:a drop local.get $b + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $class-extends/B#get:b drop local.get $b + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 2 call $class-extends/A#set:a local.get $b + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 3 call $class-extends/B#set:b - ) - (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 32800 - i32.const 32848 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $export:class-extends/test (type $i32_=>_none) (param $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-extends.release.wat b/tests/compiler/class-extends.release.wat index 52ebca5cca..3c655ba03e 100644 --- a/tests/compiler/class-extends.release.wat +++ b/tests/compiler/class-extends.release.wat @@ -12,36 +12,66 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1024 - i32.lt_s - if - i32.const 33824 - i32.const 33872 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + drop + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load16_s $0 offset=4 + drop + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store16 $0 offset=4 + local.get $1 + 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 + return end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - drop - local.get $0 - i32.load16_s $0 offset=4 - drop - local.get $0 - i32.const 2 - i32.store $0 - local.get $0 - i32.const 3 - i32.store16 $0 offset=4 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) ) diff --git a/tests/compiler/class-implements.debug.wat b/tests/compiler/class-implements.debug.wat index 7749eb9079..fe8d6bc874 100644 --- a/tests/compiler/class-implements.debug.wat +++ b/tests/compiler/class-implements.debug.wat @@ -2303,11 +2303,6 @@ local.get $this i32.load $0 ) - (func $class-implements/B2#get:foo (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $class-implements/B2#get:_foo - return - ) (func $class-implements/B3#set:_foo2 (type $i32_i32_=>_none) (param $this i32) (param $_foo2 i32) local.get $this local.get $_foo2 @@ -2317,11 +2312,6 @@ local.get $this i32.load $0 offset=4 ) - (func $class-implements/B3#get:foo (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $class-implements/B3#get:_foo2 - return - ) (func $class-implements/B4#set:_foo2 (type $i32_i32_=>_none) (param $this i32) (param $_foo2 i32) local.get $this local.get $_foo2 @@ -2331,26 +2321,6 @@ local.get $this i32.load $0 offset=4 ) - (func $class-implements/B4#get:foo (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $class-implements/B4#get:_foo2 - return - ) - (func $class-implements/B3#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) - local.get $this - local.get $foo - call $class-implements/B3#set:_foo2 - ) - (func $class-implements/B4#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) - local.get $this - local.get $foo - call $class-implements/B4#set:_foo2 - ) - (func $class-implements/B2#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) - local.get $this - local.get $foo - call $class-implements/B2#set:_foo - ) (func $class-implements/D#foo@override (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) block $default @@ -2755,141 +2725,720 @@ unreachable end ) - (func $start:class-implements (type $none_=>_none) - (local $0 i32) + (func $class-implements/A#constructor (type $i32_=>_i32) (param $this 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 28 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 - 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 - i32.const 0 - call $class-implements/A#constructor - global.set $class-implements/a - global.get $class-implements/a - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - call $class-implements/A#foo - i32.const 1 - i32.eq + i64.const 0 + i64.store $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $class-implements/C#constructor - global.set $class-implements/c - global.get $class-implements/c - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $6 - call $class-implements/C#foo - i32.const 2 - i32.eq + local.get $this + 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-implements/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $class-implements/D#constructor - global.set $class-implements/d - global.get $class-implements/d - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $6 - call $class-implements/D#foo@override - i32.const 3 - i32.eq + local.get $this + 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-implements/C#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 31 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $class-implements/E#constructor - global.set $class-implements/e - global.get $class-implements/e - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/B#constructor + local.tee $this i32.store $0 - local.get $6 - call $class-implements/D#foo@override - i32.const 3 - i32.eq + local.get $this + 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-implements/D#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 37 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $class-implements/F#constructor - global.set $class-implements/f - global.get $class-implements/f - local.set $6 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $6 - call $class-implements/F#foo - i32.const 4 - i32.eq + local.get $this + 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-implements/E#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 44 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/D#constructor + local.tee $this + i32.store $0 + local.get $this + 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-implements/F#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/D#constructor + local.tee $this + i32.store $0 + local.get $this + 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-implements/A2#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + call $class-implements/A2#set:foo + local.get $this + 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-implements/A3#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/A2#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 5 + call $class-implements/A3#set:foo + local.get $this + 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-implements/A4#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/A2#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 7 + call $class-implements/A4#set:foo + local.get $this + 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-implements/B2#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + call $class-implements/B2#set:_foo + local.get $this + 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-implements/B2#get:foo (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/B2#get:_foo + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $class-implements/B3#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/B2#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 9 + call $class-implements/B3#set:_foo2 + local.get $this + 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-implements/B3#get:foo (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/B3#get:_foo2 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $class-implements/B4#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-implements/B2#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 11 + call $class-implements/B4#set:_foo2 + local.get $this + 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-implements/B4#get:foo (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/B4#get:_foo2 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $start:class-implements (type $none_=>_none) + (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 28 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 28 + memory.fill $0 + memory.size $0 + 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 + i32.const 0 + call $class-implements/A#constructor + global.set $class-implements/a + global.get $class-implements/a + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/A#foo + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-implements/C#constructor + global.set $class-implements/c + global.get $class-implements/c + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/C#foo + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-implements/D#constructor + global.set $class-implements/d + global.get $class-implements/d + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/D#foo@override + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-implements/E#constructor + global.set $class-implements/e + global.get $class-implements/e + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/D#foo@override + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 37 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $class-implements/F#constructor + global.set $class-implements/f + global.get $class-implements/f + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/F#foo + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 44 i32.const 1 call $~lib/builtins/abort unreachable @@ -2942,6 +3491,11 @@ local.tee $0 i32.store $0 offset=4 local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A2#get:foo i32.const 1 i32.eq @@ -2955,6 +3509,11 @@ unreachable end local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 1 i32.eq @@ -2968,9 +3527,19 @@ unreachable end local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 i32.const 2 call $class-implements/I2#set:foo@override local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A2#get:foo i32.const 2 i32.eq @@ -2984,6 +3553,11 @@ unreachable end local.get $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 2 i32.eq @@ -3002,6 +3576,11 @@ local.tee $1 i32.store $0 offset=8 local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A3#get:foo i32.const 5 i32.eq @@ -3015,6 +3594,11 @@ unreachable end local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 5 i32.eq @@ -3028,9 +3612,19 @@ unreachable end local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 i32.const 6 call $class-implements/I2#set:foo@override local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A3#get:foo i32.const 6 i32.eq @@ -3044,6 +3638,11 @@ unreachable end local.get $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 6 i32.eq @@ -3062,6 +3661,11 @@ local.tee $2 i32.store $0 offset=12 local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A4#get:foo i32.const 7 i32.eq @@ -3075,6 +3679,11 @@ unreachable end local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 7 i32.eq @@ -3088,9 +3697,19 @@ unreachable end local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 i32.const 8 call $class-implements/I2#set:foo@override local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/A4#get:foo i32.const 8 i32.eq @@ -3104,6 +3723,11 @@ unreachable end local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override i32.const 8 i32.eq @@ -3121,486 +3745,263 @@ call $class-implements/B2#constructor local.tee $3 i32.store $0 offset=16 - local.get $3 - call $class-implements/B2#get:foo@override - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $class-implements/I2#get:foo@override - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 110 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 4 - call $class-implements/I2#set:foo@override - local.get $3 - call $class-implements/B2#get:foo@override - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 112 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - call $class-implements/I2#get:foo@override - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 113 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $class-implements/B3#constructor - local.tee $4 - i32.store $0 offset=20 - local.get $4 - call $class-implements/B3#get:foo - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 117 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - call $class-implements/I2#get:foo@override - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 118 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.const 10 - call $class-implements/I2#set:foo@override - local.get $4 - call $class-implements/B3#get:foo - i32.const 10 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 120 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $4 - call $class-implements/I2#get:foo@override - i32.const 10 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 121 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $class-implements/B4#constructor - local.tee $5 - i32.store $0 offset=24 - local.get $5 - call $class-implements/B4#get:foo - i32.const 11 + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/B2#get:foo@override + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 125 + i32.const 109 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override - i32.const 11 + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 126 + i32.const 110 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 12 + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 4 call $class-implements/I2#set:foo@override - local.get $5 - call $class-implements/B4#get:foo - i32.const 12 + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $class-implements/B2#get:foo@override + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 128 + i32.const 112 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 + local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $class-implements/I2#get:foo@override - i32.const 12 + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 129 + i32.const 113 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - 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-implements/A#constructor (type $i32_=>_i32) (param $this 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 + call $class-implements/B3#constructor + local.tee $4 + i32.store $0 offset=20 + local.get $4 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/B3#get:foo + i32.const 9 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 432 + i32.const 117 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-implements/B#constructor (type $i32_=>_i32) (param $this 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 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/I2#get:foo@override + i32.const 9 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 432 + i32.const 118 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $6 i32.store $0 - local.get $this - 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-implements/C#constructor (type $i32_=>_i32) (param $this 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 $6 + i32.const 10 + call $class-implements/I2#set:foo@override + local.get $4 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/B3#get:foo + i32.const 10 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 432 + i32.const 120 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $4 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/B#constructor - local.tee $this - i32.store $0 - local.get $this - 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-implements/D#constructor (type $i32_=>_i32) (param $this 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 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/I2#get:foo@override + i32.const 10 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-implements/E#constructor (type $i32_=>_i32) (param $this 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 + i32.const 432 + i32.const 121 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 + call $class-implements/B4#constructor + local.tee $5 + i32.store $0 offset=24 + local.get $5 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/B4#get:foo + i32.const 11 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 432 + i32.const 125 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/D#constructor - local.tee $this - i32.store $0 - local.get $this - 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-implements/F#constructor (type $i32_=>_i32) (param $this 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 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/I2#get:foo@override + i32.const 11 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 432 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/D#constructor - local.tee $this + local.get $6 i32.store $0 - local.get $this - 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-implements/A2#constructor (type $i32_=>_i32) (param $this 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 $6 + i32.const 12 + call $class-implements/I2#set:foo@override + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/B4#get:foo + i32.const 12 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 128 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $5 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 1 - call $class-implements/A2#set:foo - local.get $this - 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-implements/A3#constructor (type $i32_=>_i32) (param $this 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 + local.get $6 i32.store $0 - local.get $this + local.get $6 + call $class-implements/I2#get:foo@override + i32.const 12 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 129 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/A2#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 5 - call $class-implements/A3#set:foo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-implements/A4#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $class-implements/B3#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3610,33 +4011,20 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/A2#constructor - local.tee $this + local.get $2 i32.store $0 - local.get $this - i32.const 7 - call $class-implements/A4#set:foo - local.get $this - local.set $1 + local.get $2 + local.get $foo + call $class-implements/B3#set:_foo2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-implements/B2#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $class-implements/B4#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3646,33 +4034,20 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $2 i32.store $0 - local.get $this - i32.const 3 - call $class-implements/B2#set:_foo - local.get $this - local.set $1 + local.get $2 + local.get $foo + call $class-implements/B4#set:_foo2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-implements/B3#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $class-implements/B2#set:foo (type $i32_i32_=>_none) (param $this i32) (param $foo i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3682,32 +4057,19 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/B2#constructor - local.tee $this + local.get $2 i32.store $0 - local.get $this - i32.const 9 - call $class-implements/B3#set:_foo2 - local.get $this - local.set $1 + local.get $2 + local.get $foo + call $class-implements/B2#set:_foo global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-implements/B4#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3721,20 +4083,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 18 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $class-implements/B2#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 11 - call $class-implements/B4#set:_foo2 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-implements.release.wat b/tests/compiler/class-implements.release.wat index 35d8afc22e..bd4bfdea86 100644 --- a/tests/compiler/class-implements.release.wat +++ b/tests/compiler/class-implements.release.wat @@ -1,8 +1,8 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -1550,6 +1550,139 @@ memory.fill $0 local.get $1 ) + (func $class-implements/I2#get:foo@override (type $i32_=>_i32) (param $0 i32) (result i32) + block $default + block $case5 + block $case4 + block $case3 + block $case2 + block $case1 + block $case0 + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 12 + i32.sub + br_table $case4 $default $case0 $case1 $case5 $case2 $case3 $default + end + local.get $0 + i32.load $0 + return + end + local.get $0 + i32.load $0 + return + end + local.get $0 + call $class-implements/B3#get:foo + return + end + local.get $0 + call $class-implements/B3#get:foo + return + end + local.get $0 + i32.load $0 + return + end + local.get $0 + call $class-implements/B2#get:foo + return + end + unreachable + ) + (func $class-implements/I2#set:foo@override (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + block $folding-inner0 + block $default + block $case5 + block $case3 + block $case2 + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 12 + i32.sub + br_table $folding-inner0 $default $folding-inner0 $folding-inner0 $case5 $case2 $case3 $default + end + local.get $0 + local.get $1 + call $class-implements/B3#set:foo + return + end + local.get $0 + local.get $1 + call $class-implements/B3#set:foo + return + end + 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + unreachable + end + local.get $0 + local.get $1 + i32.store $0 + ) + (func $class-implements/B2#get:foo@override (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + block $default + block $case1 + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + local.tee $1 + i32.const 17 + i32.ne + if + local.get $1 + i32.const 18 + i32.eq + br_if $case1 + br $default + end + local.get $0 + call $class-implements/B3#get:foo + return + end + local.get $0 + call $class-implements/B3#get:foo + return + end + local.get $0 + call $class-implements/B2#get:foo + ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $class-implements/B4 @@ -1627,80 +1760,341 @@ (func $~start (type $none_=>_none) call $start:class-implements ) - (func $start:class-implements (type $none_=>_none) - (local $0 i32) + (func $class-implements/D#constructor (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1584 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 34352 - i32.sub + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1172 - i32.const 1168 - i32.store $0 - i32.const 1176 - i32.const 1168 - i32.store $0 - i32.const 1168 - global.set $~lib/rt/itcms/pinSpace - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 - i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/toSpace - i32.const 1348 - i32.const 1344 - i32.store $0 - i32.const 1352 - i32.const 1344 - i32.store $0 - i32.const 1344 - global.set $~lib/rt/itcms/fromSpace - local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1584 - i32.lt_s - br_if $folding-inner0 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 i32.const 0 - i32.const 4 + i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-implements/F#constructor (type $none_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $class-implements/D#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-implements/A2#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-implements/B2#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-implements/B2#get:foo (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $class-implements/B3#get:foo (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:class-implements (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 28 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34352 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store $0 + i32.const 1176 + i32.const 1168 + i32.store $0 + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store $0 + i32.const 1352 + i32.const 1344 + i32.store $0 + i32.const 1344 + global.set $~lib/rt/itcms/fromSpace + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1709,7 +2103,7 @@ global.get $class-implements/a i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1718,8 +2112,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 6 @@ -1728,7 +2122,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1736,8 +2133,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1749,19 +2146,23 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1799,7 +2200,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1808,8 +2209,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 10 @@ -1817,17 +2218,21 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $class-implements/D#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $class-implements/e - block $__inlined_func$class-implements/D#foo@override10 (result i32) + block $__inlined_func$class-implements/D#foo@override8 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-implements/e local.tee $0 @@ -1839,7 +2244,7 @@ i32.load $0 i32.const 11 i32.eq - br_if $__inlined_func$class-implements/D#foo@override10 + br_if $__inlined_func$class-implements/D#foo@override8 drop i32.const 3 end @@ -1860,7 +2265,7 @@ i32.store $0 call $class-implements/F#constructor global.set $class-implements/g - block $__inlined_func$class-implements/D#foo@override16 (result i32) + block $__inlined_func$class-implements/D#foo@override14 (result i32) global.get $~lib/memory/__stack_pointer global.get $class-implements/g local.tee $0 @@ -1872,7 +2277,7 @@ i32.load $0 i32.const 11 i32.eq - br_if $__inlined_func$class-implements/D#foo@override16 + br_if $__inlined_func$class-implements/D#foo@override14 drop i32.const 3 end @@ -1893,18 +2298,18 @@ local.tee $0 i32.store $0 block $__inlined_func$class-implements/I#foo@override - block $default21 + block $default19 block $case3 block $case2 block $case1 - block $case022 + block $case020 local.get $0 i32.const 8 i32.sub i32.load $0 i32.const 4 i32.sub - br_table $case1 $default21 $case2 $default21 $case3 $default21 $case3 $case022 $default21 + br_table $case1 $default19 $case2 $default19 $case3 $default19 $case3 $case020 $default19 end i32.const 4 local.set $0 @@ -1940,6 +2345,9 @@ call $class-implements/A2#constructor local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 i32.const 1 @@ -1952,48 +2360,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override (result i32) - block $default - block $case5 - block $case4 - block $case30 - block $case21 - block $case12 - block $case0 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4 $default $case0 $case12 $case5 $case21 $case30 $default - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/I2#get:foo@override i32.const 1 i32.ne if @@ -2004,54 +2375,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override - block $default3 - block $case54 - block $case45 - block $case36 - block $case27 - block $case18 - block $case09 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case45 $default3 $case09 $case18 $case54 $case27 $case36 $default3 - end - local.get $0 - i32.const 2 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override - end - local.get $0 - i32.const 2 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override - end - local.get $0 - i32.const 2 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override - end - local.get $0 - i32.const 2 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override - end - local.get $0 - i32.const 2 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override - end - local.get $0 - i32.const 2 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 i32.const 2 @@ -2064,48 +2396,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override10 (result i32) - block $default11 - block $case512 - block $case413 - block $case314 - block $case215 - block $case116 - block $case017 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case413 $default11 $case017 $case116 $case512 $case215 $case314 $default11 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override10 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/I2#get:foo@override i32.const 2 i32.ne if @@ -2118,7 +2413,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2127,8 +2422,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 14 @@ -2136,20 +2431,30 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $class-implements/A2#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 5 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 5 @@ -2162,48 +2467,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override18 (result i32) - block $default19 - block $case520 - block $case421 - block $case322 - block $case223 - block $case124 - block $case025 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case421 $default19 $case025 $case124 $case520 $case223 $case322 $default19 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override18 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 5 i32.ne if @@ -2214,54 +2482,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override26 - block $default27 - block $case528 - block $case429 - block $case330 - block $case231 - block $case132 - block $case033 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case429 $default27 $case033 $case132 $case528 $case231 $case330 $default27 - end - local.get $1 - i32.const 6 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - local.get $1 - i32.const 6 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - local.get $1 - i32.const 6 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - local.get $1 - i32.const 6 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - local.get $1 - i32.const 6 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - local.get $1 - i32.const 6 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override26 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 6 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 6 @@ -2274,48 +2503,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override34 (result i32) - block $default35 - block $case536 - block $case437 - block $case338 - block $case239 - block $case140 - block $case041 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case437 $default35 $case041 $case140 $case536 $case239 $case338 $default35 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override34 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 6 i32.ne if @@ -2328,7 +2520,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2337,8 +2529,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 15 @@ -2346,20 +2538,30 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $class-implements/A2#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 7 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 7 @@ -2372,48 +2574,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override42 (result i32) - block $default43 - block $case544 - block $case445 - block $case346 - block $case247 - block $case148 - block $case049 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case445 $default43 $case049 $case148 $case544 $case247 $case346 $default43 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override42 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 7 i32.ne if @@ -2424,54 +2589,15 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override50 - block $default51 - block $case552 - block $case453 - block $case354 - block $case255 - block $case156 - block $case057 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case453 $default51 $case057 $case156 $case552 $case255 $case354 $default51 - end - local.get $1 - i32.const 8 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - local.get $1 - i32.const 8 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - local.get $1 - i32.const 8 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - local.get $1 - i32.const 8 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - local.get $1 - i32.const 8 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - local.get $1 - i32.const 8 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override50 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 8 @@ -2484,48 +2610,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override58 (result i32) - block $default59 - block $case560 - block $case461 - block $case362 - block $case263 - block $case164 - block $case065 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case461 $default59 $case065 $case164 $case560 $case263 $case362 $default59 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override58 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 8 i32.ne if @@ -2541,37 +2630,14 @@ call $class-implements/B2#constructor local.tee $0 i32.store $0 offset=16 - block $__inlined_func$class-implements/B2#get:foo@override (result i32) - block $default0 - block $case11 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - local.tee $1 - i32.const 17 - i32.ne - if - local.get $1 - i32.const 18 - i32.eq - br_if $case11 - br $default0 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/B2#get:foo@override - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/B2#get:foo@override - end - local.get $0 - i32.load $0 - end - i32.const 3 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/B2#get:foo@override + i32.const 3 + i32.ne + if i32.const 0 i32.const 1456 i32.const 109 @@ -2579,48 +2645,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override66 (result i32) - block $default67 - block $case568 - block $case469 - block $case370 - block $case271 - block $case172 - block $case073 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case469 $default67 $case073 $case172 $case568 $case271 $case370 $default67 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override66 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/I2#get:foo@override i32.const 3 i32.ne if @@ -2631,82 +2660,17 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override74 - block $default75 - block $case576 - block $case477 - block $case378 - block $case279 - block $case180 - block $case081 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case477 $default75 $case081 $case180 $case576 $case279 $case378 $default75 - end - local.get $0 - i32.const 4 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - local.get $0 - i32.const 4 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - local.get $0 - i32.const 4 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - local.get $0 - i32.const 4 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - local.get $0 - i32.const 4 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - local.get $0 - i32.const 4 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override74 - end - unreachable - end - block $__inlined_func$class-implements/B2#get:foo@override6 (result i32) - block $default7 - block $case1882 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - local.tee $1 - i32.const 17 - i32.ne - if - local.get $1 - i32.const 18 - i32.eq - br_if $case1882 - br $default7 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/B2#get:foo@override6 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/B2#get:foo@override6 - end - local.get $0 - i32.load $0 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 4 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/B2#get:foo@override i32.const 4 i32.ne if @@ -2717,48 +2681,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override83 (result i32) - block $default84 - block $case585 - block $case486 - block $case387 - block $case288 - block $case189 - block $case090 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case486 $default84 $case090 $case189 $case585 $case288 $case387 $default84 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - local.get $0 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - local.get $0 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override83 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $class-implements/I2#get:foo@override i32.const 4 i32.ne if @@ -2771,7 +2698,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2780,8 +2707,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 8 i32.const 17 @@ -2789,22 +2716,32 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $class-implements/B2#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 9 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.store $0 + local.get $1 + call $class-implements/B3#get:foo i32.const 9 i32.ne if @@ -2815,48 +2752,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override91 (result i32) - block $default92 - block $case593 - block $case494 - block $case395 - block $case296 - block $case197 - block $case098 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case494 $default92 $case098 $case197 $case593 $case296 $case395 $default92 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override91 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 9 i32.ne if @@ -2867,56 +2767,17 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override99 - block $default100 - block $case5101 - block $case4102 - block $case3103 - block $case2104 - block $case1105 - block $case0106 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4102 $default100 $case0106 $case1105 $case5101 $case2104 $case3103 $default100 - end - local.get $1 - i32.const 10 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - local.get $1 - i32.const 10 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - local.get $1 - i32.const 10 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - local.get $1 - i32.const 10 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - local.get $1 - i32.const 10 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - local.get $1 - i32.const 10 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override99 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 - i32.load $0 offset=4 + i32.const 10 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/B3#get:foo i32.const 10 i32.ne if @@ -2927,48 +2788,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override107 (result i32) - block $default108 - block $case5109 - block $case4110 - block $case3111 - block $case2112 - block $case1113 - block $case0114 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4110 $default108 $case0114 $case1113 $case5109 $case2112 $case3111 $default108 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override107 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 10 i32.ne if @@ -2981,7 +2805,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2990,8 +2814,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 8 i32.const 18 @@ -2999,22 +2823,32 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $class-implements/B2#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 11 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.store $0 + local.get $1 + call $class-implements/B3#get:foo i32.const 11 i32.ne if @@ -3025,48 +2859,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override115 (result i32) - block $default116 - block $case5117 - block $case4118 - block $case3119 - block $case2120 - block $case1121 - block $case0122 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4118 $default116 $case0122 $case1121 $case5117 $case2120 $case3119 $default116 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override115 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 11 i32.ne if @@ -3077,56 +2874,17 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#set:foo@override123 - block $default124 - block $case5125 - block $case4126 - block $case3127 - block $case2128 - block $case1129 - block $case0130 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4126 $default124 $case0130 $case1129 $case5125 $case2128 $case3127 $default124 - end - local.get $1 - i32.const 12 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - local.get $1 - i32.const 12 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - local.get $1 - i32.const 12 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - local.get $1 - i32.const 12 - i32.store $0 offset=4 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - local.get $1 - i32.const 12 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - local.get $1 - i32.const 12 - i32.store $0 - br $__inlined_func$class-implements/I2#set:foo@override123 - end - unreachable - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 + i32.store $0 + local.get $1 + i32.const 12 + call $class-implements/I2#set:foo@override + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/B3#get:foo i32.const 12 i32.ne if @@ -3137,48 +2895,11 @@ call $~lib/builtins/abort unreachable end - block $__inlined_func$class-implements/I2#get:foo@override131 (result i32) - block $default132 - block $case5133 - block $case4134 - block $case3135 - block $case2136 - block $case1137 - block $case0138 - local.get $1 - i32.const 8 - i32.sub - i32.load $0 - i32.const 12 - i32.sub - br_table $case4134 $default132 $case0138 $case1137 $case5133 $case2136 $case3135 $default132 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - local.get $1 - i32.load $0 offset=4 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - local.get $1 - i32.load $0 - br $__inlined_func$class-implements/I2#get:foo@override131 - end - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $class-implements/I2#get:foo@override i32.const 12 i32.ne if @@ -3202,120 +2923,8 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $class-implements/D#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $class-implements/F#constructor (type $none_=>_i32) (result i32) - (local $0 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-implements/D#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $class-implements/A2#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + (func $class-implements/B3#set:foo (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3332,33 +2941,21 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 i32.store $0 + local.get $2 local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 i32.store $0 local.get $0 - i32.const 1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $class-implements/B2#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3381,21 +2978,13 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 16 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 end global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - local.get $0 - i32.const 3 - i32.store $0 - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading-cast.debug.wat b/tests/compiler/class-overloading-cast.debug.wat index a0737ae01e..795387a3ac 100644 --- a/tests/compiler/class-overloading-cast.debug.wat +++ b/tests/compiler/class-overloading-cast.debug.wat @@ -2369,49 +2369,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $class-overloading-cast/B#foo (type $i32_i32_=>_i32) (param $this i32) (param $a i32) (result i32) i32.const 464 return @@ -2636,564 +2593,715 @@ unreachable end ) - (func $start:class-overloading-cast (type $none_=>_none) - (local $0 i32) + (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - memory.size $0 - 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 - i32.const 0 - call $class-overloading-cast/B#constructor - global.set $class-overloading-cast/v - i32.const 0 - call $class-overloading-cast/B#constructor - global.set $class-overloading-cast/v2 - i32.const 0 - call $class-overloading-cast/B#constructor - global.set $class-overloading-cast/v3 - global.get $class-overloading-cast/v - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 1 - call $class-overloading-cast/A#foo@override - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $0 - i32.const 464 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 496 - i32.const 26 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $class-overloading-cast/v2 - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 1 - call $class-overloading-cast/B#foo - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/A#constructor + local.tee $this i32.store $0 - local.get $0 - i32.const 464 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 496 - i32.const 27 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $class-overloading-cast/v3 - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - f64.const 1.1 - call $class-overloading-cast/A#foo@override - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/A#constructor + local.tee $this i32.store $0 - local.get $0 - i32.const 464 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 496 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $class-overloading-cast/C#constructor - global.set $class-overloading-cast/c - global.get $class-overloading-cast/c - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 576 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $0 - call $class-overloading-cast/A<~lib/string/String>#foo@override - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $0 - i32.const 432 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 496 - i32.const 32 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $class-overloading-cast/c - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - i32.const 576 - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $0 - call $class-overloading-cast/A<~lib/string/String>#foo@override - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/A#constructor + local.tee $this i32.store $0 - local.get $0 - i32.const 432 - local.set $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + i32.eq if - i32.const 0 - i32.const 496 - i32.const 33 i32.const 1 - call $~lib/builtins/abort - unreachable + 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 $left i32.const 0 - call $class-overloading-cast/D#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - f32.const 2.5 - call $class-overloading-cast/D#bar - local.set $0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 - local.get $0 - i32.const 608 - local.set $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 496 - i32.const 35 - i32.const 1 - call $~lib/builtins/abort - unreachable + 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 $left + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading-cast/A<~lib/string/String>#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading-cast/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/A<~lib/string/String>#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 13 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $class-overloading-cast/A#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 12 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $class-overloading-cast/A#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/A#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading-cast/D#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading-cast/B#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading-cast/B#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $start:class-overloading-cast (type $none_=>_none) + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + memory.size $0 + 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 + i32.const 0 + call $class-overloading-cast/B#constructor + global.set $class-overloading-cast/v i32.const 0 + call $class-overloading-cast/B#constructor + global.set $class-overloading-cast/v2 + i32.const 0 + call $class-overloading-cast/B#constructor + global.set $class-overloading-cast/v3 + global.get $class-overloading-cast/v + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + call $class-overloading-cast/A#foo@override + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 464 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 496 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $class-overloading-cast/v2 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading-cast/A#constructor - local.tee $this + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + call $class-overloading-cast/B#foo + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 - local.get $this - local.set $1 + local.get $0 + i32.const 464 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $class-overloading-cast/A<~lib/string/String>#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 496 + i32.const 27 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $class-overloading-cast/v3 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.store $0 offset=8 + local.get $0 + f64.const 1.1 + call $class-overloading-cast/A#foo@override + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 464 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 496 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 0 + call $class-overloading-cast/C#constructor + global.set $class-overloading-cast/c + global.get $class-overloading-cast/c + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-cast/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 576 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.store $0 offset=12 + local.get $0 + call $class-overloading-cast/A<~lib/string/String>#foo@override + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 432 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 496 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $class-overloading-cast/c + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading-cast/A<~lib/string/String>#constructor - local.tee $this - i32.store $0 - local.get $this - 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-cast/A#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 576 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $0 + i32.store $0 offset=12 + local.get $0 + call $class-overloading-cast/A<~lib/string/String>#foo@override + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 432 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 496 + i32.const 33 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 0 + call $class-overloading-cast/D#constructor + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-cast/B#constructor (type $i32_=>_i32) (param $this 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.store $0 offset=8 + local.get $0 + f32.const 2.5 + call $class-overloading-cast/D#bar + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 608 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 496 + i32.const 35 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading-cast/A#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-overloading-cast/D#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3208,16 +3316,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading-cast/B#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading-cast.release.wat b/tests/compiler/class-overloading-cast.release.wat index e0f87c6381..91b9b072fd 100644 --- a/tests/compiler/class-overloading-cast.release.wat +++ b/tests/compiler/class-overloading-cast.release.wat @@ -1396,123 +1396,6 @@ memory.fill $0 local.get $0 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $class-overloading-cast/A @@ -1581,10 +1464,215 @@ global.set $~started call $start:class-overloading-cast ) + (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1708 + i32.lt_s + if + i32.const 34496 + i32.const 34544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1708 + i32.lt_s + if + i32.const 34496 + i32.const 34544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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:class-overloading-cast (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -1634,7 +1722,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1643,26 +1731,30 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $class-overloading-cast/A#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $class-overloading-cast/v global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1671,26 +1763,30 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $class-overloading-cast/A#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $class-overloading-cast/v2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1699,8 +1795,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 7 call $~lib/rt/itcms/__new @@ -1708,7 +1804,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1716,8 +1815,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1728,19 +1827,23 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1851,7 +1954,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1860,8 +1963,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 9 call $~lib/rt/itcms/__new @@ -1869,7 +1972,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1877,8 +1983,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1889,19 +1995,23 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1968,7 +2078,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1977,8 +2087,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 11 call $~lib/rt/itcms/__new @@ -1986,7 +2096,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $2 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1994,8 +2107,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -2006,8 +2119,11 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2015,8 +2131,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -2027,26 +2143,30 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $3 local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2117,45 +2237,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $class-overloading-cast/A#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1708 - i32.lt_s - if - i32.const 34496 - i32.const 34544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/class-overloading.debug.wat b/tests/compiler/class-overloading.debug.wat index f862a7f2b3..b22b79c88a 100644 --- a/tests/compiler/class-overloading.debug.wat +++ b/tests/compiler/class-overloading.debug.wat @@ -2373,49 +2373,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $class-overloading/A#b (type $i32_i32_=>_none) (param $this i32) (param $b i32) i32.const 464 global.set $class-overloading/which @@ -2507,11 +2464,6 @@ call $~lib/builtins/abort unreachable ) - (func $class-overloading/A1#bar (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $class-overloading/A1#baz@override - return - ) (func $class-overloading/B1#baz (type $i32_=>_i32) (param $this i32) (result i32) i32.const 3 return @@ -2951,6 +2903,216 @@ unreachable end ) + (func $class-overloading/A#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/A#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $class-overloading/C#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/B#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_=>_none) (param $this i32) (param $a i32) (local $2 i32) global.get $~lib/memory/__stack_pointer @@ -2962,6 +3124,11 @@ i64.const 0 i64.store $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $a call $class-overloading/B#a global.get $class-overloading/which @@ -2993,8 +3160,8 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:class-overloading (type $none_=>_none) - (local $0 i32) + (func $class-overloading/D#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3003,19 +3170,285 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - memory.size $0 - 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 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/B#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/D#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/E#constructor + local.tee $this + i32.store $0 + local.get $this + 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/CA#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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/CC#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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/A2#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/A2#constructor + local.tee $this + i32.store $0 + local.get $this + 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-overloading (type $none_=>_none) + (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 $0 + memory.size $0 + 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 @@ -3340,136 +3773,7 @@ if i32.const 0 i32.const 528 - i32.const 92 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 32 - global.set $class-overloading/which - global.get $class-overloading/a - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $class-overloading/A#get:c@override - drop - global.get $class-overloading/which - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $class-overloading/a - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 1 - call $class-overloading/A#set:c@override - global.get $class-overloading/which - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 97 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $class-overloading/E#constructor - global.set $class-overloading/a - i32.const 32 - global.set $class-overloading/which - global.get $class-overloading/a - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 1 - call $class-overloading/A#a@override - global.get $class-overloading/which - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 32 - global.set $class-overloading/which - global.get $class-overloading/a - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 1 - call $class-overloading/A#b@override - global.get $class-overloading/which - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.const 496 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 110 + i32.const 92 i32.const 1 call $~lib/builtins/abort unreachable @@ -3501,7 +3805,7 @@ if i32.const 0 i32.const 528 - i32.const 113 + i32.const 95 i32.const 1 call $~lib/builtins/abort unreachable @@ -3531,13 +3835,13 @@ if i32.const 0 i32.const 528 - i32.const 115 + i32.const 97 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - call $class-overloading/F#constructor + call $class-overloading/E#constructor global.set $class-overloading/a i32.const 32 global.set $class-overloading/which @@ -3555,7 +3859,7 @@ local.get $0 i32.store $0 local.get $0 - i32.const 624 + i32.const 496 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3566,7 +3870,7 @@ if i32.const 0 i32.const 528 - i32.const 137 + i32.const 107 i32.const 1 call $~lib/builtins/abort unreachable @@ -3587,7 +3891,7 @@ local.get $0 i32.store $0 local.get $0 - i32.const 624 + i32.const 496 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3598,7 +3902,7 @@ if i32.const 0 i32.const 528 - i32.const 140 + i32.const 110 i32.const 1 call $~lib/builtins/abort unreachable @@ -3619,7 +3923,7 @@ local.get $0 i32.store $0 local.get $0 - i32.const 624 + i32.const 496 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3630,13 +3934,11 @@ if i32.const 0 i32.const 528 - i32.const 143 + i32.const 113 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 32 - global.set $class-overloading/which global.get $class-overloading/a local.set $0 global.get $~lib/memory/__stack_pointer @@ -3651,7 +3953,7 @@ local.get $0 i32.store $0 local.get $0 - i32.const 624 + i32.const 496 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3662,30 +3964,31 @@ if i32.const 0 i32.const 528 - i32.const 146 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable end i32.const 0 - call $class-overloading/CA#constructor - global.set $class-overloading/ia + call $class-overloading/F#constructor + global.set $class-overloading/a i32.const 32 global.set $class-overloading/which - global.get $class-overloading/ia + global.get $class-overloading/a local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 local.get $0 - call $class-overloading/IA#foo@override + i32.const 1 + call $class-overloading/A#a@override global.get $class-overloading/which local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 local.get $0 - i32.const 656 + i32.const 624 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3696,30 +3999,28 @@ if i32.const 0 i32.const 528 - i32.const 162 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - call $class-overloading/CC#constructor - global.set $class-overloading/ic i32.const 32 global.set $class-overloading/which - global.get $class-overloading/ic + global.get $class-overloading/a local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 local.get $0 - call $class-overloading/IA#foo@override + i32.const 1 + call $class-overloading/A#b@override global.get $class-overloading/which local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 local.get $0 - i32.const 688 + i32.const 624 local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3730,389 +4031,246 @@ if i32.const 0 i32.const 528 - i32.const 177 + i32.const 140 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - call $class-overloading/B2#constructor - global.set $class-overloading/b2 - global.get $class-overloading/b2 + i32.const 32 + global.set $class-overloading/which + global.get $class-overloading/a local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 local.get $0 - call $class-overloading/A2#foo@override - i32.const 3 - i32.eq + call $class-overloading/A#get:c@override + drop + global.get $class-overloading/which + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 624 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 209 + i32.const 143 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 32 + global.set $class-overloading/which + global.get $class-overloading/a + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $class-overloading/B2#foo (type $i32_=>_i32) (param $this 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 $0 - i32.const 0 - call $class-overloading/B1#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - 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 - return - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - 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 (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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/B#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/A#constructor - local.tee $this - i32.store $0 - local.get $this - 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/C#constructor (type $i32_=>_i32) (param $this 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 + local.get $0 i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $0 + i32.const 1 + call $class-overloading/A#set:c@override + global.get $class-overloading/which + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/B#constructor - local.tee $this + local.get $0 i32.store $0 - local.get $this - 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/D#constructor (type $i32_=>_i32) (param $this 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.const 624 + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 528 + i32.const 146 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 0 + call $class-overloading/CA#constructor + global.set $class-overloading/ia + i32.const 32 + global.set $class-overloading/which + global.get $class-overloading/ia + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/B#constructor - local.tee $this + local.get $0 i32.store $0 - local.get $this - 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 (type $i32_=>_i32) (param $this 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 + call $class-overloading/IA#foo@override + global.get $class-overloading/which + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 656 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 528 + i32.const 162 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 0 + call $class-overloading/CC#constructor + global.set $class-overloading/ic + i32.const 32 + global.set $class-overloading/which + global.get $class-overloading/ic + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/D#constructor - local.tee $this + local.get $0 i32.store $0 - local.get $this - 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/F#constructor (type $i32_=>_i32) (param $this 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 + call $class-overloading/IA#foo@override + global.get $class-overloading/which + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $0 i32.store $0 - local.get $this + local.get $0 + i32.const 688 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 528 + i32.const 177 + i32.const 1 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/E#constructor - local.tee $this - i32.store $0 - local.get $this - 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/CA#constructor (type $i32_=>_i32) (param $this 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 + call $class-overloading/B2#constructor + global.set $class-overloading/b2 + global.get $class-overloading/b2 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 - local.get $this + local.get $0 + call $class-overloading/A2#foo@override + i32.const 3 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 528 + i32.const 209 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $class-overloading/CC#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading/A1#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 13 + i32.const 17 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading/A2#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading/B1#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 14 + i32.const 16 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $class-overloading/A1#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $class-overloading/B2#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading/A1#bar (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4123,29 +4281,21 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/A2#constructor - local.tee $this + local.get $1 i32.store $0 - local.get $this + local.get $1 + call $class-overloading/A1#baz@override local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $1 + return ) - (func $class-overloading/A1#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $class-overloading/B2#foo (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4155,30 +4305,23 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + i32.const 0 + call $class-overloading/B1#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $1 i32.store $0 - local.get $this + 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 + return ) - (func $class-overloading/B1#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4193,16 +4336,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 16 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $class-overloading/A1#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class-overloading.release.wat b/tests/compiler/class-overloading.release.wat index bfc16e68cd..0fdcd3a8e8 100644 --- a/tests/compiler/class-overloading.release.wat +++ b/tests/compiler/class-overloading.release.wat @@ -1,7 +1,7 @@ (module (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -1418,123 +1418,6 @@ memory.fill $0 local.get $0 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $class-overloading/A#a@override (type $i32_=>_none) (param $0 i32) block $default block $case2 @@ -1552,6 +1435,7 @@ global.set $class-overloading/which return end + local.get $0 call $class-overloading/C#a return end @@ -1642,8 +1526,89 @@ global.set $~started call $start:class-overloading ) - (func $class-overloading/C#a (type $none_=>_none) - (local $0 i32) + (func $class-overloading/B#constructor (type $i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 34656 + i32.const 34704 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 @@ -1660,69 +1625,318 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 i64.store $0 - i32.const 1520 - global.set $class-overloading/which - local.get $0 - i32.const 1520 - i32.store $0 local.get $0 - i32.const 1520 - i32.store $0 offset=4 - i32.const 1520 - i32.const 1520 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.eq if - i32.const 0 - i32.const 1552 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 1616 - global.set $class-overloading/which - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:class-overloading (type $none_=>_none) - (local $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 1868 - i32.lt_s - br_if $folding-inner1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 34636 + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 i32.sub + i32.load $0 offset=16 i32.const 1 i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 - i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/pinSpace - i32.const 1236 - i32.const 1232 + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + if + i32.const 34656 + i32.const 34704 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 1520 + global.set $class-overloading/which + local.get $1 + i32.const 1520 + i32.store $0 + local.get $1 + i32.const 1520 + i32.store $0 offset=4 + i32.const 1520 + i32.const 1520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 1616 + 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 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + if + i32.const 34656 + i32.const 34704 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $class-overloading/B#constructor + local.tee $0 + i32.store $0 + 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 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + if + i32.const 34656 + i32.const 34704 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $class-overloading/D#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:class-overloading (type $none_=>_none) + (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1868 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34636 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/pinSpace + i32.const 1236 + i32.const 1232 i32.store $0 i32.const 1240 i32.const 1232 @@ -1928,7 +2142,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1937,20 +2151,24 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $class-overloading/B#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1959,7 +2177,9 @@ global.set $class-overloading/which global.get $~lib/memory/__stack_pointer global.get $class-overloading/c + local.tee $0 i32.store $0 + local.get $0 call $class-overloading/C#a global.get $~lib/memory/__stack_pointer global.get $class-overloading/which @@ -2437,7 +2657,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2446,20 +2666,24 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 9 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $class-overloading/E#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2654,7 +2878,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2663,20 +2887,24 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 11 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2735,7 +2963,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2744,20 +2972,24 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 13 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2816,7 +3048,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2825,8 +3057,8 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 15 call $~lib/rt/itcms/__new @@ -2834,7 +3066,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2842,8 +3077,8 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -2854,19 +3089,23 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2896,7 +3135,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2905,8 +3144,8 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 16 call $~lib/rt/itcms/__new @@ -2914,7 +3153,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2922,8 +3164,8 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -2934,24 +3176,43 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + 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 1868 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.const 8 i32.sub @@ -2970,6 +3231,10 @@ 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 br $__inlined_func$class-overloading/A2#foo@override end i32.const 1744 @@ -3026,154 +3291,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $class-overloading/B#constructor (type $i32_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1868 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1868 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 34656 - i32.const 34704 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $class-overloading/D#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1868 - i32.lt_s - if - i32.const 34656 - i32.const 34704 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/B#constructor - local.tee $0 - i32.store $0 - 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 (type $i32_=>_i32) (param $0 i32) (result 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 1868 - i32.lt_s - if - i32.const 34656 - i32.const 34704 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $class-overloading/D#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/class.debug.wat b/tests/compiler/class.debug.wat index d746667d18..723846b61e 100644 --- a/tests/compiler/class.debug.wat +++ b/tests/compiler/class.debug.wat @@ -126,52 +126,6 @@ local.get $three i32.store8 $0 offset=6 ) - (func $class/test (type $i32_=>_i32) (param $animal i32) (result i32) - (local $ptr i32) - (local $cls i32) - local.get $animal - i32.const 1 - i32.const 2 - call $class/Animal#instanceAdd - drop - local.get $animal - f32.const 1 - f32.const 2 - call $class/Animal#instanceSub - drop - local.get $animal - call $class/Animal#get:one - drop - local.get $animal - call $class/Animal#get:two - drop - local.get $animal - call $class/Animal#get:three - drop - local.get $animal - i32.const 0 - i32.const 1 - i32.add - call $class/Animal#set:one - local.get $animal - i32.const 1 - i32.const 1 - i32.add - call $class/Animal#set:two - local.get $animal - i32.const 1 - i32.const 1 - i32.add - i32.const 1 - i32.add - call $class/Animal#set:three - local.get $animal - local.set $ptr - local.get $ptr - local.set $cls - local.get $cls - return - ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor @@ -2518,14 +2472,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2607,8 +2553,10 @@ unreachable end ) - (func $class/GenericInitializer#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $class/test (type $i32_=>_i32) (param $animal i32) (result i32) + (local $ptr i32) + (local $cls i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2617,66 +2565,96 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $3 i32.store $0 - local.get $this - i32.const 0 - i32.const 0 - call $~lib/array/Array#constructor - local.set $1 + local.get $3 + i32.const 1 + i32.const 2 + call $class/Animal#instanceAdd + drop + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $class/GenericInitializer#set:foo - local.get $this - local.set $1 + local.get $3 + i32.store $0 + local.get $3 + f32.const 1 + f32.const 2 + call $class/Animal#instanceSub + drop + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $3 + i32.store $0 + local.get $3 + call $class/Animal#get:one + drop + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $3 + i32.store $0 + local.get $3 + call $class/Animal#get:two + drop + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $class/Animal#get:three + drop + local.get $animal + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 + i32.const 1 + i32.add + call $class/Animal#set:one + local.get $animal + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.set $1 + local.get $3 + i32.const 1 + i32.const 1 + i32.add + call $class/Animal#set:two + local.get $animal + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + i32.store $0 + local.get $3 + i32.const 1 + i32.const 1 + i32.add + i32.const 1 + i32.add + call $class/Animal#set:three + local.get $animal + local.set $ptr + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.tee $cls + i32.store $0 offset=4 + local.get $cls + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $3 + return ) (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) @@ -2685,13 +2663,16 @@ (local $buffer i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if @@ -2703,15 +2684,35 @@ i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:length_ local.get $length @@ -2743,31 +2744,166 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 call $~lib/array/Array#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $length call $~lib/array/Array#set:length_ local.get $this local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $6 ) + (func $class/GenericInitializer#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/array/Array#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $class/GenericInitializer#set:foo + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + 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/test (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/class.release.wat b/tests/compiler/class.release.wat index c8ea6317c9..1e583ace69 100644 --- a/tests/compiler/class.release.wat +++ b/tests/compiler/class.release.wat @@ -1567,7 +1567,7 @@ (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 block $folding-inner0 @@ -1580,6 +1580,9 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 4 i32.const 5 call $~lib/rt/itcms/__new @@ -1587,6 +1590,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1615,7 +1621,10 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1627,20 +1636,35 @@ i64.const 0 i64.store $0 local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 16 i32.const 6 call $~lib/rt/itcms/__new local.tee $2 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 call $~lib/array/Array#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 i32.store $0 offset=12 @@ -1649,31 +1673,46 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 local.get $2 local.get $1 call $~lib/array/Array#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 local.get $1 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 32 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $2 call $~lib/array/Array#set:buffer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer return @@ -1686,17 +1725,21 @@ unreachable ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $folding-inner0 block $invalid - block $class/Animal - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $class/Animal $folding-inner0 $folding-inner0 $invalid + block $~lib/array/Array + block $class/Animal + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $class/Animal $folding-inner0 $~lib/array/Array $invalid + end + return end return end @@ -1704,6 +1747,39 @@ end return end + 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 1568 + i32.lt_s + if + i32.const 34368 + i32.const 34416 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -1756,44 +1832,89 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.lt_s - if - i32.const 34368 - i32.const 34416 - i32.const 1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + drop + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load16_s $0 offset=4 + drop + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load8_s $0 offset=6 + drop + local.get $1 + local.get $0 + i32.store $0 + local.get $0 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.store16 $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store8 $0 offset=6 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + 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 + local.get $0 + return end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - drop - local.get $0 - i32.load16_s $0 offset=4 - drop - local.get $0 - i32.load8_s $0 offset=6 - drop - local.get $0 + i32.const 34368 + i32.const 34416 i32.const 1 - i32.store $0 - local.get $0 - i32.const 2 - i32.store16 $0 offset=4 - local.get $0 - i32.const 3 - i32.store8 $0 offset=6 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/constructor.debug.wat b/tests/compiler/constructor.debug.wat index e1edb45a54..259875a024 100644 --- a/tests/compiler/constructor.debug.wat +++ b/tests/compiler/constructor.debug.wat @@ -2480,143 +2480,22 @@ unreachable end ) - (func $start:constructor (type $none_=>_none) - (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 $0 - memory.size $0 - 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 - i32.const 0 - call $constructor/EmptyCtor#constructor - global.set $constructor/emptyCtor - i32.const 0 - call $constructor/EmptyCtorWithFieldInit#constructor - global.set $constructor/emptyCtorWithFieldInit - i32.const 0 - call $constructor/EmptyCtorWithFieldNoInit#constructor - global.set $constructor/emptyCtorWithFieldNoInit - i32.const 0 - call $constructor/EmptyCtorWithFieldAccess#constructor - global.set $constructor/emptyCtorWithFieldAccess - i32.const 0 - call $constructor/None#constructor - global.set $constructor/none - i32.const 0 - call $constructor/JustFieldInit#constructor - global.set $constructor/justFieldInit - i32.const 0 - call $constructor/JustFieldNoInit#constructor - global.set $constructor/justFieldNoInit - i32.const 0 - call $constructor/CtorReturns#constructor - global.set $constructor/ctorReturns - i32.const 0 - call $constructor/CtorConditionallyReturns#constructor - global.set $constructor/ctorConditionallyReturns - i32.const 0 - call $constructor/CtorConditionallyReturnsThis#constructor - global.set $constructor/ctorConditionallyReturnsThis - i32.const 0 - i32.const 1 - i32.const 2 - call $constructor/CtorFieldInitOrder#constructor - global.set $constructor/ctorFieldInitOrder - global.get $constructor/ctorFieldInitOrder - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $constructor/CtorFieldInitOrder#get:a - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 102 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $constructor/ctorFieldInitOrder - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $constructor/CtorFieldInitOrder#get:b - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 103 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $constructor/ctorFieldInitOrder - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $constructor/CtorFieldInitOrder#get:c - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 104 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $constructor/EmptyCtor#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $constructor/EmptyCtorWithFieldInit#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 @@ -2624,38 +2503,15 @@ local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $1 - ) - (func $constructor/EmptyCtorWithFieldInit#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this + i32.store $0 offset=4 + local.get $1 i32.const 1 call $constructor/EmptyCtorWithFieldInit#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2663,13 +2519,13 @@ (func $constructor/EmptyCtorWithFieldNoInit#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2681,12 +2537,17 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $constructor/EmptyCtorWithFieldNoInit#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2694,13 +2555,13 @@ (func $constructor/EmptyCtorWithFieldAccess#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2712,43 +2573,25 @@ i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $constructor/EmptyCtorWithFieldAccess#set:a local.get $this - i32.const 1 - call $constructor/EmptyCtorWithFieldAccess#set:a - local.get $this 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/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + i32.store $0 offset=4 + local.get $1 + i32.const 1 + call $constructor/EmptyCtorWithFieldAccess#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2756,13 +2599,13 @@ (func $constructor/None#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2775,13 +2618,18 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2789,13 +2637,13 @@ (func $constructor/JustFieldInit#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2808,16 +2656,26 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 call $constructor/JustFieldInit#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2825,13 +2683,13 @@ (func $constructor/JustFieldNoInit#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2844,128 +2702,88 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $constructor/JustFieldNoInit#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $constructor/CtorConditionallyReturns#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $constructor/CtorFieldInitOrder#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $a i32) (param $b i32) (result i32) + (local $3 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 12 + i32.const 14 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $constructor/b - if - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $constructor/CtorConditionallyReturnsThis#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $constructor/b - if - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - end local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $constructor/CtorFieldInitOrder#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $a i32) (param $b 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 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $a call $constructor/CtorFieldInitOrder#set:a local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $b call $constructor/CtorFieldInitOrder#set:b local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 call $constructor/CtorFieldInitOrder#get:a local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 call $constructor/CtorFieldInitOrder#get:b i32.add call $constructor/CtorFieldInitOrder#set:c @@ -2982,6 +2800,11 @@ unreachable end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $constructor/CtorFieldInitOrder#get:a i32.const 1 i32.eq @@ -3007,6 +2830,11 @@ unreachable end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $constructor/CtorFieldInitOrder#get:b i32.const 2 i32.eq @@ -3020,6 +2848,11 @@ unreachable end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $constructor/CtorFieldInitOrder#get:c i32.const 3 i32.eq @@ -3035,9 +2868,264 @@ local.get $this local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $start:constructor (type $none_=>_none) + (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 $0 + memory.size $0 + 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 + i32.const 0 + call $constructor/EmptyCtor#constructor + global.set $constructor/emptyCtor + i32.const 0 + call $constructor/EmptyCtorWithFieldInit#constructor + global.set $constructor/emptyCtorWithFieldInit + i32.const 0 + call $constructor/EmptyCtorWithFieldNoInit#constructor + global.set $constructor/emptyCtorWithFieldNoInit + i32.const 0 + call $constructor/EmptyCtorWithFieldAccess#constructor + global.set $constructor/emptyCtorWithFieldAccess + i32.const 0 + call $constructor/None#constructor + global.set $constructor/none + i32.const 0 + call $constructor/JustFieldInit#constructor + global.set $constructor/justFieldInit + i32.const 0 + call $constructor/JustFieldNoInit#constructor + global.set $constructor/justFieldNoInit + i32.const 0 + call $constructor/CtorReturns#constructor + global.set $constructor/ctorReturns + i32.const 0 + call $constructor/CtorConditionallyReturns#constructor + global.set $constructor/ctorConditionallyReturns + i32.const 0 + call $constructor/CtorConditionallyReturnsThis#constructor + global.set $constructor/ctorConditionallyReturnsThis + i32.const 0 + i32.const 1 + i32.const 2 + call $constructor/CtorFieldInitOrder#constructor + global.set $constructor/ctorFieldInitOrder + global.get $constructor/ctorFieldInitOrder + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $constructor/CtorFieldInitOrder#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 102 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $constructor/ctorFieldInitOrder + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $constructor/CtorFieldInitOrder#get:b + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 103 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $constructor/ctorFieldInitOrder + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $constructor/CtorFieldInitOrder#get:c + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 104 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $constructor/EmptyCtor#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + 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/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $constructor/CtorConditionallyReturns#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $constructor/b + if + i32.const 0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $constructor/CtorConditionallyReturnsThis#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $constructor/b + if + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + end + local.get $this + 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/constructor.release.wat b/tests/compiler/constructor.release.wat index b3b8d87587..7c38aa6351 100644 --- a/tests/compiler/constructor.release.wat +++ b/tests/compiler/constructor.release.wat @@ -1628,15 +1628,17 @@ ) (func $~start (type $none_=>_none) (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -1680,7 +1682,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -1698,101 +1700,116 @@ local.get $0 global.set $constructor/emptyCtor global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $constructor/emptyCtorWithFieldInit global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $constructor/emptyCtorWithFieldNoInit global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $constructor/emptyCtorWithFieldAccess global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 8 @@ -1800,28 +1817,32 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $constructor/none global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 9 @@ -1829,31 +1850,38 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $constructor/justFieldInit global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 10 @@ -1861,15 +1889,22 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1881,7 +1916,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -1902,7 +1937,7 @@ global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 @@ -1920,37 +1955,61 @@ local.get $0 global.set $constructor/ctorConditionallyReturnsThis global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1552 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $0 i32.const 12 i32.const 14 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 i32.store $0 offset=8 local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 i32.load $0 offset=4 + local.set $2 local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $2 + local.get $1 i32.load $0 offset=8 i32.add i32.store $0 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.load $0 offset=4 i32.const 1 i32.ne @@ -1962,7 +2021,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.load $0 offset=8 i32.const 2 i32.ne @@ -1974,7 +2036,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.load $0 i32.const 3 i32.ne @@ -1987,10 +2052,10 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 global.set $constructor/ctorFieldInitOrder global.get $~lib/memory/__stack_pointer global.get $constructor/ctorFieldInitOrder diff --git a/tests/compiler/do.debug.wat b/tests/compiler/do.debug.wat index e9fa720427..0ec71a93f3 100644 --- a/tests/compiler/do.debug.wat +++ b/tests/compiler/do.debug.wat @@ -3072,35 +3072,45 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $do/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $do/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3115,16 +3125,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/do.release.wat b/tests/compiler/do.release.wat index f802c61a5f..61e63b992d 100644 --- a/tests/compiler/do.release.wat +++ b/tests/compiler/do.release.wat @@ -1847,7 +1847,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1857,8 +1857,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1866,6 +1866,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1893,7 +1896,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/duplicate-fields.debug.wat b/tests/compiler/duplicate-fields.debug.wat index 5d53fde51c..2edf21fdfd 100644 --- a/tests/compiler/duplicate-fields.debug.wat +++ b/tests/compiler/duplicate-fields.debug.wat @@ -2506,8 +2506,8 @@ unreachable end ) - (func $start:duplicate-fields (type $none_=>_none) - (local $0 i32) + (func $duplicate-fields/A#constructor (type $i32_i32_=>_i32) (param $this i32) (param $bar i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -2516,114 +2516,6 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - i32.const 0 - i32.const 0 - i32.eq - drop - i32.const 0 - i32.const 0 - i32.eq - drop - memory.size $0 - 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 - i32.const 0 - i32.const 10 - call $duplicate-fields/B#constructor - global.set $duplicate-fields/foo - global.get $duplicate-fields/foo - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $duplicate-fields/B#get:bar - i32.const 10 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 15 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 0 - i32.eq - drop - i32.const 0 - i32.const 0 - i32.eq - drop - i32.const 0 - i32.const 0 - i32.const 1 - call $duplicate-fields/Foo#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $duplicate-fields/B2#constructor - global.set $duplicate-fields/raz - global.get $duplicate-fields/raz - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $0 - call $duplicate-fields/B2#get:bar - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $duplicate-fields/Foo#get:foo - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $duplicate-fields/B3#constructor - drop - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $duplicate-fields/A#constructor (type $i32_i32_=>_i32) (param $this i32) (param $bar 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 $0 local.get $this i32.eqz if @@ -2635,15 +2527,25 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $duplicate-fields/A#set:bar local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar call $duplicate-fields/A#set:bar local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -2651,13 +2553,13 @@ (func $duplicate-fields/B#constructor (type $i32_i32_=>_i32) (param $this i32) (param $bar i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2669,21 +2571,36 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $duplicate-fields/B#set:bar global.get $~lib/memory/__stack_pointer local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar call $duplicate-fields/A#constructor local.tee $this i32.store $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar call $duplicate-fields/B#set:bar local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -2691,13 +2608,16 @@ (func $duplicate-fields/A2#constructor (type $i32_i32_=>_i32) (param $this i32) (param $bar i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $this i32.eqz if @@ -2709,15 +2629,30 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $duplicate-fields/A2#set:bar local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $duplicate-fields/A2#set:bar local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -2725,13 +2660,16 @@ (func $duplicate-fields/B2#constructor (type $i32_i32_=>_i32) (param $this i32) (param $bar i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $this i32.eqz if @@ -2743,21 +2681,46 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $duplicate-fields/B2#set:bar global.get $~lib/memory/__stack_pointer local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $duplicate-fields/A2#constructor local.tee $this i32.store $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $bar + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $duplicate-fields/B2#set:bar local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -2765,13 +2728,13 @@ (func $duplicate-fields/Foo#constructor (type $i32_i32_=>_i32) (param $this i32) (param $foo i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2783,87 +2746,246 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $duplicate-fields/Foo#set:foo local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $foo call $duplicate-fields/Foo#set:foo local.get $this local.set $2 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/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $duplicate-fields/A3#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 + i32.const 8 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/A3#set:prot + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $duplicate-fields/A3#set:pub + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $duplicate-fields/A3#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $duplicate-fields/B3#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 10 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $duplicate-fields/A3#constructor local.tee $this i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $duplicate-fields/A3#set:prot + call $duplicate-fields/B3#set:prot local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $duplicate-fields/A3#set:pub + call $duplicate-fields/B3#set:pub local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $duplicate-fields/B3#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $start:duplicate-fields (type $none_=>_none) + (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 $0 + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.eq + drop + memory.size $0 + 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 + i32.const 0 + i32.const 10 + call $duplicate-fields/B#constructor + global.set $duplicate-fields/foo + global.get $duplicate-fields/foo + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $duplicate-fields/B#get:bar + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.eq + drop + i32.const 0 + i32.const 0 + i32.const 1 + call $duplicate-fields/Foo#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $duplicate-fields/B2#constructor + global.set $duplicate-fields/raz + global.get $duplicate-fields/raz + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $duplicate-fields/B2#get:bar + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $duplicate-fields/Foo#get:foo + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $duplicate-fields/B3#constructor + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2877,23 +2999,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 9 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $duplicate-fields/A3#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $duplicate-fields/B3#set:prot - local.get $this - i32.const 0 - call $duplicate-fields/B3#set:pub local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/duplicate-fields.release.wat b/tests/compiler/duplicate-fields.release.wat index 76508d203d..bdd05d67ec 100644 --- a/tests/compiler/duplicate-fields.release.wat +++ b/tests/compiler/duplicate-fields.release.wat @@ -1627,6 +1627,7 @@ (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1673,7 +1674,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1682,20 +1683,26 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1703,8 +1710,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1715,24 +1722,34 @@ local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 10 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 10 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1754,7 +1771,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1763,29 +1780,36 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 7 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 - local.get $1 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1794,20 +1818,33 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $0 i32.const 4 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1815,8 +1852,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $0 i32.eqz if @@ -1827,24 +1868,39 @@ local.tee $0 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $duplicate-fields/A2#set:bar + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $2 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $2 call $duplicate-fields/A2#set:bar global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1871,7 +1927,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1880,8 +1936,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 i32.const 9 @@ -1890,7 +1946,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1898,8 +1957,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1912,6 +1971,9 @@ end global.get $~lib/memory/__stack_pointer local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1939,27 +2001,39 @@ local.get $2 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=4 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 $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/exportstar-rereexport.debug.wat b/tests/compiler/exportstar-rereexport.debug.wat index af057762b3..8e46cfa481 100644 --- a/tests/compiler/exportstar-rereexport.debug.wat +++ b/tests/compiler/exportstar-rereexport.debug.wat @@ -2278,11 +2278,6 @@ local.get $this i32.load $0 ) - (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $exports/Car#get:doors - return - ) (func $start:exportstar-rereexport (type $none_=>_none) call $start:rereexport ) @@ -2380,6 +2375,75 @@ unreachable end ) + (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $exports/Car#get:doors + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $start:reexport (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2586,38 +2650,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.set $2 - 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/exportstar-rereexport.release.wat b/tests/compiler/exportstar-rereexport.release.wat index 89e30b216f..ac8441d3a1 100644 --- a/tests/compiler/exportstar-rereexport.release.wat +++ b/tests/compiler/exportstar-rereexport.release.wat @@ -3,9 +3,9 @@ (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -1489,7 +1489,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1511,7 +1511,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1529,7 +1529,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1556,8 +1556,9 @@ ) (func $exports/Car#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1573,20 +1574,60 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $exports/Car#get:numDoors (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1560 + i32.lt_s + if + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $0 + local.get $1 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/extends-baseaggregate.debug.wat b/tests/compiler/extends-baseaggregate.debug.wat index 6f262908bd..7d66bf71aa 100644 --- a/tests/compiler/extends-baseaggregate.debug.wat +++ b/tests/compiler/extends-baseaggregate.debug.wat @@ -2393,102 +2393,6 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 592 - i32.const 640 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -2498,41 +2402,6 @@ local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add - local.set $len - local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $oldLen - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - local.get $this - local.get $len - call $~lib/array/Array#set:length_ - local.get $len - return - ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) global.get $extends-baseaggregate/poolB @@ -2635,48 +2504,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2689,48 +2516,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2816,12 +2601,8 @@ unreachable end ) - (func $start:extends-baseaggregate (type $none_=>_none) - (local $0 i32) + (func $extends-baseaggregate/A1#constructor (type $i32_=>_i32) (param $this 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 @@ -2830,73 +2611,108 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - memory.size $0 - 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 304 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 336 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 480 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - global.get $extends-baseaggregate/poolA - local.set $4 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - i32.const 0 - call $extends-baseaggregate/A2#constructor - local.set $4 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store $0 offset=4 - local.get $4 - call $~lib/array/Array#push - drop + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $extends-baseaggregate/A1#set:padding0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $extends-baseaggregate/A1#set:padding1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $extends-baseaggregate/A1#set:c1 + local.get $this + 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/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $extends-baseaggregate/A2#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 + i32.const 20 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $extends-baseaggregate/A1#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $extends-baseaggregate/A1#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2905,39 +2721,362 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.eqz + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 592 + i32.const 640 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this + local.get $14 i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 end global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len 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 $0 local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len local.get $this - f64.const 0 - call $extends-baseaggregate/A1#set:padding0 + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 1 + drop local.get $this - f64.const 0 - call $extends-baseaggregate/A1#set:padding1 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $len + call $~lib/array/Array#set:length_ + local.get $len + 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 $start:extends-baseaggregate (type $none_=>_none) + (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 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + memory.size $0 + 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 304 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 336 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 480 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $extends-baseaggregate/poolA + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 i32.const 0 - call $extends-baseaggregate/A1#set:c1 + call $extends-baseaggregate/A2#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/array/Array#push + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop local.get $this - local.set $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $extends-baseaggregate/A2#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2951,17 +3090,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.const 7 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $extends-baseaggregate/A1#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-baseaggregate.release.wat b/tests/compiler/extends-baseaggregate.release.wat index cd17157ecc..1e8b9fe433 100644 --- a/tests/compiler/extends-baseaggregate.release.wat +++ b/tests/compiler/extends-baseaggregate.release.wat @@ -1521,9 +1521,35 @@ (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 + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + if + i32.const 34528 + i32.const 34576 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - local.tee $1 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 local.get $0 i32.load $0 offset=12 i32.const 2 @@ -1549,6 +1575,9 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.tee $0 @@ -1556,6 +1585,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $folding-inner1 @@ -1617,11 +1650,11 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 @@ -1662,17 +1695,17 @@ i32.const 1168 i32.store $0 local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 20 i32.const 7 @@ -1681,16 +1714,19 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + local.get $5 + i32.store $0 offset=4 + local.get $0 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $5 i32.eqz if @@ -1703,13 +1739,16 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $5 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -1730,35 +1769,76 @@ local.get $1 local.get $5 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 local.get $5 f64.const 0 f64.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 local.get $5 f64.const 0 f64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 local.get $5 i32.const 0 i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $5 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $5 i32.store $0 offset=4 + 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 1740 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1168 + i32.store $0 i32.const 1180 i32.load $0 - local.tee $3 + local.tee $4 i32.const 1 i32.add - local.tee $4 + local.tee $3 + local.set $1 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1168 + i32.store $0 + local.get $1 i32.const 1176 i32.load $0 local.tee $0 @@ -1766,7 +1846,7 @@ i32.shr_u i32.gt_u if - local.get $4 + local.get $1 i32.const 268435455 i32.gt_u if @@ -1777,6 +1857,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 1168 + i32.store $0 block $__inlined_func$~lib/rt/itcms/__renew i32.const 1073741820 local.get $0 @@ -1789,8 +1872,8 @@ select local.tee $0 i32.const 8 - local.get $4 - local.get $4 + local.get $1 + local.get $1 i32.const 8 i32.le_u select @@ -1859,9 +1942,16 @@ local.get $2 i32.store $0 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 1168 + i32.store $0 i32.const 1172 i32.load $0 - local.get $3 + local.get $4 i32.const 2 i32.shl i32.add @@ -1873,9 +1963,17 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1168 + i32.store $0 i32.const 1180 - local.get $4 + local.get $3 i32.store $0 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 8 i32.add diff --git a/tests/compiler/extends-recursive.debug.wat b/tests/compiler/extends-recursive.debug.wat index 51c7fd7c1f..c583f5d69d 100644 --- a/tests/compiler/extends-recursive.debug.wat +++ b/tests/compiler/extends-recursive.debug.wat @@ -2431,71 +2431,91 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $extends-recursive/Parent#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 + i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $extends-recursive/Parent#set:child + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $extends-recursive/Parent#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $extends-recursive/Child#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $extends-recursive/Parent#constructor local.tee $this i32.store $0 local.get $this - i32.const 0 - call $extends-recursive/Parent#set:child - local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $extends-recursive/Child#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2509,17 +2529,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $extends-recursive/Parent#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/extends-recursive.release.wat b/tests/compiler/extends-recursive.release.wat index 87553b4474..79a0ffdb5e 100644 --- a/tests/compiler/extends-recursive.release.wat +++ b/tests/compiler/extends-recursive.release.wat @@ -1564,7 +1564,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1574,8 +1574,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 4 @@ -1584,7 +1584,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $2 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1592,8 +1595,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1606,6 +1609,9 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1633,18 +1639,21 @@ local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer br $__inlined_func$start:extends-recursive diff --git a/tests/compiler/field-initialization.debug.wat b/tests/compiler/field-initialization.debug.wat index ead11b6651..69433f2fa5 100644 --- a/tests/compiler/field-initialization.debug.wat +++ b/tests/compiler/field-initialization.debug.wat @@ -2627,49 +2627,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $field-initialization/SomeOtherObject#set:c (type $i32_i32_=>_none) (param $this i32) (param $c i32) local.get $this local.get $c @@ -3129,7 +3086,7 @@ unreachable end ) - (func $field-initialization/Ref_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Value_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3144,26 +3101,29 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 6 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Ref_Init#set:a + i32.const 1 + call $field-initialization/Value_Init#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3172,7 +3132,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/Nullable_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Value#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3187,26 +3147,29 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 7 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Nullable_Init#set:a + i32.const 0 + call $field-initialization/Value#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3215,86 +3178,119 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/Ref_Init_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Ref_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 12 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 - call $field-initialization/Ref_Init_Ctor#set:a + call $field-initialization/Ref_Init#set:a local.get $this 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 $field-initialization/Ref_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Nullable_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 13 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this - i32.const 0 - call $field-initialization/Ref_Ctor_Init#set:a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 - call $field-initialization/Ref_Ctor_Init#set:a + call $field-initialization/Nullable_Init#set:a local.get $this 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 $field-initialization/Nullable_Init_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Nullable#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3309,21 +3305,29 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 16 + i32.const 8 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Nullable_Init_Ctor#set:a + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Nullable#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3332,7 +3336,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/Nullable_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Value_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3347,24 +3351,19 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 17 + i32.const 9 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - i32.const 0 - call $field-initialization/Nullable_Ctor_Init#set:a - local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Nullable_Ctor_Init#set:a + i32.const 0 + call $field-initialization/Value_Ctor#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3373,7 +3372,7 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/Inherit_Base#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $field-initialization/Value_Init_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3388,26 +3387,19 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 19 + i32.const 10 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Inherit_Base#set:a + i32.const 1 + call $field-initialization/Value_Init_Ctor#set:a local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -3416,8 +3408,8 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/Flow_Balanced#constructor (type $i32_i32_=>_i32) (param $this i32) (param $cond i32) (result i32) - (local $2 i32) + (func $field-initialization/Value_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3431,187 +3423,882 @@ if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 23 + i32.const 11 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $field-initialization/Flow_Balanced#set:a - local.get $cond - if - local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $field-initialization/Flow_Balanced#set:a - else - local.get $this - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $field-initialization/Flow_Balanced#set:a - end + call $field-initialization/Value_Ctor_Init#set:a local.get $this - local.set $2 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + call $field-initialization/Value_Ctor_Init#set:a + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 ) - (func $start:field-initialization (type $none_=>_none) - (local $0 i32) + (func $field-initialization/Ref_Init_Ctor#constructor (type $i32_=>_i32) (param $this 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) - (local $20 i32) - (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) - (local $27 i32) - (local $28 i32) - (local $29 i32) - (local $30 i32) - (local $31 i32) - (local $32 i32) - (local $33 i32) - (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 144 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 144 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $field-initialization/Ref_Init_Ctor#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Ref_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 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 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $field-initialization/Value_Init#constructor - local.tee $0 - i32.store $0 - local.get $0 - call $field-initialization/Value_Init#get:a - i32.const 1 - i32.eq + i32.store $0 offset=8 + local.get $this i32.eqz if - i32.const 0 - i32.const 432 - i32.const 8 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $field-initialization/Value#constructor - local.tee $1 + call $field-initialization/Ref_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 local.get $1 - call $field-initialization/Value#get:a i32.const 0 - i32.eq + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $field-initialization/Ref_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Ref_Ctor_Param#constructor (type $i32_i32_=>_i32) (param $this i32) (param $a 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this i32.eqz if - i32.const 0 - i32.const 432 - i32.const 16 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $field-initialization/Ref_Init#constructor - local.tee $2 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=8 local.get $2 - call $field-initialization/Ref_Init#get:a - i32.const 0 - i32.ne + call $field-initialization/Ref_Ctor_Param#set:a + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $field-initialization/Nullable_Ctor#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if - i32.const 0 - i32.const 432 - i32.const 24 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $field-initialization/Nullable_Init#constructor - local.tee $3 - i32.store $0 offset=12 - local.get $3 - call $field-initialization/Nullable_Init#get:a + call $field-initialization/Nullable_Ctor#set:a + local.get $this + 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/Nullable_Init_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.ne + i32.store $0 offset=8 + local.get $this i32.eqz if - i32.const 0 - i32.const 432 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $field-initialization/Nullable#constructor - local.tee $4 - i32.store $0 offset=16 - local.get $4 - call $field-initialization/Nullable#get:a + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $field-initialization/Nullable_Init_Ctor#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Nullable_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $field-initialization/Nullable_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $field-initialization/Nullable_Ctor_Init#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Inherit_Base#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $field-initialization/Inherit_Base#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $field-initialization/Inherit#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $field-initialization/Inherit_Base#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $field-initialization/Inherit_Base#constructor + local.tee $this + i32.store $0 + local.get $this + 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/SomeObject#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeObject#set:a + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeObject#set:b + local.get $this + 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 (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $field-initialization/SomeOtherObject#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $field-initialization/SomeObject#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $field-initialization/SomeOtherObject#set:c + local.get $this + 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/Flow_Balanced#constructor (type $i32_i32_=>_i32) (param $this i32) (param $cond 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 23 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $field-initialization/Flow_Balanced#set:a + local.get $cond + if + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $field-initialization/Flow_Balanced#set:a + else + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $field-initialization/Flow_Balanced#set:a + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $start:field-initialization (type $none_=>_none) + (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) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i32) + (local $28 i32) + (local $29 i32) + (local $30 i32) + (local $31 i32) + (local $32 i32) + (local $33 i32) + (local $34 i32) + global.get $~lib/memory/__stack_pointer + i32.const 148 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 148 + memory.fill $0 + memory.size $0 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field-initialization/Value_Init#constructor + local.tee $0 + i32.store $0 + local.get $0 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Value_Init#get:a + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 8 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field-initialization/Value#constructor + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Value#get:a + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 16 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field-initialization/Ref_Init#constructor + local.tee $2 + i32.store $0 offset=12 + local.get $2 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Ref_Init#get:a + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 24 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field-initialization/Nullable_Init#constructor + local.tee $3 + i32.store $0 offset=16 + local.get $3 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Nullable_Init#get:a + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 32 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field-initialization/Nullable#constructor + local.tee $4 + i32.store $0 offset=20 + local.get $4 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Nullable#get:a i32.const 0 i32.eq i32.eqz @@ -3627,8 +4314,13 @@ i32.const 0 call $field-initialization/Value_Ctor#constructor local.tee $5 - i32.store $0 offset=20 + i32.store $0 offset=24 local.get $5 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Value_Ctor#get:a i32.const 0 i32.eq @@ -3645,8 +4337,13 @@ i32.const 0 call $field-initialization/Value_Init_Ctor#constructor local.tee $6 - i32.store $0 offset=24 + i32.store $0 offset=28 local.get $6 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Value_Init_Ctor#get:a i32.const 1 i32.eq @@ -3663,8 +4360,13 @@ i32.const 0 call $field-initialization/Value_Ctor_Init#constructor local.tee $7 - i32.store $0 offset=28 + i32.store $0 offset=32 local.get $7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Value_Ctor_Init#get:a i32.const 1 i32.eq @@ -3681,8 +4383,13 @@ i32.const 0 call $field-initialization/Ref_Init_Ctor#constructor local.tee $8 - i32.store $0 offset=32 + i32.store $0 offset=36 local.get $8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Ref_Init_Ctor#get:a i32.const 0 i32.ne @@ -3699,8 +4406,13 @@ i32.const 0 call $field-initialization/Ref_Ctor_Init#constructor local.tee $9 - i32.store $0 offset=36 + i32.store $0 offset=40 local.get $9 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Ref_Ctor_Init#get:a i32.const 0 i32.ne @@ -3718,14 +4430,24 @@ i32.const 0 call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $10 - i32.store $0 offset=40 + i32.store $0 offset=44 global.get $~lib/memory/__stack_pointer i32.const 0 local.get $10 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=48 + local.get $34 call $field-initialization/Ref_Ctor_Param#constructor local.tee $11 - i32.store $0 offset=44 + i32.store $0 offset=52 local.get $11 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Ref_Ctor_Param#get:a local.get $10 i32.eq @@ -3742,8 +4464,13 @@ i32.const 0 call $field-initialization/Nullable_Ctor#constructor local.tee $12 - i32.store $0 offset=48 + i32.store $0 offset=56 local.get $12 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Nullable_Ctor#get:a i32.const 0 i32.eq @@ -3760,8 +4487,13 @@ i32.const 0 call $field-initialization/Nullable_Init_Ctor#constructor local.tee $13 - i32.store $0 offset=52 + i32.store $0 offset=60 local.get $13 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Nullable_Init_Ctor#get:a i32.const 0 i32.ne @@ -3778,8 +4510,13 @@ i32.const 0 call $field-initialization/Nullable_Ctor_Init#constructor local.tee $14 - i32.store $0 offset=56 + i32.store $0 offset=64 local.get $14 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Nullable_Ctor_Init#get:a i32.const 0 i32.ne @@ -3796,8 +4533,13 @@ i32.const 0 call $field-initialization/Inherit#constructor local.tee $15 - i32.store $0 offset=60 + i32.store $0 offset=68 local.get $15 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Inherit_Base#get:a i32.const 0 i32.ne @@ -3814,8 +4556,13 @@ i32.const 0 call $field-initialization/Inherit_Ctor#constructor local.tee $16 - i32.store $0 offset=64 + i32.store $0 offset=72 local.get $16 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/Inherit_Base#get:a i32.const 0 i32.ne @@ -3833,7 +4580,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $17 - i32.store $0 offset=68 + i32.store $0 offset=76 local.get $17 i32.const 0 i32.store $0 @@ -3842,8 +4589,13 @@ i32.store $0 offset=4 local.get $17 local.tee $18 - i32.store $0 offset=72 + i32.store $0 offset=80 local.get $18 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/SomeObject#get:a i32.const 0 i32.eq @@ -3857,11 +4609,16 @@ unreachable end local.get $18 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=48 + local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $34 i32.const 0 call $~lib/string/String.__eq @@ -3879,8 +4636,13 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $19 - i32.store $0 offset=80 + i32.store $0 offset=84 local.get $19 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 i32.const 1 call $field-initialization/SomeObject#set:a local.get $19 @@ -3888,8 +4650,13 @@ i32.store $0 offset=4 local.get $19 local.tee $20 - i32.store $0 offset=84 + i32.store $0 offset=88 local.get $20 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/SomeObject#get:a i32.const 1 i32.eq @@ -3903,11 +4670,16 @@ unreachable end local.get $20 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=48 + local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $34 i32.const 0 call $~lib/string/String.__eq @@ -3925,13 +4697,18 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $21 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $21 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 i32.const 624 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $34 call $field-initialization/SomeObject#set:b local.get $21 @@ -3941,6 +4718,11 @@ local.tee $22 i32.store $0 offset=96 local.get $22 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 call $field-initialization/SomeObject#get:a i32.const 0 i32.eq @@ -3954,17 +4736,22 @@ unreachable end local.get $22 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=100 + local.get $34 call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $34 i32.const 624 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $34 call $~lib/string/String.__eq i32.eqz @@ -3981,728 +4768,427 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $23 - i32.store $0 offset=100 - local.get $23 - i32.const 2 - call $field-initialization/SomeObject#set:a + i32.store $0 offset=104 local.get $23 - i32.const 656 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=4 local.get $34 - call $field-initialization/SomeObject#set:b - local.get $23 - local.tee $24 - i32.store $0 offset=104 - local.get $24 - call $field-initialization/SomeObject#get:a i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 173 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $24 - call $field-initialization/SomeObject#get:b - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=76 - local.get $34 - i32.const 656 - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=92 - local.get $34 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 174 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $field-initialization/SomeOtherObject#constructor - local.tee $25 - i32.store $0 offset=108 - local.get $25 - i32.const 688 + call $field-initialization/SomeObject#set:a + local.get $23 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 - local.get $34 - call $field-initialization/SomeOtherObject#set:c - local.get $25 - i32.const 0 - i32.store $0 - local.get $25 - i32.const 0 i32.store $0 offset=4 - local.get $25 - local.tee $26 - i32.store $0 offset=112 - local.get $26 - call $field-initialization/SomeObject#get:a - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 182 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $26 - call $field-initialization/SomeObject#get:b - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=76 - local.get $34 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 183 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $26 - call $field-initialization/SomeOtherObject#get:c - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=76 - local.get $34 - i32.const 688 - local.set $34 - global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 - local.get $34 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $field-initialization/SomeOtherObject#constructor - local.tee $27 - i32.store $0 offset=116 - local.get $27 - i32.const 3 - call $field-initialization/SomeObject#set:a - local.get $27 - i32.const 720 + i32.const 656 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $34 call $field-initialization/SomeObject#set:b - local.get $27 - i32.const 752 + local.get $23 + local.tee $24 + i32.store $0 offset=108 + local.get $24 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=4 local.get $34 - call $field-initialization/SomeOtherObject#set:c - local.get $27 - local.tee $28 - i32.store $0 offset=120 - local.get $28 call $field-initialization/SomeObject#get:a - i32.const 3 + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 186 + i32.const 173 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $28 - call $field-initialization/SomeObject#get:b - local.set $34 - global.get $~lib/memory/__stack_pointer - local.get $34 - i32.store $0 offset=76 - local.get $34 - i32.const 720 + local.get $24 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=100 local.get $34 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $28 - call $field-initialization/SomeOtherObject#get:c + call $field-initialization/SomeObject#get:b local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $34 - i32.const 752 + i32.const 656 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $34 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 432 - i32.const 188 + i32.const 174 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 1 - call $field-initialization/Flow_Balanced#constructor - local.tee $29 - i32.store $0 offset=124 - local.get $29 - call $field-initialization/Flow_Balanced#get:a - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 205 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $30 - local.get $30 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $30 - i32.store $0 offset=128 - end - local.get $30 - i32.const 0 - i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor + call $field-initialization/SomeOtherObject#constructor + local.tee $25 + i32.store $0 offset=112 + local.get $25 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=4 local.get $34 - call $field-initialization/Ref_Init_InlineCtor#set:a - local.get $30 - local.tee $31 - i32.store $0 offset=132 - local.get $31 - call $field-initialization/Ref_Init_InlineCtor#get:a - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 218 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 688 + local.set $34 global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/SomeOtherObject#set:c + local.get $25 i32.const 0 - local.set $32 - local.get $32 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $32 - i32.store $0 offset=136 - end - local.get $32 - i32.const 0 - call $field-initialization/Ref_InlineCtor_Init#set:a - local.get $32 - i32.const 0 + i32.store $0 + local.get $25 i32.const 0 - call $~lib/arraybuffer/ArrayBuffer#constructor + i32.store $0 offset=4 + local.get $25 + local.tee $26 + i32.store $0 offset=116 + local.get $26 local.set $34 global.get $~lib/memory/__stack_pointer local.get $34 - i32.store $0 offset=92 + i32.store $0 offset=4 local.get $34 - call $field-initialization/Ref_InlineCtor_Init#set:a - local.get $32 - local.tee $33 - i32.store $0 offset=140 - local.get $33 - call $field-initialization/Ref_InlineCtor_Init#get:a + call $field-initialization/SomeObject#get:a i32.const 0 - i32.ne + i32.eq i32.eqz if i32.const 0 i32.const 432 - i32.const 230 + i32.const 182 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $26 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 144 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - 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/Value_Init#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 1 - call $field-initialization/Value_Init#set:a - local.get $this - 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/Value#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $field-initialization/Value#set:a - local.get $this - 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/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/SomeObject#get:b + local.set $34 global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 i32.const 0 - i32.store $0 - local.get $length - i32.const 1073741820 - i32.gt_u + call $~lib/string/String.__eq + i32.eqz if - i32.const 512 - i32.const 560 - i32.const 52 - i32.const 43 + i32.const 0 + i32.const 432 + i32.const 183 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $26 + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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 $field-initialization/Nullable#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=100 + local.get $34 + call $field-initialization/SomeOtherObject#get:c + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 688 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this + global.get $~lib/memory/__stack_pointer i32.const 0 - call $field-initialization/Nullable#set:a - local.get $this - local.set $1 + call $field-initialization/SomeOtherObject#constructor + local.tee $27 + i32.store $0 offset=120 + local.get $27 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Value_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 3 + call $field-initialization/SomeObject#set:a + local.get $27 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 720 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/SomeObject#set:b + local.get $27 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 752 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/SomeOtherObject#set:c + local.get $27 + local.tee $28 + i32.store $0 offset=124 + local.get $28 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/SomeObject#get:a + i32.const 3 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 186 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 0 - call $field-initialization/Value_Ctor#set:a - local.get $this - local.set $1 + local.get $28 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Value_Init_Ctor#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=100 + local.get $34 + call $field-initialization/SomeObject#get:b + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 720 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 1 - call $field-initialization/Value_Init_Ctor#set:a - local.get $this - local.set $1 + local.get $28 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Value_Ctor_Init#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=100 + local.get $34 + call $field-initialization/SomeOtherObject#get:c + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 752 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 188 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this + global.get $~lib/memory/__stack_pointer i32.const 0 - call $field-initialization/Value_Ctor_Init#set:a - local.get $this i32.const 1 - call $field-initialization/Value_Ctor_Init#set:a - local.get $this - 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/Ref_Ctor_Param#constructor (type $i32_i32_=>_i32) (param $this i32) (param $a 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 $field-initialization/Flow_Balanced#constructor + local.tee $29 + i32.store $0 offset=128 + local.get $29 + local.set $34 global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Flow_Balanced#get:a i32.const 0 - i32.store $0 - local.get $this + i32.ne i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 205 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.get $a - call $field-initialization/Ref_Ctor_Param#set:a - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $field-initialization/Nullable_Ctor#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this + local.set $30 + local.get $30 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 15 + i32.const 24 call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.tee $30 + i32.store $0 offset=132 end - local.get $this + local.get $30 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 i32.const 0 - call $field-initialization/Nullable_Ctor#set:a - local.get $this - local.set $1 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $field-initialization/Inherit#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/Ref_Init_InlineCtor#set:a + local.get $30 + local.tee $31 + i32.store $0 offset=136 + local.get $31 + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Ref_Init_InlineCtor#get:a + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 218 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this + local.set $32 + local.get $32 i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 18 + i32.const 25 call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.tee $32 + i32.store $0 offset=140 end + local.get $32 + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $this - call $field-initialization/Inherit_Base#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 0 + call $field-initialization/Ref_InlineCtor_Init#set:a + local.get $32 + local.set $34 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 (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $34 + i32.store $0 offset=4 + local.get $34 + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $34 + i32.store $0 offset=48 + local.get $34 + call $field-initialization/Ref_InlineCtor_Init#set:a + local.get $32 + local.tee $33 + i32.store $0 offset=144 + local.get $33 + local.set $34 global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $field-initialization/Ref_InlineCtor_Init#get:a i32.const 0 - i32.store $0 - local.get $this + i32.ne i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 432 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $field-initialization/Inherit_Base#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 148 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $field-initialization/SomeObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4716,23 +5202,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 21 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $field-initialization/SomeObject#set:a - local.get $this - i32.const 0 - call $field-initialization/SomeObject#set:b local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -4741,8 +5216,9 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $field-initialization/SomeOtherObject#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4751,30 +5227,34 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.eqz + local.get $length + i32.const 1073741820 + i32.gt_u if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 512 + i32.const 560 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $field-initialization/SomeObject#constructor - local.tee $this + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer i32.store $0 - local.get $this - i32.const 0 - call $field-initialization/SomeOtherObject#set:c - local.get $this - local.set $1 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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 + return ) ) diff --git a/tests/compiler/field-initialization.release.wat b/tests/compiler/field-initialization.release.wat index 6c46f0ddf4..522b6894e1 100644 --- a/tests/compiler/field-initialization.release.wat +++ b/tests/compiler/field-initialization.release.wat @@ -1518,123 +1518,6 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) (local $1 i32) block $folding-inner1 @@ -1722,7 +1605,7 @@ (func $field-initialization/Inherit_Base#constructor (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1737,8 +1620,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i64.const 0 i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 local.get $0 i32.eqz if @@ -1750,36 +1637,310 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor - local.tee $1 + local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $field-initialization/SomeObject#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1900 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 i32.store $0 offset=4 local.get $1 local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1900 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 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 local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $none_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1900 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 12 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $1 + local.get $0 + call $field-initialization/SomeObject#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $start:field-initialization (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 144 + i32.const 148 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1790,7 +1951,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 144 + i32.const 148 memory.fill $0 memory.size $0 i32.const 16 @@ -1825,7 +1986,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1834,8 +1995,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 4 @@ -1843,20 +2004,30 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 1 @@ -1871,7 +2042,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1880,8 +2051,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 5 @@ -1889,19 +2060,29 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 local.get $1 i32.load $0 @@ -1915,7 +2096,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1927,21 +2108,31 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 6 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -1952,12 +2143,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=8 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -1971,7 +2165,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1983,21 +2177,31 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 7 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2008,12 +2212,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=12 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2027,7 +2234,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2036,8 +2243,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 8 @@ -2045,20 +2252,30 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=16 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2071,7 +2288,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2080,24 +2297,31 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 9 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=20 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2110,7 +2334,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2119,24 +2343,31 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 10 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=24 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 1 @@ -2151,7 +2382,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2160,27 +2391,37 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 11 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=28 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 1 @@ -2195,7 +2436,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2207,16 +2448,22 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 12 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2227,12 +2474,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=32 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2246,7 +2496,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2258,19 +2508,28 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 13 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2281,12 +2540,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=36 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2300,12 +2562,15 @@ end global.get $~lib/memory/__stack_pointer call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store $0 offset=40 + local.tee $1 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.set $2 global.get $~lib/memory/__stack_pointer - local.set $1 + local.get $1 + i32.store $0 offset=48 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2313,33 +2578,46 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 - local.get $2 + i32.store $0 offset=8 + local.get $0 i32.const 4 i32.const 14 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.store $0 + i32.store $0 offset=4 + local.get $3 + local.get $1 + i32.store $0 offset=8 local.get $0 + local.get $1 + i32.store $0 + local.get $1 if - local.get $2 local.get $0 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 local.get $2 - i32.store $0 offset=44 local.get $0 - local.get $2 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 i32.load $0 i32.ne if @@ -2352,7 +2630,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2361,24 +2639,30 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 15 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=48 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2391,7 +2675,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2403,16 +2687,22 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 16 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2423,12 +2713,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=52 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2442,7 +2735,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2454,19 +2747,28 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 17 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2477,12 +2779,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=56 + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2496,7 +2801,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2505,8 +2810,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 18 @@ -2514,17 +2819,24 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=60 + i32.store $0 offset=68 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2538,7 +2850,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2547,8 +2859,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 4 i32.const 20 @@ -2556,17 +2868,24 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $field-initialization/Inherit_Base#constructor local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 - i32.store $0 offset=64 + i32.store $0 offset=72 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2583,7 +2902,7 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=68 + i32.store $0 offset=76 local.get $1 i32.const 0 i32.store $0 @@ -2592,7 +2911,10 @@ i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 offset=72 + i32.store $0 offset=80 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2604,10 +2926,14 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=48 + local.get $0 local.get $1 i32.load $0 offset=4 local.tee $0 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2625,7 +2951,10 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=80 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 i32.store $0 @@ -2634,7 +2963,10 @@ i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 offset=84 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 1 @@ -2648,10 +2980,14 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=48 + local.get $0 local.get $1 i32.load $0 offset=4 local.tee $0 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2669,10 +3005,13 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=88 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 1648 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1648 i32.store $0 offset=4 @@ -2685,6 +3024,9 @@ local.get $0 local.get $1 i32.store $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2698,12 +3040,15 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=100 + local.get $0 + local.get $1 i32.load $0 offset=4 local.tee $1 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 1648 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1648 call $~lib/string/String.__eq @@ -2721,13 +3066,19 @@ i32.const 0 call $field-initialization/SomeObject#constructor local.tee $1 - i32.store $0 offset=100 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 2 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1680 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1680 i32.store $0 offset=4 @@ -2736,7 +3087,10 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link local.get $0 local.get $1 - i32.store $0 offset=104 + i32.store $0 offset=108 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 2 @@ -2752,12 +3106,15 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=100 + local.get $0 + local.get $1 i32.load $0 offset=4 local.tee $1 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 1680 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1680 call $~lib/string/String.__eq @@ -2774,10 +3131,13 @@ local.tee $0 call $field-initialization/SomeOtherObject#constructor local.tee $1 - i32.store $0 offset=108 + i32.store $0 offset=112 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 1712 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1712 i32.store $0 offset=8 @@ -2792,7 +3152,10 @@ i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 offset=112 + i32.store $0 offset=116 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 if @@ -2804,10 +3167,14 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=48 + local.get $0 local.get $1 i32.load $0 offset=4 local.tee $0 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/string/String.__eq @@ -2823,12 +3190,15 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=100 + local.get $0 + local.get $1 i32.load $0 offset=8 local.tee $1 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 1712 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1712 call $~lib/string/String.__eq @@ -2845,13 +3215,19 @@ local.tee $0 call $field-initialization/SomeOtherObject#constructor local.tee $1 - i32.store $0 offset=116 + i32.store $0 offset=120 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 3 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer i32.const 1744 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1744 i32.store $0 offset=4 @@ -2859,8 +3235,12 @@ i32.const 1744 call $byn-split-outlined-A$~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 i32.const 1776 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1776 i32.store $0 offset=8 @@ -2869,7 +3249,10 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link local.get $0 local.get $1 - i32.store $0 offset=120 + i32.store $0 offset=124 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.const 3 @@ -2885,12 +3268,15 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=100 + local.get $0 + local.get $1 i32.load $0 offset=4 local.tee $2 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 1744 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $2 i32.const 1744 call $~lib/string/String.__eq @@ -2906,12 +3292,15 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=100 + local.get $0 + local.get $1 i32.load $0 offset=8 local.tee $1 - i32.store $0 offset=76 + i32.store $0 offset=4 local.get $0 i32.const 1776 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 i32.const 1776 call $~lib/string/String.__eq @@ -2926,7 +3315,7 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2938,19 +3327,28 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 4 i32.const 23 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 local.get $2 i32.store $0 @@ -2961,12 +3359,15 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link 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 $1 - i32.store $0 offset=124 + i32.store $0 offset=128 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -2984,12 +3385,15 @@ i32.const 24 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=128 + i32.store $0 offset=132 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 local.get $2 i32.store $0 @@ -3001,7 +3405,10 @@ end local.get $0 local.get $1 - i32.store $0 offset=132 + i32.store $0 offset=136 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -3019,15 +3426,21 @@ i32.const 25 call $~lib/rt/itcms/__new local.tee $1 - i32.store $0 offset=136 + i32.store $0 offset=140 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=92 + i32.store $0 offset=48 local.get $1 local.get $2 i32.store $0 @@ -3039,7 +3452,10 @@ end local.get $0 local.get $1 - i32.store $0 offset=140 + i32.store $0 offset=144 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.load $0 i32.eqz @@ -3052,7 +3468,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 144 + i32.const 148 i32.add global.set $~lib/memory/__stack_pointer return @@ -3132,93 +3548,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $field-initialization/SomeObject#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1900 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $field-initialization/SomeOtherObject#constructor (type $none_=>_i32) (result i32) - (local $0 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 1900 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 12 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $field-initialization/SomeObject#constructor - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/field.debug.wat b/tests/compiler/field.debug.wat index 9a5697ec94..13995e5b4f 100644 --- a/tests/compiler/field.debug.wat +++ b/tests/compiler/field.debug.wat @@ -2332,28 +2332,6 @@ (func $field/NoStaticConflict.a (type $i32_=>_none) (param $v i32) nop ) - (func $field/testNoStaticConflict (type $none_=>_none) - (local $inst i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $field/NoStaticConflict#constructor - local.tee $inst - i32.store $0 - local.get $inst - call $field/NoStaticConflict.a - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 drop @@ -2473,48 +2451,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2527,14 +2463,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2607,13 +2535,16 @@ (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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if @@ -2626,10 +2557,20 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 i32.const 2 i32.const 5 @@ -2638,17 +2579,141 @@ local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $3 call $field/NoStaticConflict#set:a local.get $this local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) + (func $field/testNoStaticConflict (type $none_=>_none) + (local $inst 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $field/NoStaticConflict#constructor + local.tee $inst + i32.store $0 + local.get $inst + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $field/NoStaticConflict.a + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/field.release.wat b/tests/compiler/field.release.wat index 504bc37e85..75f16eafbb 100644 --- a/tests/compiler/field.release.wat +++ b/tests/compiler/field.release.wat @@ -1501,80 +1501,13 @@ memory.fill $0 local.get $1 ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $folding-inner0 $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~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 $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) + (func $start:field (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) + (local $4 i32) + (local $5 i32) memory.size $0 i32.const 16 i32.shl @@ -1608,10 +1541,10 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $__inlined_func$field/testNoStaticConflict + block $folding-inner1 block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1504 @@ -1619,10 +1552,10 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1634,6 +1567,9 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 4 i32.const 4 call $~lib/rt/itcms/__new @@ -1641,6 +1577,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1669,6 +1608,9 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1677,38 +1619,75 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i32.const 0 i32.store $0 i32.const 0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.const 1456 i32.const 0 memory.copy $0 $0 - local.get $2 local.get $3 + local.get $2 i32.store $0 i32.const 16 i32.const 5 call $~lib/rt/itcms/__new - local.tee $2 - local.get $3 + local.tee $3 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $2 local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.eqz + br_if $folding-inner1 + global.get $~lib/rt/itcms/white + local.get $2 + i32.const 20 + i32.sub + local.tee $4 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $3 + i32.const 20 + i32.sub + i32.load $0 offset=4 + i32.const 3 + i32.and + local.tee $5 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $5 + i32.const 3 + i32.eq + i32.and + if + local.get $4 + call $~lib/rt/itcms/Object#makeGray + end + end + end end - local.get $2 local.get $3 - i32.store $0 offset=4 local.get $2 + i32.store $0 offset=4 + local.get $3 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer @@ -1716,29 +1695,102 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $3 + i32.store $0 offset=8 local.get $0 - local.get $2 + local.get $3 i32.store $0 - local.get $2 + local.get $3 if local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.eqz + br_if $folding-inner1 + global.get $~lib/rt/itcms/white + local.get $3 + i32.const 20 + i32.sub + local.tee $2 + i32.load $0 offset=4 + i32.const 3 + i32.and + i32.eq + if + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=4 + i32.const 3 + i32.and + local.tee $3 + global.get $~lib/rt/itcms/white + i32.eqz + i32.eq + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + else + global.get $~lib/rt/itcms/state + i32.const 1 + i32.eq + local.get $3 + i32.const 3 + i32.eq + i32.and + if + local.get $2 + call $~lib/rt/itcms/Object#makeGray + end + end + end end 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$field/testNoStaticConflict + 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 + return end i32.const 34304 i32.const 34352 @@ -1747,39 +1799,135 @@ call $~lib/builtins/abort unreachable end - 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 + i32.const 1120 + i32.const 295 + i32.const 14 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/array/Array + block $~lib/array/Array<~lib/string/String> + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return + end + return + end + return + end + 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 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner1 + end + 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 1504 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner1 + end + unreachable end + i32.const 34304 + i32.const 34352 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + 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 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + ) + (func $~start (type $none_=>_none) + call $start:field ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white @@ -1800,53 +1948,4 @@ global.set $~lib/rt/itcms/visitCount end ) - (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - local.get $1 - i32.const 20 - i32.sub - local.tee $1 - i32.load $0 offset=4 - i32.const 3 - i32.and - i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) ) diff --git a/tests/compiler/for.debug.wat b/tests/compiler/for.debug.wat index bc36562d0a..4ae7bf09e4 100644 --- a/tests/compiler/for.debug.wat +++ b/tests/compiler/for.debug.wat @@ -3079,35 +3079,45 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $for/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $for/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3122,16 +3132,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/for.release.wat b/tests/compiler/for.release.wat index 4722c0bdc3..efeeff9d14 100644 --- a/tests/compiler/for.release.wat +++ b/tests/compiler/for.release.wat @@ -1843,7 +1843,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1853,8 +1853,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1862,6 +1862,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1889,7 +1892,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/function-call.debug.wat b/tests/compiler/function-call.debug.wat index 6373881af5..9555c44780 100644 --- a/tests/compiler/function-call.debug.wat +++ b/tests/compiler/function-call.debug.wat @@ -2322,12 +2322,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2340,12 +2334,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2358,12 +2346,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28this:i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28this:i32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28this:i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2376,12 +2358,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28this:function-call/Foo%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28this:function-call/Foo%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28this:function-call/Foo%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2394,12 +2370,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2482,6 +2452,44 @@ unreachable end ) + (func $function-call/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:function-call (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2632,8 +2640,8 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2643,24 +2651,116 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 local.get $this - local.set $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $function-call/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28this:i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28this:i32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28this:function-call/Foo%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28this:function-call/Foo%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28this:function-call/Foo%2Ci32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2675,16 +2775,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/function-call.release.wat b/tests/compiler/function-call.release.wat index 8ac7ac0a2d..f13c552eba 100644 --- a/tests/compiler/function-call.release.wat +++ b/tests/compiler/function-call.release.wat @@ -1404,6 +1404,7 @@ i32.const 3 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $folding-inner0 block $invalid block $function-call/Foo @@ -1436,6 +1437,28 @@ end unreachable end + 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 1804 + i32.lt_s + if + i32.const 34592 + i32.const 34640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1443,6 +1466,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~start (type $none_=>_none) (local $0 i32) @@ -1533,7 +1560,7 @@ i32.const 1568 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1542,8 +1569,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 7 call $~lib/rt/itcms/__new @@ -1551,6 +1578,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1578,7 +1608,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/function-expression.debug.wat b/tests/compiler/function-expression.debug.wat index a15247d61c..ac16fcdb3a 100644 --- a/tests/compiler/function-expression.debug.wat +++ b/tests/compiler/function-expression.debug.wat @@ -2588,12 +2588,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2606,12 +2600,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2624,12 +2612,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2642,12 +2624,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2660,12 +2636,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>%28i32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2765,9 +2735,7 @@ unreachable end ) - (func $function-expression/testField (type $none_=>_none) - (local $fieldInst i32) - (local $1 i32) + (func $function-expression/FieldClass#constructor (type $i32_i32_=>_i32) (param $this i32) (param $fieldFunc i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -2780,6 +2748,52 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $fieldFunc + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $function-expression/FieldClass#set:fieldFunc + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $function-expression/testField (type $none_=>_none) + (local $fieldInst 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 1008 @@ -2796,11 +2810,16 @@ i32.const 0 global.set $~argumentsLength local.get $fieldInst + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $function-expression/FieldClass#get:fieldFunc i32.load $0 call_indirect $0 (type $none_=>_i32) local.tee $1 - i32.store $0 offset=8 + i32.store $0 offset=12 i32.const 1 global.set $~argumentsLength local.get $1 @@ -2818,7 +2837,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3034,9 +3053,8 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:function-expression~anonymous|7 (type $none_=>_i32) (result i32) - (local $myFunc i32) - (local $1 i32) + (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3045,20 +3063,117 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 448 - local.tee $myFunc + local.get $2 i32.store $0 - local.get $myFunc - local.set $1 + local.get $2 + call $~lib/function/Function<%28i32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $function-expression/testLocal~anonymous|0 (type $none_=>_i32) (result i32) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28%29=>%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>%28i32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:function-expression~anonymous|7 (type $none_=>_i32) (result i32) (local $myFunc i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3070,7 +3185,7 @@ i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 512 + i32.const 448 local.tee $myFunc i32.store $0 local.get $myFunc @@ -3082,8 +3197,9 @@ local.get $1 return ) - (func $function-expression/FieldClass#constructor (type $i32_i32_=>_i32) (param $this i32) (param $fieldFunc i32) (result i32) - (local $2 i32) + (func $function-expression/testLocal~anonymous|0 (type $none_=>_i32) (result i32) + (local $myFunc i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3092,26 +3208,18 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $fieldFunc - call $function-expression/FieldClass#set:fieldFunc - local.get $this - local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 512 + local.tee $myFunc + i32.store $0 + local.get $myFunc + 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 + return ) (func $function-expression/testField~anonymous|0 (type $none_=>_i32) (result i32) (local $myFunc i32) diff --git a/tests/compiler/function-expression.release.wat b/tests/compiler/function-expression.release.wat index 05b9de95b5..c72450425f 100644 --- a/tests/compiler/function-expression.release.wat +++ b/tests/compiler/function-expression.release.wat @@ -1452,6 +1452,7 @@ global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $folding-inner1 block $folding-inner0 block $invalid @@ -1472,6 +1473,28 @@ end unreachable end + 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 2156 + i32.lt_s + if + i32.const 34944 + i32.const 34992 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1479,6 +1502,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $0 @@ -1759,7 +1786,7 @@ i32.const 1888 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1767,17 +1794,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 i32.const 2032 i32.store $0 - local.get $1 - i32.const 4 + local.get $0 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1785,17 +1812,27 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 - i32.store $0 - local.get $0 + i32.store $0 offset=8 + local.get $1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $2 i32.const 2032 + i32.store $0 offset=8 + local.get $1 + i32.const 2032 i32.store $0 - local.get $2 + local.get $1 i32.eqz if i32.const 0 @@ -1812,13 +1849,13 @@ i32.and i32.eq if - local.get $2 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=4 i32.const 3 i32.and - local.tee $0 + local.tee $2 global.get $~lib/rt/itcms/white i32.eqz i32.eq @@ -1829,7 +1866,7 @@ global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $0 + local.get $2 i32.const 3 i32.eq i32.and @@ -1840,19 +1877,22 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 local.get $1 - local.get $2 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.load $0 i32.load $0 call_indirect $0 (type $none_=>_i32) local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 i32.const 1 local.get $0 i32.load $0 @@ -1868,7 +1908,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer call $function-expression/semanticallyAnonymous diff --git a/tests/compiler/function-types.debug.wat b/tests/compiler/function-types.debug.wat index 5c9df7afa6..2d10b594af 100644 --- a/tests/compiler/function-types.debug.wat +++ b/tests/compiler/function-types.debug.wat @@ -105,6 +105,47 @@ unreachable end ) + (func $function-types/makeAndAdd@varargs (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $adder 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 $0 + 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/memory/__stack_pointer + call $function-types/makeAdder + local.tee $adder + i32.store $0 + end + local.get $a + local.get $b + local.get $adder + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $function-types/makeAndAdd + 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:function-types (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -269,40 +310,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $function-types/makeAndAdd@varargs (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $adder 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 $0 - 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/memory/__stack_pointer - call $function-types/makeAdder - local.tee $adder - i32.store $0 - end - local.get $a - local.get $b - local.get $adder - call $function-types/makeAndAdd - local.set $3 - 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/function-types.release.wat b/tests/compiler/function-types.release.wat index 7feb41db22..7105515b1a 100644 --- a/tests/compiler/function-types.release.wat +++ b/tests/compiler/function-types.release.wat @@ -163,7 +163,7 @@ i32.const 2 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -171,8 +171,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 block $1of1 block $0of1 block $outOfRange @@ -189,6 +189,9 @@ i32.const 1056 i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 i32.const 2 global.set $~argumentsLength i32.const 1 @@ -198,7 +201,7 @@ call_indirect $0 (type $i32_i32_=>_i32) local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/getter-call.debug.wat b/tests/compiler/getter-call.debug.wat index 6e70e5da38..b9c4a448b3 100644 --- a/tests/compiler/getter-call.debug.wat +++ b/tests/compiler/getter-call.debug.wat @@ -2274,12 +2274,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2354,44 +2348,16 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $getter-call/C#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if @@ -2404,13 +2370,18 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 @@ -2419,13 +2390,13 @@ (local $c i32) (local $1 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 $0 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 call $getter-call/C#constructor @@ -2434,15 +2405,72 @@ i32.const 0 global.set $~argumentsLength local.get $c + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $getter-call/C#get:x i32.load $0 call_indirect $0 (type $none_=>_i32) local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) + (func $~lib/function/Function<%28%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + 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/getter-call.release.wat b/tests/compiler/getter-call.release.wat index 9b2873b923..aff2cddbc8 100644 --- a/tests/compiler/getter-call.release.wat +++ b/tests/compiler/getter-call.release.wat @@ -1365,6 +1365,7 @@ i32.const 42 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $invalid block $~lib/function/Function<%28%29=>i32> block $getter-call/C @@ -1395,6 +1396,28 @@ end return end + 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 1500 + i32.lt_s + if + i32.const 34288 + i32.const 34336 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1402,6 +1425,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -1445,7 +1472,7 @@ (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 block $folding-inner0 @@ -1455,10 +1482,10 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1467,8 +1494,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1476,6 +1503,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1503,18 +1533,21 @@ local.get $0 i32.store $0 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 $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 i32.const 1456 i32.load $0 call_indirect $0 (type $none_=>_i32) drop global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 42 diff --git a/tests/compiler/infer-array.debug.wat b/tests/compiler/infer-array.debug.wat index e4fc57bfc4..4788db3bee 100644 --- a/tests/compiler/infer-array.debug.wat +++ b/tests/compiler/infer-array.debug.wat @@ -2347,33 +2347,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2382,33 +2355,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $value f64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2417,33 +2363,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2452,33 +2371,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $value f32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2541,102 +2433,6 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 720 - i32.const 464 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ @@ -2646,51 +2442,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 256 - i32.const 464 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) (func $~lib/array/Array<~lib/string/String|null>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2707,13 +2458,700 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if + i32.load $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + i32.const 256 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 720 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 1024 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 64 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/string/String|null>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array<~lib/array/Array> + block $~lib/array/Array + block $~lib/array/Array<~lib/string/String|null> + block $~lib/array/Array + block $infer-array/Ref + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $~lib/array/Array $~lib/array/Array<~lib/array/Array> $invalid + end + return + 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~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 + 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|null>~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 + unreachable + ) + (func $~start (type $none_=>_none) + call $start:infer-array + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33984 + i32.const 34032 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $value f64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $value f32) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $infer-array/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 720 + i32.const 464 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 256 + i32.const 464 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if i32.const 256 i32.const 464 i32.const 114 @@ -2721,35 +3159,161 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add i32.load $0 - local.set $value - i32.const 0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 1 + i32.eqz drop local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $this - local.get $length_ - i32.store $0 offset=12 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index local.get $this - i32.load $0 offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u if @@ -2772,87 +3336,169 @@ i32.const 1 call $~lib/array/ensureCapacity local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $index i32.const 1 i32.add call $~lib/array/Array<~lib/array/Array>#set:length_ end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - local.get $value - i32.store $0 + i32.load $0 + local.tee $value + i32.store $0 offset=4 i32.const 1 drop - local.get $this + i32.const 0 + i32.eqz + drop local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + i32.eqz + if + i32.const 1024 + i32.const 464 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) (func $start:infer-array (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $arr i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $arr|5 i32) + (local $5 i32) (local $6 i32) (local $7 i32) - (local $arr|8 i32) + (local $8 i32) (local $9 i32) (local $10 i32) - (local $arr|11 i32) + (local $11 i32) (local $12 i32) (local $13 i32) - (local $arr|14 i32) - (local $f f32) - (local $a i32) - (local $b i32) + (local $14 i32) + (local $15 f32) + (local $16 i32) + (local $17 i32) (local $18 i32) (local $19 i32) - (local $arr|20 i32) - (local $a|21 i32) - (local $b|22 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) (local $23 i32) (local $24 i32) - (local $arr|25 i32) - (local $a|26 i32) + (local $25 i32) + (local $26 i32) (local $27 i32) (local $28 i32) - (local $arr|29 i32) + (local $29 i32) (local $30 i32) (local $31 i32) - (local $arr|32 i32) + (local $32 i32) (local $33 i32) (local $34 i32) - (local $arr1 i32) + (local $35 i32) (local $36 i32) (local $37 i32) - (local $arr2 i32) + (local $38 i32) (local $39 i32) (local $40 i32) - (local $arr1|41 i32) + (local $41 i32) (local $42 i32) (local $43 i32) - (local $arr2|44 i32) + (local $44 i32) (local $45 i32) (local $46 i32) (local $47 i32) (local $48 i32) (local $49 i32) (local $50 i32) - (local $arr|51 i32) + (local $51 i32) + (local $52 i32) global.get $~lib/memory/__stack_pointer - i32.const 108 + i32.const 112 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 108 + i32.const 112 memory.fill $0 memory.size $0 i32.const 16 @@ -2877,9 +3523,14 @@ i32.const 4 i32.const 32 call $~lib/rt/__newArray - local.tee $arr + local.tee $2 i32.store $0 - local.get $arr + local.get $2 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -2893,7 +3544,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr + local.get $2 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -2913,9 +3569,14 @@ i32.const 5 i32.const 560 call $~lib/rt/__newArray - local.tee $arr|5 + local.tee $5 + i32.store $0 offset=8 + local.get $5 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 i32.store $0 offset=4 - local.get $arr|5 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -2935,9 +3596,14 @@ i32.const 6 i32.const 608 call $~lib/rt/__newArray - local.tee $arr|8 - i32.store $0 offset=8 - local.get $arr|8 + local.tee $8 + i32.store $0 offset=12 + local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -2951,7 +3617,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr|8 + local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -2966,7 +3637,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr|8 + local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 1 call $~lib/array/Array#__get i32.const -1 @@ -2986,9 +3662,14 @@ i32.const 5 i32.const 640 call $~lib/rt/__newArray - local.tee $arr|11 - i32.store $0 offset=12 - local.get $arr|11 + local.tee $11 + i32.store $0 offset=16 + local.get $11 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3008,9 +3689,14 @@ i32.const 7 i32.const 688 call $~lib/rt/__newArray - local.tee $arr|14 - i32.store $0 offset=16 - local.get $arr|14 + local.tee $14 + i32.store $0 offset=20 + local.get $14 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3024,20 +3710,25 @@ call $~lib/builtins/abort unreachable end - local.get $arr|14 + local.get $14 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 1 call $~lib/array/Array#__get - local.set $f + local.set $15 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $a - i32.store $0 offset=20 + local.tee $16 + i32.store $0 offset=24 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $b - i32.store $0 offset=24 + local.tee $17 + i32.store $0 offset=28 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3046,24 +3737,29 @@ i32.const 0 call $~lib/rt/__newArray local.tee $18 - i32.store $0 offset=28 + i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer local.get $18 i32.load $0 offset=4 local.tee $19 - i32.store $0 offset=32 + i32.store $0 offset=36 local.get $18 i32.const 0 - local.get $a + local.get $16 call $~lib/array/Array#__set local.get $18 i32.const 1 - local.get $b + local.get $17 call $~lib/array/Array#__set local.get $18 - local.tee $arr|20 - i32.store $0 offset=36 - local.get $arr|20 + local.tee $20 + i32.store $0 offset=40 + local.get $20 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3080,13 +3776,13 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $a|21 - i32.store $0 offset=40 + local.tee $21 + i32.store $0 offset=44 global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $b|22 - i32.store $0 offset=44 + local.tee $22 + i32.store $0 offset=48 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3095,24 +3791,29 @@ i32.const 0 call $~lib/rt/__newArray local.tee $23 - i32.store $0 offset=48 + i32.store $0 offset=52 global.get $~lib/memory/__stack_pointer local.get $23 i32.load $0 offset=4 local.tee $24 - i32.store $0 offset=52 + i32.store $0 offset=56 local.get $23 i32.const 0 - local.get $a|21 + local.get $21 call $~lib/array/Array#__set local.get $23 i32.const 1 - local.get $b|22 + local.get $22 call $~lib/array/Array#__set local.get $23 - local.tee $arr|25 - i32.store $0 offset=56 - local.get $arr|25 + local.tee $25 + i32.store $0 offset=60 + local.get $25 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 1 call $~lib/array/Array#__get drop @@ -3129,8 +3830,8 @@ global.get $~lib/memory/__stack_pointer i32.const 0 call $infer-array/Ref#constructor - local.tee $a|26 - i32.store $0 offset=60 + local.tee $26 + i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2 @@ -3139,24 +3840,29 @@ i32.const 0 call $~lib/rt/__newArray local.tee $27 - i32.store $0 offset=64 + i32.store $0 offset=68 global.get $~lib/memory/__stack_pointer local.get $27 i32.load $0 offset=4 local.tee $28 - i32.store $0 offset=68 + i32.store $0 offset=72 local.get $27 i32.const 0 - local.get $a|26 + local.get $26 call $~lib/array/Array#__set local.get $27 i32.const 1 i32.const 0 call $~lib/array/Array#__set local.get $27 - local.tee $arr|29 - i32.store $0 offset=72 - local.get $arr|29 + local.tee $29 + i32.store $0 offset=76 + local.get $29 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3176,9 +3882,14 @@ i32.const 10 i32.const 800 call $~lib/rt/__newArray - local.tee $arr|32 - i32.store $0 offset=76 - local.get $arr|32 + local.tee $32 + i32.store $0 offset=80 + local.get $32 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/string/String|null>#__get drop @@ -3198,9 +3909,14 @@ i32.const 11 i32.const 832 call $~lib/rt/__newArray - local.tee $arr1 - i32.store $0 offset=80 - local.get $arr1 + local.tee $35 + i32.store $0 offset=84 + local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3214,7 +3930,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr1 + local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3235,9 +3956,14 @@ i32.const 11 i32.const 864 call $~lib/rt/__newArray - local.tee $arr2 - i32.store $0 offset=84 - local.get $arr2 + local.tee $38 + i32.store $0 offset=88 + local.get $38 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3251,7 +3977,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr2 + local.get $38 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3272,9 +4003,14 @@ i32.const 4 i32.const 896 call $~lib/rt/__newArray - local.tee $arr1|41 - i32.store $0 offset=88 - local.get $arr1|41 + local.tee $41 + i32.store $0 offset=92 + local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3288,7 +4024,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr1|41 + local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3309,9 +4050,14 @@ i32.const 4 i32.const 928 call $~lib/rt/__newArray - local.tee $arr2|44 - i32.store $0 offset=92 - local.get $arr2|44 + local.tee $44 + i32.store $0 offset=96 + local.get $44 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3325,7 +4071,12 @@ call $~lib/builtins/abort unreachable end - local.get $arr2|44 + local.get $44 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array#__get drop @@ -3348,12 +4099,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $45 - i32.store $0 offset=96 + i32.store $0 offset=100 global.get $~lib/memory/__stack_pointer local.get $45 i32.load $0 offset=4 local.tee $46 - i32.store $0 offset=100 + i32.store $0 offset=104 local.get $45 i32.const 0 i32.const 1 @@ -3371,9 +4122,14 @@ call $~lib/rt/__newArray call $~lib/array/Array<~lib/array/Array>#__set local.get $45 - local.tee $arr|51 - i32.store $0 offset=104 - local.get $arr|51 + local.tee $51 + i32.store $0 offset=108 + local.get $51 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=4 + local.get $52 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get drop @@ -3391,137 +4147,144 @@ i32.eqz drop global.get $~lib/memory/__stack_pointer - i32.const 108 + i32.const 112 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - i32.const 256 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 720 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 1024 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 64 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 i32.const 0 drop local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/array/Array#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 i32.const 0 drop local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/array/Array#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + i32.store $0 + i32.const 0 + drop local.get $this - i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 i32.const 0 drop local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/array/Array#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) (local $val 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 $0 i32.const 1 drop local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array#get:dataStart local.set $cur local.get $cur local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array#get:length_ i32.const 2 i32.shl @@ -3549,33 +4312,49 @@ end end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/string/String|null>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array<~lib/string/String|null>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) (local $val 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 $0 i32.const 1 drop local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:dataStart local.set $cur local.get $cur local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:length_ i32.const 2 i32.shl @@ -3603,183 +4382,114 @@ end end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/array/Array<~lib/string/String|null>#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String|null>#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 i32.const 0 drop local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/array/Array#get:buffer local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $cur i32) (local $end i32) (local $val 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 $0 i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/array/Array<~lib/array/Array> - block $~lib/array/Array - block $~lib/array/Array<~lib/string/String|null> - block $~lib/array/Array - block $infer-array/Ref - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/array/Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $infer-array/Ref $~lib/array/Array $~lib/array/Array<~lib/string/String|null> $~lib/array/Array $~lib/array/Array<~lib/array/Array> $invalid - end - return - 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~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 - 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|null>~visit - return + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>~visit - return end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:infer-array - ) - (func $~stack_check (type $none_=>_none) + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33984 - i32.const 34032 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) @@ -3862,188 +4572,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $infer-array/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $value - 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<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 $0 - local.get $index - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $value - 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<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 $0 - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 1024 - i32.const 464 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - ) ) diff --git a/tests/compiler/infer-array.release.wat b/tests/compiler/infer-array.release.wat index d26d12d512..4936943c49 100644 --- a/tests/compiler/infer-array.release.wat +++ b/tests/compiler/infer-array.release.wat @@ -1539,7 +1539,169 @@ memory.fill $0 local.get $1 ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $infer-array/Ref + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + return + end + unreachable + end + 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 2216 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~start (type $none_=>_none) + call $start:infer-array + ) (func $~lib/array/Array#__get (type $i32_=>_none) (param $0 i32) + (local $1 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 2216 + i32.lt_s + if + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=12 i32.eqz @@ -1551,12 +1713,43 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.load $0 drop + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (type $i32_=>_none) (param $0 i32) + (local $1 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 2216 + i32.lt_s + if + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=12 i32.eqz @@ -1568,12 +1761,43 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 f64.load $0 drop + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + if + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1586,6 +1810,10 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -1593,8 +1821,37 @@ i32.shl i32.add i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/Array#__get (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + if + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1607,6 +1864,10 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -1615,154 +1876,337 @@ i32.add f32.load $0 drop + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $infer-array/Ref#constructor (type $none_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2216 i32.lt_s - if - i32.const 1280 - i32.const 1488 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.add - local.tee $5 local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.shr_u - i32.gt_u + i32.load $0 offset=12 + i32.ge_u if - local.get $5 - i32.const 268435455 - i32.gt_u + local.get $1 + i32.const 0 + i32.lt_s if - i32.const 1744 + i32.const 1280 i32.const 1488 - i32.const 19 - i32.const 48 + i32.const 130 + i32.const 22 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $4 - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 + local.get $1 + i32.const 1 + i32.add + local.tee $6 + local.set $3 + 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 2216 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.const 2 + i32.shr_u + i32.gt_u + if local.get $3 - local.get $4 - i32.lt_u - select - local.tee $6 - local.get $0 - i32.load $0 - local.tee $3 - i32.const 20 - i32.sub - local.tee $5 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u + i32.const 268435455 + i32.gt_u if - local.get $5 - local.get $6 - i32.store $0 offset=16 - local.get $3 - local.set $4 - br $__inlined_func$~lib/rt/itcms/__renew + i32.const 1744 + i32.const 1488 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable end - local.get $6 - local.get $5 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $4 - local.get $3 - local.get $6 - local.get $5 - i32.load $0 offset=16 - local.tee $5 - local.get $5 - local.get $6 - i32.gt_u - select - memory.copy $0 $0 - end - local.get $3 - local.get $4 - i32.ne - if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $4 i32.store $0 - local.get $0 - local.get $4 - i32.store $0 offset=4 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + local.get $4 + i32.const 1073741820 + i32.ge_u + select + local.tee $4 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + local.get $3 + local.get $4 + i32.lt_u + select + local.tee $5 + local.get $0 + i32.load $0 + local.tee $4 + i32.const 20 + i32.sub + local.tee $7 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $7 + local.get $5 + i32.store $0 offset=16 + local.get $4 + local.set $3 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $5 + local.get $7 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $3 + local.get $4 + local.get $5 + local.get $7 + i32.load $0 offset=16 + local.tee $7 + local.get $5 + local.get $7 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $3 local.get $4 + i32.ne if local.get $0 - local.get $4 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $3 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $3 + if + local.get $0 + local.get $3 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end end + local.get $0 + local.get $5 + i32.store $0 offset=8 end + 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 $0 local.get $0 local.get $6 - i32.store $0 offset=8 + i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const 1 + i32.const 2 + i32.shl i32.add - i32.store $0 offset=12 + local.get $2 + i32.store $0 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2216 + i32.lt_s + if + i32.const 35008 + i32.const 35056 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1280 + i32.const 1488 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 i32.load $0 offset=4 local.get $1 i32.const 2 i32.shl i32.add + i32.load $0 + i32.store $0 offset=4 local.get $2 - i32.store $0 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:infer-array (type $none_=>_none) (local $0 i32) @@ -1770,7 +2214,7 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 108 + i32.const 112 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1781,7 +2225,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 108 + i32.const 112 memory.fill $0 memory.size $0 i32.const 16 @@ -1823,8 +2267,14 @@ call $~lib/rt/__newArray local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -1834,6 +2284,9 @@ i32.const 1584 call $~lib/rt/__newArray local.tee $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get @@ -1844,15 +2297,24 @@ i32.const 1632 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 call $~lib/array/Array#__get @@ -1873,7 +2335,10 @@ i32.const 1664 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=12 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -1883,21 +2348,27 @@ i32.const 1712 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=16 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=20 + i32.store $0 offset=24 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store $0 offset=24 + i32.store $0 offset=28 global.get $~lib/memory/__stack_pointer local.set $2 global.get $~lib/memory/__stack_pointer @@ -1907,11 +2378,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store $0 offset=28 + i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer local.get $3 i32.load $0 offset=4 - i32.store $0 offset=32 + i32.store $0 offset=36 local.get $3 i32.const 0 local.get $0 @@ -1922,18 +2393,21 @@ call $~lib/array/Array#__set local.get $2 local.get $3 - i32.store $0 offset=36 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 local.get $3 i32.const 0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=40 + i32.store $0 offset=44 global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $1 - i32.store $0 offset=44 + i32.store $0 offset=48 global.get $~lib/memory/__stack_pointer local.set $2 global.get $~lib/memory/__stack_pointer @@ -1943,11 +2417,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $3 - i32.store $0 offset=48 + i32.store $0 offset=52 global.get $~lib/memory/__stack_pointer local.get $3 i32.load $0 offset=4 - i32.store $0 offset=52 + i32.store $0 offset=56 local.get $3 i32.const 0 local.get $0 @@ -1958,14 +2432,17 @@ call $~lib/array/Array#__set local.get $2 local.get $3 - i32.store $0 offset=56 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 local.get $3 i32.const 1 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer call $infer-array/Ref#constructor local.tee $0 - i32.store $0 offset=60 + i32.store $0 offset=64 global.get $~lib/memory/__stack_pointer local.set $1 global.get $~lib/memory/__stack_pointer @@ -1975,11 +2452,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=64 + i32.store $0 offset=68 global.get $~lib/memory/__stack_pointer local.get $2 i32.load $0 offset=4 - i32.store $0 offset=68 + i32.store $0 offset=72 local.get $2 i32.const 0 local.get $0 @@ -1990,7 +2467,10 @@ call $~lib/array/Array#__set local.get $1 local.get $2 - i32.store $0 offset=72 + i32.store $0 offset=76 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 call $~lib/array/Array#__get @@ -2001,7 +2481,10 @@ i32.const 1824 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=76 + i32.store $0 offset=80 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2012,11 +2495,17 @@ i32.const 1856 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=80 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2028,11 +2517,17 @@ i32.const 1888 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=84 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array#__get @@ -2044,9 +2539,15 @@ i32.const 1920 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=88 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2056,9 +2557,15 @@ i32.const 1952 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=92 + i32.store $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 call $~lib/array/Array#__get global.get $~lib/memory/__stack_pointer @@ -2070,11 +2577,11 @@ i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=96 + i32.store $0 offset=100 global.get $~lib/memory/__stack_pointer local.get $1 i32.load $0 offset=4 - i32.store $0 offset=100 + i32.store $0 offset=104 local.get $1 i32.const 0 i32.const 1 @@ -2093,9 +2600,12 @@ call $~lib/array/Array#__set local.get $0 local.get $1 - i32.store $0 offset=104 + i32.store $0 offset=108 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2103,7 +2613,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 i32.store $0 local.get $1 i32.load $0 offset=12 @@ -2117,11 +2631,15 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + local.get $0 local.get $1 i32.load $0 offset=4 i32.load $0 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -2133,11 +2651,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 108 + i32.const 112 i32.add global.set $~lib/memory/__stack_pointer return @@ -2149,81 +2667,6 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner2 - block $folding-inner1 - block $invalid - block $infer-array/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $infer-array/Ref $folding-inner1 $folding-inner1 $folding-inner2 $folding-inner1 $invalid - end - return - end - return - end - return - end - return - end - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~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 $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:infer-array - ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) (local $5 i32) @@ -2291,118 +2734,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $infer-array/Ref#constructor (type $none_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 2216 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2216 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 35008 - i32.const 35056 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2216 - i32.lt_s - if - i32.const 35008 - i32.const 35056 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1280 - i32.const 1488 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $2 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/infer-generic.debug.wat b/tests/compiler/infer-generic.debug.wat index e51ca9991e..c38e8830f1 100644 --- a/tests/compiler/infer-generic.debug.wat +++ b/tests/compiler/infer-generic.debug.wat @@ -5,8 +5,8 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $f32_=>_f32 (func_subtype (param f32) (result f32) func)) (type $f64_f64_=>_i32 (func_subtype (param f64 f64) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -80,58 +80,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - local.get $initialValue - local.set $acc - i32.const 0 - local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - if - local.get $acc - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $this - i32.const 4 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_f32_i32_i32_=>_i32) - local.set $acc - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $acc - return - ) (func $infer-generic/inferDefault (type $i32_=>_i32) (param $a i32) (result i32) local.get $a return @@ -2351,38 +2299,18 @@ local.get $arr return ) - (func $infer-generic/test2 (type $i32_=>_i32) (param $arr i32) (result i32) - local.get $arr - call $infer-generic/inferEncapsulatedClass - return - ) (func $infer-generic/inferEncapsulatedFunctionNull (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn return ) - (func $infer-generic/test3 (type $i32_=>_i32) (param $fn i32) (result i32) - local.get $fn - call $infer-generic/inferEncapsulatedFunctionNull - return - ) (func $infer-generic/inferEncapsulatedFunction (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn return ) - (func $infer-generic/test4 (type $i32_=>_i32) (param $fn i32) (result i32) - local.get $fn - call $infer-generic/inferEncapsulatedFunction - return - ) (func $infer-generic/inferEncapsulatedFunctionMixed (type $i32_=>_i32) (param $fn i32) (result i32) local.get $fn return ) - (func $infer-generic/test5 (type $i32_=>_i32) (param $fn i32) (result i32) - local.get $fn - call $infer-generic/inferEncapsulatedFunctionMixed - return - ) (func $infer-generic/Ref#get:x (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2424,14 +2352,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2444,12 +2364,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2462,12 +2376,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>f64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2480,12 +2388,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28f32%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%29=>f64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28f32%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2498,12 +2400,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28f32%2Ci32%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Ci32%29=>f64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28f32%2Ci32%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2586,6 +2482,142 @@ unreachable end ) + (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $initialValue + local.set $acc + i32.const 0 + local.set $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + local.get $acc + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_f32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $infer-generic/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $infer-generic/Ref#set:x + local.get $this + 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:infer-generic (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -2665,6 +2697,11 @@ local.tee $2 i32.store $0 offset=8 local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 2 call $infer-generic/Ref#set:x local.get $2 @@ -2690,9 +2727,33 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $infer-generic/inferAssert (type $i32_=>_none) (param $v i32) + (func $infer-generic/test2 (type $i32_=>_i32) (param $arr 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 $0 + local.get $arr + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 + return + ) + (func $infer-generic/test3 (type $i32_=>_i32) (param $fn i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2701,8 +2762,87 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $fn + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $infer-generic/inferEncapsulatedFunctionNull + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $infer-generic/test4 (type $i32_=>_i32) (param $fn 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 $0 + local.get $fn + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 + return + ) + (func $infer-generic/test5 (type $i32_=>_i32) (param $fn 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 $0 + local.get $fn + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 + return + ) + (func $infer-generic/inferAssert (type $i32_=>_none) (param $v 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 $0 + global.get $~lib/memory/__stack_pointer local.get $v local.tee $1 + i32.store $0 offset=4 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2722,12 +2862,38 @@ call $infer-generic/Ref#get:x drop global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2737,24 +2903,92 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28bool%2Cf32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 local.get $this - local.set $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>f64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $infer-generic/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28f32%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%29=>f64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f32%2Ci32%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%2Ci32%29=>f64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2768,20 +3002,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 6 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $infer-generic/Ref#set:x local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/infer-generic.release.wat b/tests/compiler/infer-generic.release.wat index 7e3d8d9510..24f9361e90 100644 --- a/tests/compiler/infer-generic.release.wat +++ b/tests/compiler/infer-generic.release.wat @@ -1531,29 +1531,84 @@ local.get $0 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $folding-inner1 block $folding-inner0 block $invalid block $infer-generic/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $folding-inner1 $folding-inner0 $infer-generic/Ref $folding-inner0 $folding-inner0 $folding-inner0 $invalid + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $folding-inner0 $infer-generic/Ref $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return + end + return end return end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end return end + 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 1660 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end return end unreachable end + 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 1660 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1561,21 +1616,25 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.const 34448 + i32.const 34496 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~start (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 f32) (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -1586,54 +1645,88 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i64.const 0 i64.store $0 - local.get $2 + local.get $3 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 1152 i32.store $0 - local.get $2 + local.get $3 i32.const 1200 i32.store $0 offset=4 + local.get $3 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + i32.const 1152 + i32.store $0 i32.const 1164 i32.load $0 local.set $3 loop $for-loop|0 - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 1152 + i32.store $0 + local.get $1 local.get $3 i32.const 1164 i32.load $0 - local.tee $2 - local.get $2 + local.tee $4 local.get $3 - i32.gt_s + local.get $4 + i32.lt_s select i32.lt_s if - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 1152 + i32.store $0 offset=8 i32.const 1156 i32.load $0 - local.get $0 + local.get $1 i32.const 2 i32.shl i32.add f32.load $0 + local.set $2 + local.get $4 + i32.const 1152 + i32.store $0 offset=4 local.get $0 + local.get $2 + local.get $1 i32.const 1152 i32.const 1200 i32.load $0 call_indirect $0 (type $i32_f32_i32_i32_=>_i32) - local.set $1 - local.get $0 + local.set $0 + 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 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer memory.size $0 i32.const 16 i32.shl @@ -1667,8 +1760,9 @@ i32.const 1520 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1677,8 +1771,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 6 @@ -1686,7 +1780,10 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1711,19 +1808,25 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 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 $0 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 @@ -1749,26 +1852,47 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1660 - i32.lt_s - if - i32.const 34448 - i32.const 34496 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + 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 + return end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34448 + i32.const 34496 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:infer-generic/inferAssert (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1786,7 +1910,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1794,8 +1918,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -1814,7 +1942,7 @@ i32.load $0 drop local.get $1 - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/inlining.debug.wat b/tests/compiler/inlining.debug.wat index 4e0e5b7c99..473d45ed7c 100644 --- a/tests/compiler/inlining.debug.wat +++ b/tests/compiler/inlining.debug.wat @@ -83,13 +83,13 @@ (local $a|24 i32) (local $b|25 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 $0 + i64.const 0 + i64.store $0 f32.const -1 local.set $a f64.const -2 @@ -277,8 +277,10 @@ local.tee $foo i32.store $0 block $inlining/Foo#method_this|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $foo - local.set $this + local.tee $this + i32.store $0 offset=4 i32.const 43 local.set $a|24 i32.const 3 @@ -298,7 +300,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2531,14 +2533,142 @@ local.get $this i32.load $0 offset=12 ) + (func $start:inlining (type $none_=>_none) + call $inlining/test + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 32 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + call $inlining/test_funcs + memory.size $0 + 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 224 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 256 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 400 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + call $inlining/test_ctor + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + i32.const 304 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 112 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%29=>i32>#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $inlining/Baz + block $inlining/Bar + block $inlining/Foo + block $~lib/function/Function<%28i32%29=>i32> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + end + return + 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/function/Function<%28i32%29=>i32>~visit + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:inlining + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33328 + i32.const 33376 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $inlining/test_ctor (type $none_=>_none) (local $this i32) (local $f i32) (local $this|2 i32) (local $c i32) (local $bar i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2546,8 +2676,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 local.set $this @@ -2564,14 +2694,26 @@ i32.store $0 end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 3 call $inlining/Bar#set:d local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 call $inlining/Bar#set:e global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $this - local.set $this|2 + local.tee $this|2 + i32.store $0 offset=8 i32.const 2 local.set $c local.get $this|2 @@ -2582,27 +2724,52 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $this|2 - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $this|2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 call $inlining/Baz#set:a local.get $this|2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 call $inlining/Baz#set:b local.get $this|2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $c call $inlining/Baz#set:b local.get $this|2 local.tee $this i32.store $0 local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $f call $inlining/Bar#set:e local.get $this local.tee $bar - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $bar + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $inlining/Baz#get:a i32.const 1 i32.eq @@ -2616,6 +2783,11 @@ unreachable end local.get $bar + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $inlining/Baz#get:b i32.const 2 i32.eq @@ -2629,6 +2801,11 @@ unreachable end local.get $bar + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $inlining/Bar#get:d i32.const 3 i32.eq @@ -2642,6 +2819,11 @@ unreachable end local.get $bar + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $inlining/Bar#get:e i32.const 4 i32.eq @@ -2655,141 +2837,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:inlining (type $none_=>_none) - call $inlining/test - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 32 - i32.const 10 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - call $inlining/test_funcs - memory.size $0 - 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 224 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 256 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 400 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - call $inlining/test_ctor - ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - i32.const 304 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 112 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/function/Function<%28i32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/function/Function<%28i32%29=>i32>#get:_env local.get $cookie call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%29=>i32>#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $inlining/Baz - block $inlining/Bar - block $inlining/Foo - block $~lib/function/Function<%28i32%29=>i32> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid - end - return - 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/function/Function<%28i32%29=>i32>~visit - return - end - return - end - return - end - return - end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:inlining - ) - (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33328 - i32.const 33376 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) ) diff --git a/tests/compiler/inlining.release.wat b/tests/compiler/inlining.release.wat index 1229484b81..3345f33ebc 100644 --- a/tests/compiler/inlining.release.wat +++ b/tests/compiler/inlining.release.wat @@ -1513,60 +1513,13 @@ memory.fill $0 local.get $1 ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $invalid - block $inlining/Baz - block $inlining/Bar - block $inlining/Foo - block $~lib/function/Function<%28i32%29=>i32> - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - return - end - return - end - return - end - unreachable - ) - (func $~start (type $none_=>_none) + (func $start:inlining (type $none_=>_none) (local $0 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 block $folding-inner0 @@ -1575,18 +1528,22 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 i32.const 2 i32.const 1104 i32.load $0 call_indirect $0 (type $i32_=>_i32) drop global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 123 i32.store $0 + local.get $0 + i32.const 123 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer memory.size $0 @@ -1622,7 +1579,7 @@ i32.const 1424 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1630,26 +1587,35 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 + local.tee $3 i64.const 0 i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $0 i32.const 16 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 3 i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.set $2 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.eqz if @@ -1658,26 +1624,42 @@ i32.const 7 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 offset=4 + i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 offset=4 local.get $2 local.get $0 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 4 i32.store $0 offset=12 + local.get $3 + local.get $0 + i32.store $0 offset=12 local.get $1 local.get $0 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $0 i32.load $0 i32.const 1 @@ -1690,6 +1672,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -1702,6 +1687,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=8 i32.const 3 @@ -1714,6 +1702,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=12 i32.const 4 @@ -1727,7 +1718,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer return @@ -1739,6 +1730,84 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + block $invalid + block $inlining/Baz + block $inlining/Bar + block $inlining/Foo + block $~lib/function/Function<%28i32%29=>i32> + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/function/Function<%28i32%29=>i32> $inlining/Foo $inlining/Bar $inlining/Baz $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + 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 1556 + i32.lt_s + if + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:inlining + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/instanceof.debug.wat b/tests/compiler/instanceof.debug.wat index fc52a65e08..f66685cbe0 100644 --- a/tests/compiler/instanceof.debug.wat +++ b/tests/compiler/instanceof.debug.wat @@ -2325,8 +2325,19 @@ (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/W> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2351,12 +2362,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2381,12 +2407,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2411,12 +2452,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2441,12 +2497,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IA> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2471,12 +2542,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IB> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2501,12 +2587,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/IC> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2531,12 +2632,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/ID> (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2561,6 +2677,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticTrue (type $i32_=>_none) (param $value i32) i32.const 1 @@ -2611,8 +2731,19 @@ (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2636,12 +2767,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2665,12 +2811,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2695,12 +2856,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2725,6 +2901,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticTrue (type $i32_=>_none) (param $value i32) i32.const 1 @@ -2739,8 +2919,19 @@ (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2764,12 +2955,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2794,6 +3000,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticTrue (type $i32_=>_none) (param $value i32) i32.const 1 @@ -2813,8 +3023,19 @@ (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2838,12 +3059,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2867,12 +3103,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2896,12 +3147,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) - local.get $value + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2925,6 +3191,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticFalse (type $i32_=>_none) (param $value i32) i32.const 0 @@ -2941,8 +3211,19 @@ (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2967,12 +3248,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -2997,12 +3293,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3027,12 +3338,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3057,6 +3383,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticTrue (type $i32_=>_none) (param $value i32) i32.const 1 @@ -3071,8 +3401,19 @@ (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3096,12 +3437,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3125,6 +3481,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticFalse (type $i32_=>_none) (param $value i32) i32.const 0 @@ -3135,8 +3495,19 @@ (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3161,12 +3532,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3191,6 +3577,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertStaticTrue (type $i32_=>_none) (param $value i32) i32.const 1 @@ -3271,8 +3661,19 @@ (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3297,12 +3698,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3327,12 +3743,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3357,12 +3788,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3387,12 +3833,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3417,12 +3878,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3447,12 +3923,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3477,12 +3968,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3507,12 +4013,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3537,12 +4058,27 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue (type $i32_=>_none) (param $value i32) (local $1 i32) (local $check i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $value local.tee $1 + i32.store $0 + local.get $1 i32.eqz if (result i32) i32.const 0 @@ -3567,6 +4103,10 @@ end i32.const 1 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~instanceof|instanceof/B (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -4083,269 +4623,555 @@ unreachable end ) - (func $start:instanceof (type $none_=>_none) - (local $0 i32) + (func $instanceof/A#constructor (type $i32_=>_i32) (param $this 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) - (local $20 i32) - (local $21 i32) global.get $~lib/memory/__stack_pointer - i32.const 88 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 88 - memory.fill $0 - memory.size $0 - 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 - i32.const 0 - call $instanceof/A#constructor - global.set $instanceof/a - i32.const 0 - call $instanceof/B#constructor - global.set $instanceof/b - i32.const 1 - drop - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 + i64.const 0 + i64.store $0 + local.get $this i32.eqz - drop + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end global.get $~lib/memory/__stack_pointer - global.get $instanceof/a - local.tee $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 - local.get $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/B#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz - if (result i32) + if + global.get $~lib/memory/__stack_pointer i32.const 0 - else - local.get $0 - call $~instanceof|instanceof/B + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/A#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Parent#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 41 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Child#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz - drop - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 0 - i32.eqz - drop - i32.const 1 - drop - i32.const 0 - call $instanceof/isI32 + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/Parent#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Parent#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 85 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - f64.const 0 - call $instanceof/isI32 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Child#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 86 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $instanceof/isI32 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/Parent#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Animal#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 87 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 0 - call $instanceof/isI32 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Cat#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 88 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $instanceof/an - i32.const 0 - i32.ne - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/Animal#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/BlackCat#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 91 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 1 - drop - i32.const 1 - global.set $instanceof/an - global.get $instanceof/an - i32.const 0 - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/Cat#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/W#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 432 - i32.const 94 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 1 - drop + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/X#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Y#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/X#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $instanceof/Z#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $instanceof/Y#constructor + local.tee $this + i32.store $0 + local.get $this + 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:instanceof (type $none_=>_none) + (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) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + global.get $~lib/memory/__stack_pointer + i32.const 88 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $instanceof/Child#constructor - global.set $instanceof/child - i32.const 1 - drop + i32.const 88 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub i32.const 1 - drop + 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 i32.const 0 - i32.eqz - drop + call $instanceof/A#constructor + global.set $instanceof/a + i32.const 0 + call $instanceof/B#constructor + global.set $instanceof/b i32.const 1 drop i32.const 1 @@ -4360,60 +5186,35 @@ i32.eqz drop i32.const 0 - call $instanceof/Child#constructor - global.set $instanceof/childAsParent - i32.const 1 - drop - i32.const 1 - drop - i32.const 0 i32.eqz drop global.get $~lib/memory/__stack_pointer - global.get $instanceof/childAsParent - local.tee $1 - i32.store $0 offset=4 - local.get $1 + global.get $instanceof/a + local.tee $0 + i32.store $0 + local.get $0 i32.eqz if (result i32) i32.const 0 else - local.get $1 - call $~instanceof|instanceof/Child + local.get $0 + call $~instanceof|instanceof/B end i32.eqz + i32.eqz if i32.const 0 i32.const 432 - i32.const 117 + i32.const 41 i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 1 + drop i32.const 0 i32.eqz drop - global.get $~lib/memory/__stack_pointer - global.get $instanceof/childAsParent - local.tee $2 - i32.store $0 offset=8 - local.get $2 - i32.eqz - if (result i32) - i32.const 0 - else - local.get $2 - call $~anyinstanceof|instanceof/Child - end - i32.eqz - if - i32.const 0 - i32.const 432 - i32.const 119 - i32.const 1 - call $~lib/builtins/abort - unreachable - end i32.const 0 i32.eqz drop @@ -4421,25 +5222,258 @@ i32.eqz drop i32.const 0 - call $instanceof/Animal#constructor - global.set $instanceof/animal + i32.eqz + drop i32.const 0 - call $instanceof/Cat#constructor - global.set $instanceof/cat + i32.eqz + drop i32.const 0 - call $instanceof/BlackCat#constructor - global.set $instanceof/blackcat + i32.eqz + drop i32.const 1 drop - global.get $~lib/memory/__stack_pointer - global.get $instanceof/animal - local.tee $3 - i32.store $0 offset=12 - local.get $3 + i32.const 0 i32.eqz - if (result i32) - i32.const 0 - else + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 1 + drop + i32.const 0 + call $instanceof/isI32 + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 85 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $instanceof/isI32 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 86 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $instanceof/isI32 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 87 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $instanceof/isI32 + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 88 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $instanceof/an + i32.const 0 + i32.ne + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 91 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + i32.const 1 + global.set $instanceof/an + global.get $instanceof/an + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 94 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + drop + i32.const 0 + call $instanceof/Child#constructor + global.set $instanceof/child + i32.const 1 + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 1 + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + call $instanceof/Child#constructor + global.set $instanceof/childAsParent + i32.const 1 + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + global.get $instanceof/childAsParent + local.tee $1 + i32.store $0 offset=4 + local.get $1 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $1 + call $~instanceof|instanceof/Child + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 117 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.eqz + drop + global.get $~lib/memory/__stack_pointer + global.get $instanceof/childAsParent + local.tee $2 + i32.store $0 offset=8 + local.get $2 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $2 + call $~anyinstanceof|instanceof/Child + end + i32.eqz + if + i32.const 0 + i32.const 432 + i32.const 119 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.eqz + drop + i32.const 0 + i32.eqz + drop + i32.const 0 + call $instanceof/Animal#constructor + global.set $instanceof/animal + i32.const 0 + call $instanceof/Cat#constructor + global.set $instanceof/cat + i32.const 0 + call $instanceof/BlackCat#constructor + global.set $instanceof/blackcat + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + global.get $instanceof/animal + local.tee $3 + i32.store $0 offset=12 + local.get $3 + i32.eqz + if (result i32) + i32.const 0 + else local.get $3 call $~instanceof|instanceof/Cat end @@ -5717,564 +6751,140 @@ global.get $~lib/memory/__stack_pointer local.get $21 i32.store $0 offset=84 - local.get $21 - call $instanceof/assertStaticFalse - global.get $instanceof/x - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/x - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/y - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $instanceof/z - local.set $21 - global.get $~lib/memory/__stack_pointer - local.get $21 - i32.store $0 offset=84 - local.get $21 - call $instanceof/assertDynamicTrue - global.get $~lib/memory/__stack_pointer - i32.const 88 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/A#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/B#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/A#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Parent#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Child#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/Parent#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Parent#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Child#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/Parent#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Animal#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Cat#constructor (type $i32_=>_i32) (param $this 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 $21 + call $instanceof/assertStaticFalse + global.get $instanceof/x + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/x + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/Animal#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/BlackCat#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/Cat#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/W#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/y + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/X#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $instanceof/Y#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue + global.get $instanceof/z + local.set $21 global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/X#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.get $21 + i32.store $0 offset=84 + local.get $21 + call $instanceof/assertDynamicTrue global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 88 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $instanceof/Z#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -6289,16 +6899,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 21 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $instanceof/Y#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/instanceof.release.wat b/tests/compiler/instanceof.release.wat index 25eebb2edc..e8b8e780a6 100644 --- a/tests/compiler/instanceof.release.wat +++ b/tests/compiler/instanceof.release.wat @@ -1464,6 +1464,29 @@ local.get $0 ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/X> (type $i32_=>_none) (param $0 i32) + (local $1 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if (result i32) block $__inlined_func$~instanceof|instanceof/X (result i32) @@ -1494,8 +1517,35 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Y> (type $i32_=>_none) (param $0 i32) + (local $1 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if (result i32) block $__inlined_func$~instanceof|instanceof/Y (result i32) @@ -1529,8 +1579,35 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicTrue<~lib/object/Object,instanceof/Z> (type $i32_=>_none) (param $0 i32) + (local $1 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if (result i32) local.get $0 @@ -1551,8 +1628,35 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $0 i32) + (local $1 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if (result i32) block $__inlined_func$~instanceof|instanceof/Y (result i32) @@ -1585,8 +1689,35 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $instanceof/assertDynamicFalse (type $i32_=>_none) (param $0 i32) + (local $1 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 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if (result i32) local.get $0 @@ -1606,6 +1737,10 @@ 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/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid @@ -1696,6 +1831,268 @@ (func $~start (type $none_=>_none) call $start:instanceof ) + (func $instanceof/A#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $instanceof/Animal#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $instanceof/Cat#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $instanceof/Animal#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $instanceof/BlackCat#constructor (type $none_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $instanceof/Cat#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $instanceof/X#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $instanceof/Y#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + if + i32.const 34384 + i32.const 34432 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $instanceof/X#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $start:instanceof (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1750,7 +2147,7 @@ call $instanceof/A#constructor global.set $instanceof/a global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1759,20 +2156,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $instanceof/A#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1812,7 +2213,7 @@ i32.const 1 global.set $instanceof/an global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1821,8 +2222,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 6 call $~lib/rt/itcms/__new @@ -1830,7 +2231,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1838,8 +2242,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1850,25 +2254,29 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $instanceof/child global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1877,8 +2285,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 call $~lib/rt/itcms/__new @@ -1886,7 +2294,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1894,8 +2305,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1906,19 +2317,23 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2410,7 +2825,7 @@ i32.const 0 i32.store $0 offset=80 local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2419,20 +2834,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 14 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2444,7 +2863,7 @@ call $instanceof/Y#constructor global.set $instanceof/y global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2453,76 +2872,95 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 21 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $instanceof/Y#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $instanceof/z global.get $~lib/memory/__stack_pointer global.get $instanceof/w - local.tee $2 + local.tee $1 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer global.get $instanceof/x - local.tee $3 + local.tee $2 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer global.get $instanceof/y - local.tee $0 + local.tee $3 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer global.get $instanceof/z - local.tee $1 + local.tee $0 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $2 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer local.get $3 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $3 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=84 - local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1584 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 if (result i32) - local.get $2 + local.get $1 i32.const 8 i32.sub i32.load $0 @@ -2541,6 +2979,10 @@ 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 global.get $instanceof/x local.tee $0 i32.store $0 offset=84 @@ -3119,238 +3561,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $instanceof/A#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $instanceof/Animal#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $instanceof/Cat#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $instanceof/Animal#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $instanceof/BlackCat#constructor (type $none_=>_i32) (result i32) - (local $0 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $instanceof/Cat#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $instanceof/X#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $instanceof/Y#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1584 - i32.lt_s - if - i32.const 34384 - i32.const 34432 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $0 - call $instanceof/X#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/issues/1095.debug.wat b/tests/compiler/issues/1095.debug.wat index 9b48a480b0..d22d435e1f 100644 --- a/tests/compiler/issues/1095.debug.wat +++ b/tests/compiler/issues/1095.debug.wat @@ -2408,13 +2408,16 @@ (func $issues/1095/Foo#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if @@ -2427,21 +2430,31 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this - i32.const 432 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 + i32.const 432 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 call $issues/1095/Foo#set:bar local.get $this 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 @@ -2450,19 +2463,32 @@ (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $foo + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 global.get $~lib/memory/__stack_pointer local.get $foo + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $issues/1095/Foo#get:bar local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=12 local.get $1 if (result i32) local.get $1 @@ -2477,11 +2503,11 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 + i32.store $0 offset=4 local.get $2 call $issues/1095/Foo#set:bar global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/issues/1095.release.wat b/tests/compiler/issues/1095.release.wat index 3c3eac244c..9e860cdc4b 100644 --- a/tests/compiler/issues/1095.release.wat +++ b/tests/compiler/issues/1095.release.wat @@ -1636,7 +1636,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1648,6 +1648,9 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 4 i32.const 4 call $~lib/rt/itcms/__new @@ -1655,6 +1658,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1683,20 +1689,23 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 1456 + local.get $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1456 + i32.store $0 offset=8 local.get $0 i32.const 1456 call $issues/1095/Foo#set:bar global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1708,10 +1717,19 @@ i64.const 0 i64.store $0 local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 i32.load $0 local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=12 local.get $1 i32.eqz if @@ -1724,12 +1742,12 @@ end global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $0 local.get $1 call $issues/1095/Foo#set:bar global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/issues/1225.debug.wat b/tests/compiler/issues/1225.debug.wat index 09b922011e..220ba993d2 100644 --- a/tests/compiler/issues/1225.debug.wat +++ b/tests/compiler/issues/1225.debug.wat @@ -2438,6 +2438,83 @@ unreachable end ) + (func $issues/1225/X#constructor (type $i32_i32_=>_i32) (param $this i32) (param $x 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $x + call $issues/1225/X#set:x + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $issues/1225/X#set:normal + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $issues/1225/X#set:viaThis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $issues/1225/X#get:x + call $issues/1225/X#set:viaThis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $x + call $issues/1225/X#set:normal + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $issues/1225/normal (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2488,48 +2565,4 @@ local.get $0 return ) - (func $issues/1225/X#constructor (type $i32_i32_=>_i32) (param $this i32) (param $x 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $issues/1225/X#set:x - local.get $this - i32.const 0 - call $issues/1225/X#set:normal - local.get $this - i32.const 0 - call $issues/1225/X#set:viaThis - local.get $this - local.get $this - call $issues/1225/X#get:x - call $issues/1225/X#set:viaThis - local.get $this - local.get $x - call $issues/1225/X#set:normal - local.get $this - local.set $2 - 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/issues/1225.release.wat b/tests/compiler/issues/1225.release.wat index 78eedce45f..bf9035828b 100644 --- a/tests/compiler/issues/1225.release.wat +++ b/tests/compiler/issues/1225.release.wat @@ -1401,6 +1401,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) memory.size $0 i32.const 16 i32.shl @@ -1434,7 +1435,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1450,33 +1451,55 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.store $0 offset=8 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $1 i32.load $0 offset=8 i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 global.set $issues/1225/x call $issues/1225/normal i32.const 4 diff --git a/tests/compiler/issues/1699.debug.wat b/tests/compiler/issues/1699.debug.wat index 7647611fa7..da7a725c0e 100644 --- a/tests/compiler/issues/1699.debug.wat +++ b/tests/compiler/issues/1699.debug.wat @@ -2398,156 +2398,10 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $start:issues/1699 (type $none_=>_none) memory.size $0 i32.const 16 @@ -2604,48 +2458,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2704,13 +2516,12 @@ unreachable end ) - (func $issues/1699/test (type $none_=>_none) - (local $testinstances i32) - (local $1 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $2 i32) - (local $n i32) - (local $testinstance i32) - (local $5 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -2722,40 +2533,530 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 3 - call $~lib/array/Array#constructor - local.tee $testinstances - i32.store $0 - local.get $testinstances - i32.const 0 - local.get $testinstances - local.tee $1 - i32.const 1 - local.tee $2 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $issues/1699/MultiAssignmentTest#constructor - local.set $5 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/array/Array#__set - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.set $5 + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $6 i32.store $0 offset=4 - local.get $5 - call $~lib/array/Array#__set + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $issues/1699/MultiAssignmentTest#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + call $issues/1699/MultiAssignmentTest#set:test + local.get $this + 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/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 528 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $issues/1699/test (type $none_=>_none) + (local $testinstances i32) + (local $1 i32) + (local $2 i32) + (local $n i32) + (local $testinstance 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/array/Array#constructor + local.tee $testinstances + i32.store $0 + local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + global.get $~lib/memory/__stack_pointer + local.get $testinstances + local.tee $1 + i32.store $0 offset=16 + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.const 1 + local.tee $2 + i32.const 0 + call $issues/1699/MultiAssignmentTest#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + call $~lib/array/Array#__set + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + local.get $2 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/array/Array#__set i32.const 0 local.set $n loop $for-loop|0 local.get $n local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/array/Array#get:length i32.lt_s if @@ -2763,14 +3064,24 @@ i32.const 0 call $issues/1699/MultiAssignmentTest#constructor local.tee $testinstance - i32.store $0 offset=12 + i32.store $0 offset=20 local.get $n i32.const 1 i32.gt_s if local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $n local.get $testinstance + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 call $~lib/array/Array#__set end local.get $n @@ -2781,9 +3092,19 @@ end end local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 call $~lib/array/Array#__get local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 call $~lib/array/Array#__get i32.eq @@ -2797,9 +3118,19 @@ unreachable end local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 2 call $~lib/array/Array#__get local.get $testinstances + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 call $~lib/array/Array#__get i32.ne @@ -2813,129 +3144,81 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize + i32.store $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne drop local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - 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/object/Object#constructor (type $i32_=>_i32) (param $this 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.set $5 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $5 i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end end local.get $this - local.set $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $issues/1699/MultiAssignmentTest#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2949,20 +3232,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 2 - call $issues/1699/MultiAssignmentTest#set:test local.get $this local.set $1 global.get $~lib/memory/__stack_pointer @@ -2971,61 +3246,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 528 - i32.const 80 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - ) ) diff --git a/tests/compiler/issues/1699.release.wat b/tests/compiler/issues/1699.release.wat index 94c9b26798..01d3e5d427 100644 --- a/tests/compiler/issues/1699.release.wat +++ b/tests/compiler/issues/1699.release.wat @@ -1510,153 +1510,300 @@ memory.fill $0 local.get $1 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $start:issues/1699 (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34508 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1268 + i32.const 1264 + i32.store $0 + i32.const 1272 + i32.const 1264 + i32.store $0 + i32.const 1264 + global.set $~lib/rt/itcms/pinSpace + i32.const 1300 + i32.const 1296 + i32.store $0 + i32.const 1304 + i32.const 1296 + i32.store $0 + i32.const 1296 + global.set $~lib/rt/itcms/toSpace + i32.const 1444 + i32.const 1440 + i32.store $0 + i32.const 1448 + i32.const 1440 + i32.store $0 + i32.const 1440 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1740 i32.lt_s - if - i32.const 1344 - i32.const 1104 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const 1 - i32.add - local.tee $5 - local.get $0 - i32.load $0 offset=8 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new local.tee $3 - i32.const 2 - i32.shr_u - i32.gt_u + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=4 + local.get $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=12 + local.get $1 + i32.const 32 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $3 + local.get $4 + i32.store $0 + local.get $4 if - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $4 - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $3 - local.get $3 - local.get $4 - i32.lt_u - select - local.tee $6 - local.get $0 - i32.load $0 - local.tee $3 - i32.const 20 - i32.sub - local.tee $5 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $5 - local.get $6 - i32.store $0 offset=16 - local.get $3 - local.set $4 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $6 - local.get $5 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $4 - local.get $3 - local.get $6 - local.get $5 - i32.load $0 offset=16 - local.tee $5 - local.get $5 - local.get $6 - i32.gt_u - select - memory.copy $0 $0 - end local.get $3 local.get $4 - i32.ne + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $4 + i32.store $0 offset=4 + local.get $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 32 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3 + i32.store $0 offset=12 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + call $issues/1699/MultiAssignmentTest#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $3 + i32.const 1 + local.get $1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.const 1 + call $~lib/array/Array#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $3 + i32.const 0 + local.get $1 + call $~lib/array/Array#__set + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $3 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $3 + i32.store $0 + local.get $3 + i32.load $0 offset=12 + local.set $2 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $2 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + call $issues/1699/MultiAssignmentTest#constructor + local.tee $1 + i32.store $0 offset=20 local.get $0 - local.get $4 - i32.store $0 - local.get $0 - local.get $4 - i32.store $0 offset=4 - local.get $4 + i32.const 1 + i32.gt_s if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $3 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $3 local.get $0 - local.get $4 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $1 + call $~lib/array/Array#__set end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 end - local.get $0 - local.get $6 - i32.store $0 offset=8 end - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 1 - i32.add - i32.store $0 offset=12 - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - local.get $2 - if + call $~lib/array/Array#__get local.get $0 - local.get $2 + i32.ne + if + i32.const 0 + i32.const 1680 + i32.const 15 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/array/Array#__get + local.get $0 + i32.eq + if + i32.const 0 + i32.const 1680 + i32.const 16 + 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 + return end + i32.const 34528 + i32.const 34576 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -1692,256 +1839,86 @@ end return end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~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 $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - ) - (func $~start (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $__inlined_func$start:issues/1699 - memory.size $0 - i32.const 16 - i32.shl - i32.const 34508 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1268 - i32.const 1264 - i32.store $0 - i32.const 1272 - i32.const 1264 - i32.store $0 - i32.const 1264 - global.set $~lib/rt/itcms/pinSpace - i32.const 1300 - i32.const 1296 - i32.store $0 - i32.const 1304 - i32.const 1296 - i32.store $0 - i32.const 1296 - global.set $~lib/rt/itcms/toSpace - i32.const 1444 - i32.const 1440 - i32.store $0 - i32.const 1448 - i32.const 1440 - i32.store $0 - i32.const 1440 - global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1740 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1740 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 32 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - i32.const 32 - i32.store $0 offset=8 - local.get $3 - i32.const 3 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $3 - i32.store $0 - call $issues/1699/MultiAssignmentTest#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $3 - i32.const 1 - local.get $1 - call $~lib/array/Array#__set - local.get $3 - i32.const 1 - call $~lib/array/Array#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - local.get $1 - call $~lib/array/Array#__set - loop $for-loop|0 - local.get $0 - local.get $3 - i32.load $0 offset=12 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - call $issues/1699/MultiAssignmentTest#constructor - local.tee $1 - i32.store $0 offset=12 - local.get $0 - i32.const 1 - i32.gt_s - if - local.get $3 - local.get $0 - local.get $1 - call $~lib/array/Array#__set - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $3 - i32.const 0 - call $~lib/array/Array#__get - local.get $3 - i32.const 1 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - i32.const 1680 - i32.const 15 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.const 2 - call $~lib/array/Array#__get - local.get $3 + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + if + i32.const 34528 + i32.const 34576 i32.const 1 - call $~lib/array/Array#__get - i32.eq + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 - i32.const 0 - i32.const 1680 - i32.const 16 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.load $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$start:issues/1699 end - i32.const 34528 - i32.const 34576 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:issues/1699 ) (func $issues/1699/MultiAssignmentTest#constructor (type $none_=>_i32) (result i32) (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1951,8 +1928,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 4 @@ -1961,6 +1938,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1988,11 +1968,14 @@ local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2005,11 +1988,217 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 4 i32.sub global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1344 + i32.const 1104 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.tee $6 + local.set $3 + 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 1740 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.const 2 + i32.shr_u + i32.gt_u + if + local.get $3 + i32.const 268435455 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $4 + i32.const 1 + i32.shl + local.tee $4 + local.get $4 + i32.const 1073741820 + i32.ge_u + select + local.tee $4 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $3 + local.get $3 + local.get $4 + i32.lt_u + select + local.tee $5 + local.get $0 + i32.load $0 + local.tee $4 + i32.const 20 + i32.sub + local.tee $7 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $7 + local.get $5 + i32.store $0 offset=16 + local.get $4 + local.set $3 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $5 + local.get $7 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $3 + local.get $4 + local.get $5 + local.get $7 + i32.load $0 offset=16 + local.tee $7 + local.get $5 + local.get $7 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $3 + local.get $4 + i32.ne + if + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $3 + if + local.get $0 + local.get $3 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $5 + i32.store $0 offset=8 + end + 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 $0 + local.get $0 + local.get $6 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34528 + i32.const 34576 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer i32.const 1740 i32.lt_s @@ -2022,7 +2211,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 local.get $1 local.get $0 @@ -2037,6 +2230,10 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 i32.load $0 offset=4 local.get $1 @@ -2045,7 +2242,7 @@ i32.add i32.load $0 local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -2057,7 +2254,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/issues/1714.debug.wat b/tests/compiler/issues/1714.debug.wat index 04bea1a3d3..d006c98d68 100644 --- a/tests/compiler/issues/1714.debug.wat +++ b/tests/compiler/issues/1714.debug.wat @@ -161,13 +161,44 @@ i32.const 0 return ) + (func $~start (type $none_=>_none) + call $start:issues/1714 + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 32880 + i32.const 32928 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength 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 $0 local.get $left local.get $right 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 $left @@ -182,43 +213,65 @@ 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/string/String#get:length local.set $leftLength local.get $leftLength local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 local.get $leftLength call $~lib/util/string/compareImpl i32.eqz - return - ) - (func $~start (type $none_=>_none) - call $start:issues/1714 - ) - (func $~stack_check (type $none_=>_none) + local.set $3 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 32880 - i32.const 32928 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) (func $start:issues/1714 (type $none_=>_none) (local $0 i32) diff --git a/tests/compiler/issues/1714.release.wat b/tests/compiler/issues/1714.release.wat index dccf7c4982..6e5ba11c8b 100644 --- a/tests/compiler/issues/1714.release.wat +++ b/tests/compiler/issues/1714.release.wat @@ -16,30 +16,48 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1116 - i32.lt_s - if - i32.const 33904 - i32.const 33952 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1116 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1104 + i32.store $0 + local.get $0 + i32.const 1104 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1116 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + 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 + return end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1104 - i32.store $0 - local.get $0 - i32.const 1104 - i32.store $0 offset=4 - local.get $0 - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 33904 + i32.const 33952 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) ) diff --git a/tests/compiler/issues/2166.debug.wat b/tests/compiler/issues/2166.debug.wat index 53e6ae7e2b..98b2ab7339 100644 --- a/tests/compiler/issues/2166.debug.wat +++ b/tests/compiler/issues/2166.debug.wat @@ -2358,49 +2358,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) i32.const 224 @@ -2474,6 +2431,140 @@ unreachable end ) + (func $issues/2166/Test2166Ref1<~lib/string/String>#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) (func $issues/2166/Test2166Ref1<~lib/string/String>#fn (type $i32_i32_i32_=>_none) (param $this i32) (param $a1 i32) (param $a2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer @@ -2537,7 +2628,7 @@ (local $a i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -2546,20 +2637,28 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 call $issues/2166/Test2166Ref1<~lib/string/String>#constructor local.tee $a i32.store $0 local.get $a - i32.const 432 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 + i32.const 432 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 i32.const 1 call $issues/2166/Test2166Ref1<~lib/string/String>#fn global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2728,37 +2827,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $issues/2166/Test2166Ref1<~lib/string/String>#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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/issues/2166.release.wat b/tests/compiler/issues/2166.release.wat index 98209742d1..5af4dbcf6a 100644 --- a/tests/compiler/issues/2166.release.wat +++ b/tests/compiler/issues/2166.release.wat @@ -1367,123 +1367,6 @@ memory.fill $0 local.get $0 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $issues/2166/Test2166Ref2 @@ -1569,7 +1452,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1581,7 +1464,10 @@ i64.const 0 i64.store $0 local.get $2 - i32.const 4 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1590,8 +1476,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1599,6 +1485,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1626,16 +1515,19 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 1456 + local.get $0 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer + i32.const 1456 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer @@ -1689,7 +1581,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1788,6 +1680,166 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1660 + i32.lt_s + if + i32.const 34448 + i32.const 34496 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/issues/2322/index.debug.wat b/tests/compiler/issues/2322/index.debug.wat index 52f5ad6c6e..157f19862c 100644 --- a/tests/compiler/issues/2322/index.debug.wat +++ b/tests/compiler/issues/2322/index.debug.wat @@ -2329,6 +2329,52 @@ unreachable end ) + (func $issues/2322/lib/Wrapper#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $issues/2322/lib/Wrapper#set:v + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $issues/2322/index/test (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2380,40 +2426,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $issues/2322/lib/Wrapper#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $issues/2322/lib/Wrapper#set:v - local.get $this - 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/issues/2322/index.release.wat b/tests/compiler/issues/2322/index.release.wat index e8b1f66def..cf1bec8ba7 100644 --- a/tests/compiler/issues/2322/index.release.wat +++ b/tests/compiler/issues/2322/index.release.wat @@ -1582,7 +1582,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1591,8 +1591,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 4 @@ -1601,6 +1601,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1628,11 +1631,14 @@ local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/logical.debug.wat b/tests/compiler/logical.debug.wat index 67c7bf41e8..ca79a86ba1 100644 --- a/tests/compiler/logical.debug.wat +++ b/tests/compiler/logical.debug.wat @@ -2396,6 +2396,44 @@ unreachable end ) + (func $logical/Obj#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:logical (type $none_=>_none) (local $0 f32) (local $1 f32) @@ -2977,37 +3015,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $logical/Obj#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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/logical.release.wat b/tests/compiler/logical.release.wat index f872da9d51..9dcaebeb19 100644 --- a/tests/compiler/logical.release.wat +++ b/tests/compiler/logical.release.wat @@ -1516,7 +1516,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1526,8 +1526,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1535,6 +1535,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1562,7 +1565,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/managed-cast.debug.wat b/tests/compiler/managed-cast.debug.wat index 242644deb4..e1f204969c 100644 --- a/tests/compiler/managed-cast.debug.wat +++ b/tests/compiler/managed-cast.debug.wat @@ -2240,113 +2240,9 @@ (func $managed-cast/Animal#tame (type $i32_=>_none) (param $this i32) nop ) - (func $managed-cast/testUpcast (type $i32_=>_none) (param $cat i32) - local.get $cat - call $managed-cast/Animal#tame - ) - (func $managed-cast/testUpcastToNullable (type $i32_=>_none) (param $cat i32) - (local $maybeAnimal i32) - local.get $cat - local.set $maybeAnimal - local.get $maybeAnimal - if - local.get $maybeAnimal - call $managed-cast/Animal#tame - end - ) - (func $managed-cast/testUpcastFromToNullable (type $i32_=>_none) (param $cat i32) - (local $maybeAnimal i32) - local.get $cat - local.set $maybeAnimal - local.get $maybeAnimal - if - local.get $maybeAnimal - call $managed-cast/Animal#tame - end - ) (func $managed-cast/Cat#meow (type $i32_=>_none) (param $this i32) nop ) - (func $managed-cast/testDowncastToNullable (type $i32_=>_none) (param $animal i32) - (local $1 i32) - (local $maybeCat i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $animal - local.tee $1 - call $~instanceof|managed-cast/Cat - if (result i32) - local.get $1 - else - i32.const 624 - i32.const 560 - i32.const 41 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - local.tee $maybeCat - i32.store $0 - local.get $maybeCat - if - local.get $maybeCat - 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/testDowncastFromToNullable (type $i32_=>_none) (param $animal i32) - (local $1 i32) - (local $maybeCat i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $animal - local.tee $1 - i32.eqz - if (result i32) - i32.const 0 - else - local.get $1 - call $~instanceof|managed-cast/Cat - if (result i32) - local.get $1 - else - i32.const 624 - i32.const 560 - i32.const 47 - i32.const 30 - call $~lib/builtins/abort - unreachable - end - end - local.tee $maybeCat - i32.store $0 - local.get $maybeCat - if - local.get $maybeCat - 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 (type $none_=>_none) i32.const 0 drop @@ -2483,9 +2379,84 @@ unreachable end ) - (func $managed-cast/testUpcastFromNullable (type $i32_=>_none) (param $cat i32) + (func $managed-cast/Animal#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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/Cat#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $managed-cast/Animal#constructor + local.tee $this + i32.store $0 + local.get $this + 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/testUpcast (type $i32_=>_none) (param $cat i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2495,7 +2466,33 @@ i32.const 0 i32.store $0 local.get $cat + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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/testUpcastFromNullable (type $i32_=>_none) (param $cat 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $cat local.tee $1 + i32.store $0 offset=4 + local.get $1 if (result i32) local.get $1 else @@ -2513,7 +2510,67 @@ local.get $2 call $managed-cast/Animal#tame global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $managed-cast/testUpcastToNullable (type $i32_=>_none) (param $cat i32) + (local $maybeAnimal 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $cat + local.tee $maybeAnimal + i32.store $0 + local.get $maybeAnimal + if + local.get $maybeAnimal + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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/testUpcastFromToNullable (type $i32_=>_none) (param $cat i32) + (local $maybeAnimal 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $cat + local.tee $maybeAnimal + i32.store $0 + local.get $maybeAnimal + if + local.get $maybeAnimal + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 ) @@ -2521,15 +2578,18 @@ (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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 + i32.store $0 offset=4 + local.get $1 call $~instanceof|managed-cast/Cat if (result i32) local.get $1 @@ -2548,7 +2608,7 @@ local.get $2 call $managed-cast/Cat#meow global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) @@ -2557,7 +2617,7 @@ (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 @@ -2565,8 +2625,14 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $animal local.tee $1 + i32.store $0 offset=4 + local.get $1 if (result i32) local.get $1 else @@ -2578,7 +2644,7 @@ unreachable end local.tee $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $2 call $~instanceof|managed-cast/Cat if (result i32) @@ -2598,7 +2664,111 @@ local.get $3 call $managed-cast/Cat#meow global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $managed-cast/testDowncastToNullable (type $i32_=>_none) (param $animal i32) + (local $1 i32) + (local $maybeCat 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $animal + local.tee $1 + i32.store $0 + local.get $1 + call $~instanceof|managed-cast/Cat + if (result i32) + local.get $1 + else + i32.const 624 + i32.const 560 + i32.const 41 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + local.tee $maybeCat + i32.store $0 offset=4 + local.get $maybeCat + if + local.get $maybeCat + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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/testDowncastFromToNullable (type $i32_=>_none) (param $animal i32) + (local $1 i32) + (local $maybeCat 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $animal + local.tee $1 + i32.store $0 + local.get $1 + i32.eqz + if (result i32) + i32.const 0 + else + local.get $1 + call $~instanceof|managed-cast/Cat + if (result i32) + local.get $1 + else + i32.const 624 + i32.const 560 + i32.const 47 + i32.const 30 + call $~lib/builtins/abort + unreachable + end + end + local.tee $maybeCat + i32.store $0 offset=4 + local.get $maybeCat + if + local.get $maybeCat + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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 ) @@ -2729,70 +2899,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $managed-cast/Animal#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $managed-cast/Cat#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $managed-cast/Animal#constructor - local.tee $this - i32.store $0 - local.get $this - 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/managed-cast.release.wat b/tests/compiler/managed-cast.release.wat index 36404dd0e6..1d6395db23 100644 --- a/tests/compiler/managed-cast.release.wat +++ b/tests/compiler/managed-cast.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) @@ -1449,13 +1449,32 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + 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 1724 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + 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 $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1463,8 +1482,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.eqz if @@ -1480,7 +1503,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1488,18 +1511,22 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + local.get $0 + call $managed-cast/testUpcastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + local.get $0 + call $managed-cast/testUpcastToNullable call $managed-cast/Cat#constructor local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1507,14 +1534,25 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 4 - i32.ne + local.tee $1 + i64.const 0 + i64.store $0 + block $__inlined_func$~instanceof|managed-cast/Cat (result i32) + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 0 + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 4 + i32.ne + br_if $__inlined_func$~instanceof|managed-cast/Cat + drop + i32.const 1 + end + i32.eqz if i32.const 1648 i32.const 1584 @@ -1528,7 +1566,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1537,7 +1575,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1548,10 +1586,18 @@ local.tee $1 i64.const 0 i64.store $0 - block $__inlined_func$~instanceof|managed-cast/Cat15 (result i32) + local.get $1 + i32.const 0 + i32.store $0 offset=8 + block $__inlined_func$~instanceof|managed-cast/Cat13 (result i32) + local.get $1 local.get $0 - i32.eqz - if + i32.store $0 offset=4 + local.get $1 + local.get $0 + if (result i32) + local.get $0 + else i32.const 1456 i32.const 1584 i32.const 36 @@ -1559,9 +1605,7 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $0 - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 0 local.get $0 i32.const 8 @@ -1569,7 +1613,7 @@ i32.load $0 i32.const 4 i32.ne - br_if $__inlined_func$~instanceof|managed-cast/Cat15 + br_if $__inlined_func$~instanceof|managed-cast/Cat13 drop i32.const 1 end @@ -1587,7 +1631,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1596,7 +1640,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1605,15 +1649,30 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 - i32.store $0 - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 4 - i32.ne - if + i32.store $0 offset=8 + local.get $1 + block $__inlined_func$~instanceof|managed-cast/Cat16 (result i32) + local.get $1 + local.get $0 + i32.store $0 + i32.const 0 + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 4 + i32.ne + br_if $__inlined_func$~instanceof|managed-cast/Cat16 + drop + i32.const 1 + end + if (result i32) + local.get $0 + else i32.const 1648 i32.const 1584 i32.const 41 @@ -1621,11 +1680,15 @@ call $~lib/builtins/abort unreachable end - local.get $1 + i32.store $0 offset=4 local.get $0 - i32.store $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer call $managed-cast/Cat#constructor @@ -1634,7 +1697,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1643,7 +1706,13 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 i32.store $0 local.get $0 if @@ -1667,9 +1736,15 @@ end local.get $1 local.get $0 - i32.store $0 + i32.store $0 offset=4 + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer i32.const 34492 @@ -1725,7 +1800,7 @@ (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 block $folding-inner0 @@ -1735,8 +1810,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1744,7 +1819,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1752,8 +1830,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1765,6 +1843,9 @@ end global.get $~lib/memory/__stack_pointer local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1792,14 +1873,14 @@ local.get $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1812,6 +1893,41 @@ call $~lib/builtins/abort unreachable ) + (func $managed-cast/testUpcastToNullable (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1724 + i32.lt_s + if + i32.const 34512 + i32.const 34560 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/new.debug.wat b/tests/compiler/new.debug.wat index 984fd16dda..992422320c 100644 --- a/tests/compiler/new.debug.wat +++ b/tests/compiler/new.debug.wat @@ -2373,220 +2373,245 @@ unreachable end ) - (func $start:new (type $none_=>_none) - (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 $0 - memory.size $0 - 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 - i32.const 0 - call $new/Ref#constructor - global.set $new/ref - i32.const 0 - call $new/Ref#constructor - global.set $new/ref - i32.const 0 - call $new/Ref#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $new/Ref#get:ref - global.set $new/ref - i32.const 0 - call $new/Gen#constructor - global.set $new/gen - i32.const 0 - call $new/Gen#constructor - global.set $new/gen - i32.const 0 - call $new/Gen#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $new/Gen#get:gen - global.set $new/gen - i32.const 0 - call $new/ns.Ref#constructor - global.set $new/ref2 - i32.const 0 - call $new/ns.Ref#constructor - global.set $new/ref2 - i32.const 0 - call $new/ns.Ref#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $new/ns.Ref#get:ref - global.set $new/ref2 - i32.const 0 - call $new/GenExt#constructor - global.set $new/genext - i32.const 0 - call $new/GenExt#constructor - global.set $new/genext2 - i32.const 0 - call $new/GenExt#constructor - global.set $new/genext3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $new/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $new/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $new/Gen#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $new/Gen#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $new/ns.Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 6 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/object/Object#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $new/ns.Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $new/GenExt#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 + i32.const 7 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $new/Gen#constructor local.tee $this i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $new/GenExt#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $start:new (type $none_=>_none) + (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 $0 + memory.size $0 + 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 + i32.const 0 + call $new/Ref#constructor + global.set $new/ref + i32.const 0 + call $new/Ref#constructor + global.set $new/ref + i32.const 0 + call $new/Ref#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $new/Ref#get:ref + global.set $new/ref + i32.const 0 + call $new/Gen#constructor + global.set $new/gen + i32.const 0 + call $new/Gen#constructor + global.set $new/gen + i32.const 0 + call $new/Gen#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $new/Gen#get:gen + global.set $new/gen + i32.const 0 + call $new/ns.Ref#constructor + global.set $new/ref2 + i32.const 0 + call $new/ns.Ref#constructor + global.set $new/ref2 + i32.const 0 + call $new/ns.Ref#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $new/ns.Ref#get:ref + global.set $new/ref2 + i32.const 0 + call $new/GenExt#constructor + global.set $new/genext + i32.const 0 + call $new/GenExt#constructor + global.set $new/genext2 + i32.const 0 + call $new/GenExt#constructor + global.set $new/genext3 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2601,16 +2626,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 7 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $new/Gen#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/new.release.wat b/tests/compiler/new.release.wat index af7103962c..44b65e620d 100644 --- a/tests/compiler/new.release.wat +++ b/tests/compiler/new.release.wat @@ -1538,44 +1538,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1476 - i32.lt_s - if - i32.const 34272 - i32.const 34320 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $new/Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1591,27 +1558,32 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $new/Gen#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1626,8 +1598,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1638,20 +1610,25 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $new/ns.Ref#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1667,28 +1644,33 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) (func $new/GenExt#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1704,19 +1686,57 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $new/Gen#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1476 + i32.lt_s + if + i32.const 34272 + i32.const 34320 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer diff --git a/tests/compiler/object-literal.debug.wat b/tests/compiler/object-literal.debug.wat index c78f35d752..57541e5d88 100644 --- a/tests/compiler/object-literal.debug.wat +++ b/tests/compiler/object-literal.debug.wat @@ -2456,49 +2456,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $object-literal/Unmanaged#set:bar (type $i32_i32_=>_none) (param $this i32) (param $bar i32) local.get $this local.get $bar @@ -2659,198 +2616,6 @@ local.get $this i32.load8_u $0 offset=64 ) - (func $object-literal/testOmittedTypes (type $i32_=>_none) (param $omitted i32) - local.get $omitted - call $object-literal/OmittedTypes#get:int32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 57 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:uint32 - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:int64 - i64.const 0 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 59 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:uint64 - i64.const 0 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:float32 - f32.const 0 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 61 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:float64 - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 62 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:int8 - i32.extend8_s - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:uint8 - i32.const 255 - i32.and - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 64 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:int16 - i32.extend16_s - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 65 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:uint16 - i32.const 65535 - i32.and - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 66 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:intsize - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:uintsize - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:alias - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/OmittedTypes#get:isTrue - i32.const 0 - i32.ne - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - ) (func $object-literal/MixedOmitted#set:simpleType (type $i32_i32_=>_none) (param $this i32) (param $simpleType i32) local.get $this local.get $simpleType @@ -3236,7 +3001,7 @@ unreachable end ) - (func $object-literal/testManaged (type $i32_=>_none) (param $managed i32) + (func $object-literal/Managed#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3246,49 +3011,53 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $managed - call $object-literal/Managed#get:bar - i32.const 123 - i32.eq + local.get $this i32.eqz if - i32.const 0 - i32.const 480 - i32.const 9 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $managed - call $object-literal/Managed#get:baz + global.get $~lib/memory/__stack_pointer + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 32 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/Managed#set:bar + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + call $object-literal/Managed#set:baz + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $object-literal/testUnmanaged (type $i32_=>_none) (param $unmanaged i32) - (local $1 i32) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3297,80 +3066,135 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $unmanaged - call $object-literal/Unmanaged#get:bar - i32.const 123 + local.get $left + local.get $right i32.eq - i32.eqz 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right i32.const 0 - i32.const 480 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.eq end - local.get $unmanaged - call $object-literal/Unmanaged#get:baz - local.set $1 + 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 $left + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - i32.const 576 - local.set $1 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 480 - i32.const 28 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $unmanaged - call $~lib/rt/tlsf/__free + local.get $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return ) - (func $object-literal/testMixedOmitted (type $i32_=>_none) (param $omitted i32) + (func $object-literal/testManaged (type $i32_=>_none) (param $managed i32) (local $1 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 $0 - local.get $omitted - call $object-literal/MixedOmitted#get:simpleType + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store $0 offset=8 + local.get $managed + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/Managed#get:bar + i32.const 123 i32.eq i32.eqz if i32.const 0 i32.const 480 - i32.const 82 + i32.const 9 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $omitted - call $object-literal/MixedOmitted#get:complexType + local.get $managed + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/Managed#get:baz local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - i32.const 608 + i32.const 32 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -3381,31 +3205,37 @@ if i32.const 0 i32.const 480 - i32.const 83 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $omitted - call $object-literal/MixedOmitted#get:anotherSimpleType - f64.const 0 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 84 + i32.const 10 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 $object-literal/OmittedFoo#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -3415,69 +3245,126 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 40 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $22 i32.store $0 - local.get $this - i32.const 640 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $object-literal/OmittedFoo#set:bar - local.get $this - i32.const 672 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $object-literal/OmittedFoo#set:baz - local.get $this - i32.const 0 - call $object-literal/OmittedFoo#set:quux - local.get $this - i32.const 0 - call $object-literal/OmittedFoo#set:quuz - local.get $this - i32.const 0 - call $object-literal/OmittedFoo#set:corge - local.get $this - i32.const 0 - call $object-literal/OmittedFoo#set:grault - local.get $this + local.get $22 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 i32.const 0 - call $object-literal/OmittedFoo#set:garply - local.get $this + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 i32.const 0 - call $object-literal/OmittedFoo#set:waldo - local.get $this - i32.const 0 - call $object-literal/OmittedFoo#set:fred - local.get $this - i32.const -1 - call $object-literal/OmittedFoo#set:qux + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size + i32.eqz + if + i32.const 544 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $fromPos + i32.eqz + if (result i32) + local.get $toPos + local.get $len + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out local.get $this - local.set $1 + local.get $fromPos + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $22 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $22 + return ) - (func $object-literal/testOmittedFoo (type $i32_=>_none) (param $foo i32) + (func $object-literal/testUnmanaged (type $i32_=>_none) (param $unmanaged i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3487,37 +3374,27 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $foo - call $object-literal/OmittedFoo#get:bar - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.const 640 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/string/String.__eq + local.get $unmanaged + call $object-literal/Unmanaged#get:bar + i32.const 123 + i32.eq i32.eqz if i32.const 0 i32.const 480 - i32.const 107 + i32.const 27 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $foo - call $object-literal/OmittedFoo#get:baz + local.get $unmanaged + call $object-literal/Unmanaged#get:baz local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - i32.const 672 + i32.const 576 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 @@ -3528,638 +3405,1188 @@ if i32.const 0 i32.const 480 - i32.const 108 + i32.const 28 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $foo - call $object-literal/OmittedFoo#get:quux - local.set $1 + local.get $unmanaged + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.const 0 - call $~lib/string/String.__eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $object-literal/OmittedTypes#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this i32.eqz if - i32.const 0 - i32.const 480 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 65 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $foo - call $object-literal/OmittedFoo#get:quuz + global.get $~lib/memory/__stack_pointer + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 110 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $foo - call $object-literal/OmittedFoo#get:corge + call $object-literal/OmittedTypes#set:int32 + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 111 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $foo - call $object-literal/OmittedFoo#get:grault + call $object-literal/OmittedTypes#set:uint32 + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 112 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $foo - call $object-literal/OmittedFoo#get:garply + i64.const 0 + call $object-literal/OmittedTypes#set:int64 + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 113 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $foo - call $object-literal/OmittedFoo#get:waldo + i64.const 0 + call $object-literal/OmittedTypes#set:uint64 + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 480 - i32.const 114 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $foo - call $object-literal/OmittedFoo#get:fred + f32.const 0 + call $object-literal/OmittedTypes#set:float32 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $object-literal/OmittedTypes#set:float64 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:int8 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uint8 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:int16 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uint16 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:intsize + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:uintsize + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $object-literal/OmittedTypes#set:alias + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedTypes#set:isTrue + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $object-literal/testOmittedTypes (type $i32_=>_none) (param $omitted 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 $0 + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:int32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:uint32 + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 58 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:int64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 59 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:uint64 + i64.const 0 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:float32 + f32.const 0 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 61 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:float64 + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:int8 + i32.extend8_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:uint8 + i32.const 255 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 64 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:int16 + i32.extend16_s + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 65 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:uint16 + i32.const 65535 + i32.and + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 66 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:intsize + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:uintsize + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:alias + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 69 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedTypes#get:isTrue + i32.const 0 + i32.ne + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 70 + 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 $object-literal/MixedOmitted#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/MixedOmitted#set:simpleType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/MixedOmitted#set:complexType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 0 + call $object-literal/MixedOmitted#set:anotherSimpleType + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $object-literal/testMixedOmitted (type $i32_=>_none) (param $omitted 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/MixedOmitted#get:simpleType i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 480 - i32.const 115 + i32.const 82 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/MixedOmitted#get:complexType + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 608 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $omitted + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/MixedOmitted#get:anotherSimpleType + f64.const 0 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 84 + 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 $object-literal/OmittedFoo#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 640 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/OmittedFoo#set:bar + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 672 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/OmittedFoo#set:baz + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:quux + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:quuz + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:corge + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:grault + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:garply + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:waldo + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $object-literal/OmittedFoo#set:fred + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $object-literal/OmittedFoo#set:qux + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $object-literal/testOmittedFoo (type $i32_=>_none) (param $foo 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $foo + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/OmittedFoo#get:bar + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 640 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 107 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $foo + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $object-literal/OmittedFoo#get:baz + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 672 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable end local.get $foo - call $object-literal/OmittedFoo#get:qux - i32.const -1 - i32.eq + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $object-literal/OmittedFoo#get:quux + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 480 - i32.const 116 + i32.const 109 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $foo + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:object-literal (type $none_=>_none) - (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 28 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 28 - memory.fill $0 - i32.const 128 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - memory.size $0 - 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 336 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 368 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $object-literal/Managed#constructor - local.tee $0 + local.get $1 i32.store $0 offset=4 - local.get $0 - i32.const 123 - call $object-literal/Managed#set:bar - local.get $0 - i32.const 32 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $object-literal/Managed#set:baz - local.get $0 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - call $object-literal/testManaged - i32.const 0 - call $object-literal/Unmanaged#constructor + local.get $1 + call $object-literal/OmittedFoo#get:quuz local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 123 - call $object-literal/Unmanaged#set:bar + i32.store $0 local.get $1 - i32.const 32 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - local.get $5 i32.const 0 - i32.const 5 - call $~lib/string/String#substring - local.set $5 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 110 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $foo + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - local.get $5 - call $object-literal/Unmanaged#set:baz local.get $1 - call $object-literal/testUnmanaged - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $object-literal/OmittedTypes#constructor - local.tee $2 - i32.store $0 offset=16 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 i32.store $0 offset=4 - local.get $2 - i64.const 0 - i64.store $0 offset=8 - local.get $2 - i64.const 0 - i64.store $0 offset=16 - local.get $2 - f32.const 0 - f32.store $0 offset=24 - local.get $2 - f64.const 0 - f64.store $0 offset=32 - local.get $2 - i32.const 0 - i32.store8 $0 offset=40 - local.get $2 - i32.const 0 - i32.store8 $0 offset=41 - local.get $2 - i32.const 0 - i32.store16 $0 offset=42 - local.get $2 - i32.const 0 - i32.store16 $0 offset=44 - local.get $2 - i32.const 0 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.store $0 offset=52 - local.get $2 - f64.const 0 - f64.store $0 offset=56 - local.get $2 - i32.const 0 - i32.store8 $0 offset=64 - local.get $2 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - call $object-literal/testOmittedTypes - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $object-literal/MixedOmitted#constructor - local.tee $3 - i32.store $0 offset=20 - local.get $3 - i32.const 0 - call $object-literal/MixedOmitted#set:simpleType - local.get $3 - i32.const 608 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $object-literal/MixedOmitted#set:complexType - local.get $3 - f64.const 0 - f64.store $0 offset=8 - local.get $3 - local.set $5 + local.get $1 + call $object-literal/OmittedFoo#get:corge + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $1 i32.store $0 - local.get $5 - call $object-literal/testMixedOmitted - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $object-literal/OmittedFoo#constructor - local.tee $4 - i32.store $0 offset=24 - local.get $4 - i32.const 0 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - i32.store $0 offset=12 - local.get $4 - i32.const 0 - i32.store $0 offset=16 - local.get $4 - i32.const 0 - i32.store $0 offset=20 - local.get $4 - i32.const 0 - i32.store $0 offset=24 - local.get $4 - i32.const 0 - i32.store $0 offset=28 - local.get $4 + local.get $1 i32.const 0 - i32.store $0 offset=32 - local.get $4 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - call $object-literal/testOmittedFoo - 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 28 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 111 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $foo + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $object-literal/OmittedFoo#get:grault + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 - local.get $this + local.get $1 + i32.const 0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 480 + i32.const 112 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this + local.get $foo local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $1 - ) - (func $object-literal/Managed#constructor (type $i32_=>_i32) (param $this 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 + i32.store $0 offset=4 + local.get $1 + call $object-literal/OmittedFoo#get:garply + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.store $0 - local.get $this + local.get $1 + i32.const 0 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 480 + i32.const 113 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $object-literal/Managed#set:bar - local.get $this - i32.const 0 - call $object-literal/Managed#set:baz - local.get $this + local.get $foo 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $finalStart i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $finalEnd i32) - (local $14 i32) - (local $15 i32) - (local $fromPos i32) - (local $17 i32) - (local $18 i32) - (local $toPos i32) - (local $size i32) - (local $out i32) - (local $22 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.store $0 offset=4 + local.get $1 + call $object-literal/OmittedFoo#get:waldo + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $finalStart - local.get $end - local.tee $9 + local.get $1 i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_s - select - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - local.set $finalEnd - local.get $finalStart - local.tee $14 - local.get $finalEnd - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $fromPos - local.get $finalStart - local.tee $17 - local.get $finalEnd - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $toPos - local.get $toPos - local.get $fromPos - i32.sub - local.set $size - local.get $size + call $~lib/string/String.__eq i32.eqz if - i32.const 544 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $fromPos - i32.eqz - if (result i32) - local.get $toPos - local.get $len - i32.const 1 - i32.shl - i32.eq - else i32.const 0 + i32.const 480 + i32.const 114 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $foo + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $object-literal/OmittedFoo#get:fred + i32.const 0 + i32.eq + i32.eqz if - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return + i32.const 0 + i32.const 480 + i32.const 115 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $foo + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $1 i32.store $0 - local.get $out - local.get $this - local.get $fromPos - i32.add - local.get $size - memory.copy $0 $0 - local.get $out - local.set $22 + local.get $1 + call $object-literal/OmittedFoo#get:qux + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 480 + i32.const 116 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 - return ) - (func $object-literal/OmittedTypes#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $start:object-literal (type $none_=>_none) + (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 4 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 65 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + i32.const 28 + memory.fill $0 + i32.const 128 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + memory.size $0 + 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 336 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 368 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + i32.const 0 + call $object-literal/Managed#constructor + local.tee $0 + i32.store $0 offset=4 + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.const 123 + call $object-literal/Managed#set:bar + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.const 32 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + call $object-literal/Managed#set:baz + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 - local.get $this + local.get $5 + call $object-literal/testManaged i32.const 0 - call $object-literal/OmittedTypes#set:int32 - local.get $this + call $object-literal/Unmanaged#constructor + local.set $1 + local.get $1 + i32.const 123 + call $object-literal/Unmanaged#set:bar + local.get $1 + i32.const 32 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 i32.const 0 - call $object-literal/OmittedTypes#set:uint32 - local.get $this + i32.const 5 + call $~lib/string/String#substring + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $object-literal/Unmanaged#set:baz + local.get $1 + call $object-literal/testUnmanaged + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $object-literal/OmittedTypes#constructor + local.tee $2 + i32.store $0 offset=16 + local.get $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $2 i64.const 0 - call $object-literal/OmittedTypes#set:int64 - local.get $this + i64.store $0 offset=8 + local.get $2 i64.const 0 - call $object-literal/OmittedTypes#set:uint64 - local.get $this + i64.store $0 offset=16 + local.get $2 f32.const 0 - call $object-literal/OmittedTypes#set:float32 - local.get $this + f32.store $0 offset=24 + local.get $2 f64.const 0 - call $object-literal/OmittedTypes#set:float64 - local.get $this + f64.store $0 offset=32 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:int8 - local.get $this + i32.store8 $0 offset=40 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:uint8 - local.get $this + i32.store8 $0 offset=41 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:int16 - local.get $this + i32.store16 $0 offset=42 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:uint16 - local.get $this + i32.store16 $0 offset=44 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:intsize - local.get $this + i32.store $0 offset=48 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:uintsize - local.get $this + i32.store $0 offset=52 + local.get $2 f64.const 0 - call $object-literal/OmittedTypes#set:alias - local.get $this + f64.store $0 offset=56 + local.get $2 i32.const 0 - call $object-literal/OmittedTypes#set:isTrue - local.get $this - local.set $1 + i32.store8 $0 offset=64 + local.get $2 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $5 + i32.store $0 + local.get $5 + call $object-literal/testOmittedTypes + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $object-literal/MixedOmitted#constructor + local.tee $3 + i32.store $0 offset=20 + local.get $3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.const 0 + call $object-literal/MixedOmitted#set:simpleType + local.get $3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.const 608 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + call $object-literal/MixedOmitted#set:complexType + local.get $3 + f64.const 0 + f64.store $0 offset=8 + local.get $3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $object-literal/testMixedOmitted + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $object-literal/OmittedFoo#constructor + local.tee $4 + i32.store $0 offset=24 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + i32.const 0 + i32.store $0 offset=12 + local.get $4 + i32.const 0 + i32.store $0 offset=16 + local.get $4 + i32.const 0 + i32.store $0 offset=20 + local.get $4 + i32.const 0 + i32.store $0 offset=24 + local.get $4 + i32.const 0 + i32.store $0 offset=28 + local.get $4 + i32.const 0 + i32.store $0 offset=32 + local.get $4 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $object-literal/testOmittedFoo + 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 28 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $object-literal/MixedOmitted#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -4173,26 +4600,12 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 + i32.const 0 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 0 - call $object-literal/MixedOmitted#set:simpleType - local.get $this - i32.const 0 - call $object-literal/MixedOmitted#set:complexType - local.get $this - f64.const 0 - call $object-literal/MixedOmitted#set:anotherSimpleType local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/object-literal.release.wat b/tests/compiler/object-literal.release.wat index 4100107c86..aa53bd54a9 100644 --- a/tests/compiler/object-literal.release.wat +++ b/tests/compiler/object-literal.release.wat @@ -1523,123 +1523,6 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) (local $1 i32) block $folding-inner0 @@ -1734,15 +1617,624 @@ unreachable end local.get $0 - i32.load $0 offset=4 - local.tee $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + ) + (func $~start (type $none_=>_none) + call $start:object-literal + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 $object-literal/testOmittedTypes (type $i32_=>_none) (param $0 i32) + (local $1 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + if + i32.const 0 + i32.const 1504 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + if + i32.const 0 + i32.const 1504 + i32.const 58 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i64.load $0 offset=8 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 1504 + i32.const 59 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i64.load $0 offset=16 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 1504 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + f32.load $0 offset=24 + f32.const 0 + f32.ne + if + i32.const 0 + i32.const 1504 + i32.const 61 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + f64.load $0 offset=32 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1504 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load8_u $0 offset=40 + if + i32.const 0 + i32.const 1504 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load8_u $0 offset=41 + if + i32.const 0 + i32.const 1504 + i32.const 64 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load16_u $0 offset=42 + if + i32.const 0 + i32.const 1504 + i32.const 65 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load16_u $0 offset=44 + if + i32.const 0 + i32.const 1504 + i32.const 66 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=48 + if + i32.const 0 + i32.const 1504 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=52 + if + i32.const 0 + i32.const 1504 + i32.const 68 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + f64.load $0 offset=56 + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1504 + i32.const 69 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load8_u $0 offset=64 + if + i32.const 0 + i32.const 1504 + i32.const 70 + 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 $object-literal/testOmittedFoo (type $i32_=>_none) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.load $0 + local.tee $2 + i32.store $0 + local.get $1 + i32.const 1664 + i32.store $0 offset=4 + local.get $2 + i32.const 1664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 107 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.load $0 offset=4 + local.tee $2 + i32.store $0 + local.get $1 + i32.const 1696 + i32.store $0 offset=4 + local.get $2 + i32.const 1696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 108 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 109 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 110 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=16 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 111 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 112 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=24 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 113 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.load $0 offset=28 + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1504 + i32.const 114 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=32 + if + i32.const 0 + i32.const 1504 + i32.const 115 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=36 + i32.const -1 + i32.ne if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 0 + i32.const 1504 + i32.const 116 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~start (type $none_=>_none) - call $start:object-literal + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:object-literal (type $none_=>_none) (local $0 i32) @@ -1797,7 +2289,7 @@ i32.const 1392 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1806,8 +2298,8 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 8 i32.const 4 @@ -1815,29 +2307,45 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $1 i32.const 123 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 1056 + local.get $1 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=12 local.get $1 i32.const 1056 i32.store $0 offset=4 @@ -1849,7 +2357,7 @@ local.get $1 i32.store $0 local.get $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1857,8 +2365,15 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + local.tee $0 i64.const 0 i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 123 @@ -1874,6 +2389,9 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 i32.load $0 offset=4 local.tee $1 i32.store $0 @@ -1893,7 +2411,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/rt/tlsf/ROOT @@ -1918,9 +2436,9 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 1056 - i32.store $0 offset=12 + i32.store $0 offset=8 local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1928,7 +2446,11 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1056 i32.store $0 i32.const 5 i32.const 1052 @@ -1965,7 +2487,7 @@ i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 1568 @@ -1982,7 +2504,7 @@ i32.and if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 1056 @@ -1994,7 +2516,7 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 local.get $1 i32.const 1056 @@ -2002,14 +2524,14 @@ local.get $4 memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer local.tee $1 local.get $0 - i32.store $0 offset=12 + i32.store $0 offset=8 local.get $2 local.get $0 i32.store $0 offset=4 @@ -2066,7 +2588,7 @@ global.get $~lib/memory/__stack_pointer local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2075,8 +2597,8 @@ br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 i32.const 65 i32.const 5 @@ -2084,54 +2606,100 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i64.const 0 i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i64.const 0 i64.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 f32.const 0 f32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 f64.const 0 f64.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store8 $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store8 $0 offset=41 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store16 $0 offset=42 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store16 $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 f64.const 0 f64.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store8 $0 offset=64 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2183,158 +2751,11 @@ local.get $1 i32.store $0 local.get $1 - i32.load $0 - if - i32.const 0 - i32.const 1504 - i32.const 57 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=4 - if - i32.const 0 - i32.const 1504 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.load $0 offset=8 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 1504 - i32.const 59 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i64.load $0 offset=16 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 1504 - i32.const 60 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f32.load $0 offset=24 - f32.const 0 - f32.ne - if - i32.const 0 - i32.const 1504 - i32.const 61 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.load $0 offset=32 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1504 - i32.const 62 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_u $0 offset=40 - if - i32.const 0 - i32.const 1504 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_u $0 offset=41 - if - i32.const 0 - i32.const 1504 - i32.const 64 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load16_u $0 offset=42 - if - i32.const 0 - i32.const 1504 - i32.const 65 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load16_u $0 offset=44 - if - i32.const 0 - i32.const 1504 - i32.const 66 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=48 - if - i32.const 0 - i32.const 1504 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=52 - if - i32.const 0 - i32.const 1504 - i32.const 68 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - f64.load $0 offset=56 - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1504 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load8_u $0 offset=64 - if - i32.const 0 - i32.const 1504 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $object-literal/testOmittedTypes global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2342,9 +2763,9 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 i32.const 16 i32.const 6 @@ -2352,32 +2773,52 @@ local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $1 f64.const 0 f64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 local.get $1 i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $1 i32.const 0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 1632 + local.get $1 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1632 + i32.store $0 offset=12 local.get $1 i32.const 1632 i32.store $0 offset=4 @@ -2392,7 +2833,7 @@ local.get $1 i32.store $0 local.get $0 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2400,8 +2841,15 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer + local.tee $0 i64.const 0 i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 if @@ -2415,6 +2863,9 @@ global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 i32.load $0 offset=4 local.tee $2 i32.store $0 @@ -2433,6 +2884,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 f64.load $0 offset=8 f64.const 0 @@ -2446,13 +2900,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2464,19 +2918,29 @@ i64.const 0 i64.store $0 local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 i32.const 40 i32.const 7 call $~lib/rt/itcms/__new local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $1 call $~lib/object/Object#constructor local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 1664 + local.get $1 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1664 + i32.store $0 offset=8 local.get $1 i32.const 1664 i32.store $0 @@ -2484,40 +2948,69 @@ i32.const 1664 call $byn-split-outlined-A$~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 1696 + local.tee $2 + local.get $1 i32.store $0 offset=4 + local.get $2 + i32.const 1696 + i32.store $0 offset=8 local.get $1 i32.const 1696 i32.store $0 offset=4 local.get $1 i32.const 1696 call $byn-split-outlined-A$~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=8 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=12 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=16 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=20 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=24 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=28 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 0 i32.store $0 offset=32 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const -1 i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2545,190 +3038,10 @@ i32.const 0 i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $1 - i32.load $0 - local.tee $2 - i32.store $0 - local.get $0 - i32.const 1664 - i32.store $0 offset=4 - local.get $2 - i32.const 1664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 107 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.load $0 offset=4 - local.tee $2 - i32.store $0 - local.get $0 - i32.const 1696 - i32.store $0 offset=4 - local.get $2 - i32.const 1696 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 108 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 109 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=12 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 110 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=16 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 111 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=20 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 112 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=24 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 113 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=28 - local.tee $0 i32.store $0 - local.get $0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1504 - i32.const 114 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=32 - if - i32.const 0 - i32.const 1504 - i32.const 115 - i32.const 3 - call $~lib/builtins/abort - unreachable - end local.get $1 - i32.load $0 offset=36 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1504 - i32.const 116 - 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 + call $object-literal/testOmittedFoo i32.const 34516 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state diff --git a/tests/compiler/optional-typeparameters.debug.wat b/tests/compiler/optional-typeparameters.debug.wat index ec01a9c1b1..f374bf5d36 100644 --- a/tests/compiler/optional-typeparameters.debug.wat +++ b/tests/compiler/optional-typeparameters.debug.wat @@ -2265,10 +2265,6 @@ i32.eq drop ) - (func $optional-typeparameters/TestMethodDerived2#foo (type $i32_i32_=>_none) (param $this i32) (param $v i32) - local.get $v - call $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> - ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) global.get $optional-typeparameters/tConcrete @@ -2335,48 +2331,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2444,6 +2398,180 @@ unreachable end ) + (func $optional-typeparameters/TestConcrete#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $optional-typeparameters/TestDerived#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $optional-typeparameters/TestMethodDerived<~lib/string/String>#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $optional-typeparameters/TestMethodDerived2#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $optional-typeparameters/TestMethodDerived2#foo (type $i32_i32_=>_none) (param $this i32) (param $v 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 $0 + local.get $v + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $optional-typeparameters/TestMethodDerived<~lib/string/String>#test<~lib/array/Array<~lib/string/String>> + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $start:optional-typeparameters (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2534,8 +2662,11 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2544,124 +2675,64 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 1 + drop local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $optional-typeparameters/TestConcrete#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + 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 + local.get $5 i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $5 i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $optional-typeparameters/TestDerived#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end end - global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $optional-typeparameters/TestMethodDerived<~lib/string/String>#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $5 i32.store $0 - local.get $this - local.set $1 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $optional-typeparameters/TestMethodDerived2#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2676,16 +2747,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 8 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/optional-typeparameters.release.wat b/tests/compiler/optional-typeparameters.release.wat index 8e90a5aee4..a33c52952b 100644 --- a/tests/compiler/optional-typeparameters.release.wat +++ b/tests/compiler/optional-typeparameters.release.wat @@ -1425,9 +1425,35 @@ end return end + 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 1480 + i32.lt_s + if + i32.const 34272 + i32.const 34320 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - local.tee $1 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 local.get $0 i32.load $0 offset=12 i32.const 2 @@ -1453,6 +1479,9 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.tee $0 @@ -1460,6 +1489,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end return @@ -1468,6 +1501,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -1514,7 +1548,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1523,20 +1557,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1545,7 +1583,7 @@ global.get $optional-typeparameters/tConcrete i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1554,20 +1592,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1576,7 +1618,7 @@ global.get $optional-typeparameters/tDerived i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1585,20 +1627,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 6 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1607,7 +1653,7 @@ global.get $optional-typeparameters/tMethodDerived i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1616,20 +1662,24 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1639,8 +1689,28 @@ i32.store $0 global.get $~lib/memory/__stack_pointer global.get $optional-typeparameters/tMethodDerived + local.tee $0 i32.store $0 offset=4 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 1480 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + 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.debug.wat b/tests/compiler/possibly-null.debug.wat index 1d27df7a39..7e4cf7235d 100644 --- a/tests/compiler/possibly-null.debug.wat +++ b/tests/compiler/possibly-null.debug.wat @@ -135,21 +135,43 @@ end ) (func $possibly-null/testWhile2 (type $i32_i32_=>_none) (param $a i32) (param $b i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 loop $while-continue|0 local.get $a if i32.const 0 drop + global.get $~lib/memory/__stack_pointer local.get $b - local.set $a + local.tee $a + i32.store $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 (type $i32_i32_=>_none) (param $a i32) (param $b i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 loop $while-continue|0 local.get $a if @@ -157,42 +179,25 @@ drop local.get $b if + global.get $~lib/memory/__stack_pointer local.get $b - local.set $a + local.tee $a + i32.store $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 (type $i32_=>_i32) (param $a i32) (result i32) local.get $a return ) - (func $possibly-null/testLogicalAnd (type $i32_=>_none) (param $a i32) - local.get $a - if (result i32) - local.get $a - call $possibly-null/requireNonNull - else - i32.const 0 - end - drop - ) - (func $possibly-null/testLogicalOr (type $i32_=>_none) (param $a i32) - local.get $a - i32.eqz - if (result i32) - i32.const 1 - else - local.get $a - call $possibly-null/requireNonNull - i32.const 0 - i32.ne - end - drop - ) (func $possibly-null/testLogicalAndMulti (type $i32_i32_=>_none) (param $a i32) (param $b i32) local.get $a if (result i32) @@ -238,10 +243,24 @@ end ) (func $possibly-null/testAssign (type $i32_i32_=>_none) (param $a i32) (param $b i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $a + local.tee $a + i32.store $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 (type $i32_=>_none) (param $a i32) local.get $a @@ -263,6 +282,65 @@ unreachable end ) + (func $possibly-null/testLogicalAnd (type $i32_=>_none) (param $a 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 $0 + local.get $a + if (result i32) + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 (type $i32_=>_none) (param $a 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 $0 + local.get $a + i32.eqz + if (result i32) + i32.const 1 + else + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 (type $i32_=>_none) (param $0 i32) global.get $~lib/memory/__stack_pointer i32.const 4 diff --git a/tests/compiler/possibly-null.release.wat b/tests/compiler/possibly-null.release.wat index e85bfa1db1..68a3499407 100644 --- a/tests/compiler/possibly-null.release.wat +++ b/tests/compiler/possibly-null.release.wat @@ -18,11 +18,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/testTrue)) - (export "testLogicalOr" (func $export:possibly-null/testTrue)) + (export "testLogicalAnd" (func $export:possibly-null/testLogicalAnd)) + (export "testLogicalOr" (func $export:possibly-null/testLogicalAnd)) (export "testLogicalAndMulti" (func $export:possibly-null/testLogicalAndMulti)) (export "testLogicalOrMulti" (func $export:possibly-null/testLogicalAndMulti)) - (export "testAssign" (func $export:possibly-null/testLogicalAndMulti)) + (export "testAssign" (func $export:possibly-null/testAssign)) (export "testNeverNull" (func $export:possibly-null/testTrue)) (func $export:possibly-null/testTrue (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -88,36 +88,55 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1024 - i32.lt_s - if - i32.const 33824 - i32.const 33872 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - loop $while-continue|0 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - if - local.get $1 - local.set $0 - br $while-continue|0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + loop $while-continue|0 + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + local.tee $0 + i32.store $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 + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:possibly-null/testWhile3 (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) @@ -125,39 +144,108 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1024 - i32.lt_s - if - i32.const 33824 - i32.const 33872 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + loop $while-continue|0 + local.get $0 + if + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.set $0 + end + 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 + return end + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $export:possibly-null/testLogicalAnd (type $i32_=>_none) (param $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - loop $while-continue|0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 local.get $0 if - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - select - local.set $0 - br $while-continue|0 + i32.store $0 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 + return end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $export:possibly-null/testLogicalAndMulti (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) @@ -188,4 +276,54 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $export:possibly-null/testAssign (type $i32_i32_=>_none) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + 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 + return + end + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) ) diff --git a/tests/compiler/reexport.debug.wat b/tests/compiler/reexport.debug.wat index 0f360c6224..a52fe12f4d 100644 --- a/tests/compiler/reexport.debug.wat +++ b/tests/compiler/reexport.debug.wat @@ -2285,11 +2285,6 @@ local.get $this i32.load $0 ) - (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $exports/Car#get:doors - return - ) (func $export/sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) local.get $a local.get $b @@ -2376,6 +2371,75 @@ unreachable end ) + (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $exports/Car#get:doors + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $start:reexport (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2466,38 +2530,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.set $2 - 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/reexport.release.wat b/tests/compiler/reexport.release.wat index f872518e3b..25b704a641 100644 --- a/tests/compiler/reexport.release.wat +++ b/tests/compiler/reexport.release.wat @@ -1432,6 +1432,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1478,7 +1479,7 @@ i32.const 1392 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1487,20 +1488,27 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1509,8 +1517,29 @@ global.get $reexport/car local.tee $0 i32.store $0 + 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 1512 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.const 2 i32.ne if diff --git a/tests/compiler/rereexport.debug.wat b/tests/compiler/rereexport.debug.wat index 332f0ab444..c159b7ab25 100644 --- a/tests/compiler/rereexport.debug.wat +++ b/tests/compiler/rereexport.debug.wat @@ -2278,11 +2278,6 @@ local.get $this i32.load $0 ) - (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $exports/Car#get:doors - return - ) (func $export-default/theDefault (type $none_=>_none) nop ) @@ -2377,6 +2372,75 @@ unreachable end ) + (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $doors + call $exports/Car#set:doors + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $exports/Car#get:numDoors (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $exports/Car#get:doors + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $start:reexport (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2583,38 +2647,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $exports/Car#constructor (type $i32_i32_=>_i32) (param $this i32) (param $doors 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.get $doors - call $exports/Car#set:doors - local.get $this - local.set $2 - 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/rereexport.release.wat b/tests/compiler/rereexport.release.wat index 84f94c71a3..925023d7fb 100644 --- a/tests/compiler/rereexport.release.wat +++ b/tests/compiler/rereexport.release.wat @@ -3,9 +3,9 @@ (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $export/a i32 (i32.const 1)) (global $export/b i32 (i32.const 2)) @@ -1488,7 +1488,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1510,7 +1510,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1528,7 +1528,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 + call $exports/Car#get:numDoors i32.const 2 i32.ne if @@ -1554,8 +1554,9 @@ ) (func $exports/Car#constructor (type $none_=>_i32) (result i32) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1571,20 +1572,60 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $exports/Car#get:numDoors (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1560 + i32.lt_s + if + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $0 + local.get $1 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/resolve-access.debug.wat b/tests/compiler/resolve-access.debug.wat index 9f4b25f774..98f594c02a 100644 --- a/tests/compiler/resolve-access.debug.wat +++ b/tests/compiler/resolve-access.debug.wat @@ -10,11 +10,11 @@ (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_=>_i64 (func_subtype (param i32) (result i64) func)) + (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -2347,33 +2347,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 256 - i32.const 464 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value i32.const 100000 @@ -2978,12 +2951,6 @@ local.get $this i64.load $0 ) - (func $resolve-access/Container#toU32 (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $resolve-access/Container#get:foo - i32.wrap_i64 - return - ) (func $~lib/number/U32#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) local.get $this local.get $radix @@ -3026,14 +2993,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3046,14 +3005,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3134,6 +3085,304 @@ unreachable end ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 256 + i32.const 464 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $resolve-access/arrayAccess (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + (local $arr 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 3 + i32.const 4 + i32.const 32 + call $~lib/rt/__newArray + local.tee $arr + i32.store $0 + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + call $~lib/array/Array#__get + i32.const 10 + call $~lib/number/U64#toString + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $resolve-access/Container#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + call $resolve-access/Container#set:foo + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $resolve-access/fieldAccess (type $none_=>_i32) (result i32) + (local $container 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $resolve-access/Container#constructor + local.tee $container + i32.store $0 + local.get $container + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 1 + call $resolve-access/Container#set:foo + local.get $container + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $resolve-access/Container#get:foo + i32.const 10 + call $~lib/number/U64#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $resolve-access/Container#toU32 (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $resolve-access/Container#get:foo + i32.wrap_i64 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $resolve-access/propertyAccess (type $none_=>_i32) (result i32) + (local $container 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $resolve-access/Container#constructor + local.tee $container + i32.store $0 + local.get $container + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 1 + call $resolve-access/Container#set:foo + local.get $container + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + return + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) (local $buffer i32) @@ -3374,40 +3623,6 @@ local.get $17 return ) - (func $resolve-access/arrayAccess (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) - (local $arr 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 3 - i32.const 4 - i32.const 32 - call $~lib/rt/__newArray - local.tee $arr - i32.store $0 - local.get $arr - i32.const 0 - call $~lib/array/Array#__get - i32.const 10 - call $~lib/number/U64#toString - 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/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer @@ -3436,73 +3651,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $resolve-access/Container#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i64.const 0 - call $resolve-access/Container#set:foo - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $resolve-access/fieldAccess (type $none_=>_i32) (result i32) - (local $container 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $resolve-access/Container#constructor - local.tee $container - i32.store $0 - local.get $container - i64.const 1 - call $resolve-access/Container#set:foo - local.get $container - call $resolve-access/Container#get:foo - i32.const 10 - call $~lib/number/U64#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) (local $decimals i32) @@ -3650,35 +3798,4 @@ local.get $12 return ) - (func $resolve-access/propertyAccess (type $none_=>_i32) (result i32) - (local $container 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $resolve-access/Container#constructor - local.tee $container - i32.store $0 - local.get $container - i64.const 1 - call $resolve-access/Container#set:foo - local.get $container - 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 - return - ) ) diff --git a/tests/compiler/resolve-access.release.wat b/tests/compiler/resolve-access.release.wat index 6c2b9b7bf8..8fb0b98343 100644 --- a/tests/compiler/resolve-access.release.wat +++ b/tests/compiler/resolve-access.release.wat @@ -1,7 +1,7 @@ (module (type $none_=>_i32 (func_subtype (result i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -1875,36 +1875,83 @@ end local.get $2 ) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) + (local $1 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 3328 + i32.lt_s + if + i32.const 36128 + i32.const 36176 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $resolve-access/Container - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $resolve-access/Container $invalid + block $invalid + block $resolve-access/Container + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $resolve-access/Container $invalid + end + return + end + return end return end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end return end + local.get $0 + call $~lib/array/Array~visit return end + local.get $0 + call $~lib/array/Array~visit return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + return end + unreachable ) (func $~start (type $none_=>_none) memory.size $0 @@ -1942,12 +1989,13 @@ ) (func $resolve-access/arrayAccess (type $none_=>_i32) (result i32) (local $0 i32) - (local $1 i32) + (local $1 i64) (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 block $folding-inner0 @@ -1956,10 +2004,10 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1974,22 +2022,22 @@ i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.const 1056 i64.load $0 align=1 i64.store $0 align=1 local.get $0 - local.get $1 + local.get $2 i32.store $0 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - local.get $1 + local.tee $3 + local.get $2 i32.store $0 - local.get $1 + local.get $2 if - local.get $2 + local.get $3 i32.eqz if i32.const 0 @@ -2000,16 +2048,16 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $1 + local.get $2 i32.const 20 i32.sub - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $2 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=4 @@ -2020,7 +2068,7 @@ i32.eqz i32.eq if - local.get $4 + local.get $5 call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state @@ -2031,29 +2079,47 @@ i32.eq i32.and if - local.get $4 + local.get $5 call $~lib/rt/itcms/Object#makeGray end end end end + local.get $3 local.get $2 - local.get $1 i32.store $0 offset=4 - local.get $2 + local.get $3 i32.const 8 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 1 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 local.get $3 - local.get $2 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + 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 3328 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 + local.get $3 i32.load $0 offset=12 i32.eqz if @@ -2064,13 +2130,23 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 + local.get $3 i32.load $0 offset=4 i64.load $0 + local.set $1 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 call $~lib/number/U64#toString local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2087,7 +2163,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -2097,8 +2173,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 8 i32.const 6 @@ -2107,6 +2183,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2134,11 +2213,14 @@ local.get $1 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2154,7 +2236,7 @@ (func $resolve-access/fieldAccess (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2170,21 +2252,27 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 call $resolve-access/Container#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i64.const 1 i64.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i64.load $0 call $~lib/number/U64#toString local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2194,29 +2282,54 @@ (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 3328 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 call $resolve-access/Container#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i64.const 1 i64.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 3328 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i64.load $0 i32.wrap_i64 local.set $1 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2224,7 +2337,7 @@ global.get $~lib/memory/__stack_pointer i32.const 3328 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 @@ -2304,7 +2417,7 @@ global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/resolve-binary.debug.wat b/tests/compiler/resolve-binary.debug.wat index 9ec39b9293..2d81bd2acd 100644 --- a/tests/compiler/resolve-binary.debug.wat +++ b/tests/compiler/resolve-binary.debug.wat @@ -227,49 +227,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value i32.const 100000 @@ -5648,6 +5605,216 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $resolve-binary/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $resolve-binary/Bar#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $resolve-binary/Baz#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:resolve-binary (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -7589,103 +7756,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $resolve-binary/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $resolve-binary/Bar#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $resolve-binary/Baz#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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.release.wat b/tests/compiler/resolve-binary.release.wat index 2b39ee20d7..764328f857 100644 --- a/tests/compiler/resolve-binary.release.wat +++ b/tests/compiler/resolve-binary.release.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) @@ -236,123 +236,6 @@ (data (i32.const 11216) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00 \00\00\00 \00\00\00 ") (export "memory" (memory $0)) (start $~start) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -3006,6 +2889,209 @@ (func $~start (type $none_=>_none) call $start:resolve-binary ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 11248 + i32.lt_s + if + i32.const 44048 + i32.const 44096 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 $resolve-binary/Bar#constructor (type $none_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 11248 + i32.lt_s + if + i32.const 44048 + i32.const 44096 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/object/Object#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $start:resolve-binary (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -3894,7 +3980,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3903,8 +3989,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 4 @@ -3912,12 +3998,16 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -4310,7 +4400,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4319,8 +4409,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 6 @@ -4328,12 +4418,16 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -4400,44 +4494,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $resolve-binary/Bar#constructor (type $none_=>_i32) (result i32) - (local $0 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 11248 - i32.lt_s - if - i32.const 44048 - i32.const 44096 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/object/Object#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/resolve-elementaccess.debug.wat b/tests/compiler/resolve-elementaccess.debug.wat index 56b2da1721..90dd2937ad 100644 --- a/tests/compiler/resolve-elementaccess.debug.wat +++ b/tests/compiler/resolve-elementaccess.debug.wat @@ -8,8 +8,6 @@ (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32 i64 i32 i64 i32) (result i32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) (type $f32_i32_=>_i32 (func_subtype (param f32 i32) (result i32) func)) @@ -17,6 +15,8 @@ (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) + (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -2373,54 +2373,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 1315 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - f32.store $0 - ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - return - ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value i32.const 100000 @@ -4055,89 +4007,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 178 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - local.get $value - i32.store8 $0 - ) - (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 167 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_u $0 - return - ) (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) loop $while-continue|0 local.get $offset @@ -4484,111 +4353,622 @@ unreachable end ) - (func $start:resolve-elementaccess (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 - memory.size $0 - 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 2 - call $~lib/typedarray/Float32Array#constructor - global.set $resolve-elementaccess/arr - global.get $resolve-elementaccess/arr - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - global.get $resolve-elementaccess/arr - local.set $4 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - global.get $resolve-elementaccess/arr + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $4 i32.const 0 - call $~lib/typedarray/Float32Array#__get - i32.const 0 - call $~lib/number/F32#toString + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store $0 offset=4 local.get $4 - i32.const 2144 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 i32.store $0 offset=4 local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $length + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u if - i32.const 0 - i32.const 2176 - i32.const 5 - i32.const 1 + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 57 call $~lib/builtins/abort unreachable end - global.get $resolve-elementaccess/arr - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 + local.get $length + local.get $alignLog2 + i32.shl + local.tee $length i32.const 1 - call $~lib/typedarray/Float32Array#__get - i32.const 0 - call $~lib/number/F32#toString + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 + i32.store $0 offset=4 local.get $4 - i32.const 2256 + local.get $buffer local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $length + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Float32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 1315 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + f32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + 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/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + call $~lib/typedarray/Uint8Array#constructor + local.tee $this + i32.store $0 + local.get $this + 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#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 178 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + local.get $value + i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 167 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $start:resolve-elementaccess (type $none_=>_none) + (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 + i32.const 0 + i32.const 24 + memory.fill $0 + memory.size $0 + 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 2 + call $~lib/typedarray/Float32Array#constructor + global.set $resolve-elementaccess/arr + global.get $resolve-elementaccess/arr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + global.get $resolve-elementaccess/arr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + global.get $resolve-elementaccess/arr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + i32.const 0 + call $~lib/number/F32#toString + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 2144 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 2176 + i32.const 5 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $resolve-elementaccess/arr + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + i32.const 0 + call $~lib/number/F32#toString + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 2256 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 local.get $4 call $~lib/string/String.__eq i32.eqz @@ -4605,13 +4985,18 @@ local.tee $0 i32.store $0 offset=12 local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 i32.const 0 local.tee $1 global.get $resolve-elementaccess/arr local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $4 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -4619,6 +5004,11 @@ f32.add call $~lib/typedarray/Float32Array#__set local.get $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 local.get $1 call $~lib/typedarray/Float32Array#__get i32.const 0 @@ -4768,15 +5158,20 @@ global.get $~lib/memory/__stack_pointer global.get $resolve-elementaccess/buf local.tee $2 - i32.store $0 offset=16 + i32.store $0 offset=20 local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 i32.const 0 local.tee $3 global.get $resolve-elementaccess/buf local.set $4 global.get $~lib/memory/__stack_pointer local.get $4 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $4 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -4784,6 +5179,11 @@ i32.add call $~lib/typedarray/Uint8Array#__set local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 local.get $3 call $~lib/typedarray/Uint8Array#__get i32.const 10 @@ -4847,117 +5247,9 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $length - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length - local.get $alignLog2 - i32.shl - local.tee $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.get $length - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $this - 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/Float32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) (local $size i32) @@ -5043,75 +5335,6 @@ local.get $3 return ) - (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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 (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - call $~lib/typedarray/Uint8Array#constructor - local.tee $this - i32.store $0 - local.get $this - 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 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) (local $decimals i32) diff --git a/tests/compiler/resolve-elementaccess.release.wat b/tests/compiler/resolve-elementaccess.release.wat index f700b6803f..abe55c60e2 100644 --- a/tests/compiler/resolve-elementaccess.release.wat +++ b/tests/compiler/resolve-elementaccess.release.wat @@ -6,13 +6,13 @@ (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i64 i64 i32 i64 i32) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (type $f32_=>_i32 (func_subtype (param f32) (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -1628,53 +1628,6 @@ end end ) - (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $0 i32) (param $1 i32) (param $2 f32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1568 - i32.const 1315 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - f32.store $0 - ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1568 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - ) (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_i32_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) (local $5 i32) (local $6 i32) @@ -2899,162 +2852,6 @@ end local.get $2 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) - (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1568 - i32.const 178 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 $0 - ) - (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1568 - i32.const 167 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_u $0 - ) (func $~lib/number/U8#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -3151,57 +2948,534 @@ (func $~start (type $none_=>_none) call $start:resolve-elementaccess ) - (func $start:resolve-elementaccess (type $none_=>_none) - (local $0 i32) - (local $1 i32) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 4832 - i32.lt_s - br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + 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.const 0 - i32.const 20 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 37600 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1284 - i32.const 1280 - i32.store $0 - i32.const 1288 - i32.const 1280 - i32.store $0 - i32.const 1280 - global.set $~lib/rt/itcms/pinSpace - i32.const 1316 - i32.const 1312 - i32.store $0 - i32.const 1320 - i32.const 1312 - i32.store $0 - i32.const 1312 - global.set $~lib/rt/itcms/toSpace - i32.const 1460 - i32.const 1456 i32.store $0 - i32.const 1464 - i32.const 1456 - i32.store $0 - i32.const 1456 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 1073741820 + local.get $1 + i32.shr_u + i32.const 2 + i32.lt_u + if + i32.const 1056 + i32.const 1104 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + local.get $1 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 1315 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + (local $3 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 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 178 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + local.get $2 + i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + if + i32.const 37632 + i32.const 37680 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.ge_u + if + i32.const 1360 + i32.const 1568 + i32.const 167 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:resolve-elementaccess (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 4832 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 37600 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1284 + i32.const 1280 + i32.store $0 + i32.const 1288 + i32.const 1280 + i32.store $0 + i32.const 1280 + global.set $~lib/rt/itcms/pinSpace + i32.const 1316 + i32.const 1312 + i32.store $0 + i32.const 1320 + i32.const 1312 + i32.store $0 + i32.const 1312 + global.set $~lib/rt/itcms/toSpace + i32.const 1460 + i32.const 1456 + i32.store $0 + i32.const 1464 + i32.const 1456 + i32.store $0 + i32.const 1456 global.set $~lib/rt/itcms/fromSpace local.get $0 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3210,8 +3484,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 12 i32.const 4 @@ -3219,13 +3493,17 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3308,6 +3586,9 @@ local.get $0 local.get $1 i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=16 local.get $1 i32.const 0 local.get $1 @@ -3316,6 +3597,9 @@ f32.const 10 f32.add call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $1 i32.const 0 call $~lib/typedarray/Float32Array#__get @@ -3373,7 +3657,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3382,8 +3666,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 12 i32.const 5 @@ -3392,7 +3676,10 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3400,8 +3687,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -3413,20 +3700,24 @@ i32.store $0 end global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $0 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor local.tee $0 i32.store $0 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 $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3505,10 +3796,13 @@ local.tee $0 global.get $resolve-elementaccess/buf local.tee $1 - i32.store $0 offset=16 + i32.store $0 offset=20 local.get $0 local.get $1 i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=16 local.get $1 i32.const 0 local.get $1 @@ -3517,6 +3811,9 @@ i32.const 10 i32.add call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $1 i32.const 0 call $~lib/typedarray/Uint8Array#__get @@ -3574,7 +3871,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -3586,82 +3883,6 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 4832 - i32.lt_s - if - i32.const 37632 - i32.const 37680 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - 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 $0 - end - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - i32.const 0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 1073741820 - local.get $1 - i32.shr_u - i32.const 2 - i32.lt_u - if - i32.const 1056 - i32.const 1104 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $1 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/resolve-function-expression.debug.wat b/tests/compiler/resolve-function-expression.debug.wat index 847c6b26d2..0c11056606 100644 --- a/tests/compiler/resolve-function-expression.debug.wat +++ b/tests/compiler/resolve-function-expression.debug.wat @@ -2800,49 +2800,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) i32.const 624 @@ -2879,12 +2836,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2940,6 +2891,102 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) (func $start:resolve-function-expression (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -3035,6 +3082,30 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) (local $out i32) diff --git a/tests/compiler/resolve-function-expression.release.wat b/tests/compiler/resolve-function-expression.release.wat index e7aed9e6dd..b10851b4bd 100644 --- a/tests/compiler/resolve-function-expression.release.wat +++ b/tests/compiler/resolve-function-expression.release.wat @@ -1759,6 +1759,7 @@ local.get $1 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $invalid block $~lib/function/Function<%28i32%29=>i32> block $~lib/arraybuffer/ArrayBufferView @@ -1786,6 +1787,28 @@ end return end + 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 3448 + i32.lt_s + if + i32.const 36240 + i32.const 36288 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1793,6 +1816,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -1808,207 +1835,248 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3448 - i32.lt_s - if - i32.const 36240 - i32.const 36288 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 2 - i32.const 1056 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 1 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 3448 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + i32.const 2 + i32.const 1056 + i32.load $0 + call_indirect $0 (type $i32_=>_i32) + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 1168 - i32.load $0 - call_indirect $0 (type $i32_=>_i32) - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1088 - i32.const 6 + i32.const 1168 + i32.load $0 + call_indirect $0 (type $i32_=>_i32) + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1088 + i32.const 6 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + memory.size $0 + i32.const 16 + i32.shl + i32.const 36216 + i32.sub i32.const 1 - call $~lib/builtins/abort - unreachable - end - memory.size $0 - i32.const 16 - i32.shl - i32.const 36216 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1572 - i32.const 1568 - i32.store $0 - i32.const 1576 - i32.const 1568 - i32.store $0 - i32.const 1568 - global.set $~lib/rt/itcms/pinSpace - i32.const 1604 - i32.const 1600 - i32.store $0 - i32.const 1608 - i32.const 1600 - i32.store $0 - i32.const 1600 - global.set $~lib/rt/itcms/toSpace - i32.const 1748 - i32.const 1744 - i32.store $0 - i32.const 1752 - i32.const 1744 - i32.store $0 - i32.const 1744 - global.set $~lib/rt/itcms/fromSpace - block $__inlined_func$~lib/string/String.__eq (result i32) + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1572 + i32.const 1568 + i32.store $0 + i32.const 1576 + i32.const 1568 + i32.store $0 + i32.const 1568 + global.set $~lib/rt/itcms/pinSpace + i32.const 1604 + i32.const 1600 + i32.store $0 + i32.const 1608 + i32.const 1600 + i32.store $0 + i32.const 1600 + global.set $~lib/rt/itcms/toSpace + i32.const 1748 + i32.const 1744 + i32.store $0 + i32.const 1752 + i32.const 1744 + i32.store $0 + i32.const 1744 + global.set $~lib/rt/itcms/fromSpace i32.const 0 i32.const 1200 i32.load $0 call_indirect $0 (type $i32_=>_i32) call $~lib/number/I32#toString - local.set $4 + local.set $5 global.get $~lib/memory/__stack_pointer local.tee $0 - local.get $4 + local.get $5 i32.store $0 local.get $0 i32.const 3408 i32.store $0 offset=4 - i32.const 3408 - local.set $3 - i32.const 1 - local.get $4 - i32.const 3408 - i32.eq - br_if $__inlined_func$~lib/string/String.__eq - drop - i32.const 0 - local.get $4 - i32.eqz - br_if $__inlined_func$~lib/string/String.__eq - drop - i32.const 0 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 3404 - i32.load $0 - i32.const 1 - i32.shr_u - i32.ne - br_if $__inlined_func$~lib/string/String.__eq - drop - local.get $4 - i32.const 7 - i32.and - i32.eqz - local.get $1 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $4 - i64.load $0 - local.get $3 - i64.load $0 - 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 $1 - i32.const 4 - i32.sub - local.tee $1 - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end + block $__inlined_func$~lib/string/String.__eq (result i32) + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3448 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $5 + i32.const 3408 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + br $__inlined_func$~lib/string/String.__eq end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $1 + block $folding-inner0 + local.get $5 + i32.eqz + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1 + local.get $5 + i32.store $0 + local.get $5 + i32.const 20 i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u local.set $1 local.get $0 + i32.const 3408 + i32.store $0 + local.get $1 + i32.const 3404 + i32.load $0 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + i32.const 3408 + local.set $3 + local.get $0 + i32.const 3408 + i32.store $0 offset=4 + local.get $5 + i32.const 7 + i32.and + i32.eqz + local.get $1 + i32.const 4 + i32.ge_u + i32.and if - local.get $4 - i32.load16_u $0 - local.tee $0 - local.get $3 - i32.load16_u $0 - local.tee $2 - i32.sub - local.set $5 - local.get $0 - local.get $2 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $4 - i32.const 2 - i32.add + loop $do-loop|0 + local.get $5 + i64.load $0 + local.get $3 + i64.load $0 + i64.eq + if + local.get $5 + i32.const 8 + i32.add + local.set $5 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + if + local.get $5 + i32.load16_u $0 + local.tee $2 + local.get $3 + i32.load16_u $0 + local.tee $0 + i32.sub + local.set $4 + local.get $0 + local.get $2 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $5 + i32.const 2 + i32.add + local.set $5 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|1 + end + end + i32.const 0 local.set $4 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|1 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i32.eqz + br $__inlined_func$~lib/string/String.__eq end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - local.set $5 end - local.get $5 i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 11 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 36240 + i32.const 36288 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/resolve-localortype.debug.wat b/tests/compiler/resolve-localortype.debug.wat index 79777611ef..35b1a65462 100644 --- a/tests/compiler/resolve-localortype.debug.wat +++ b/tests/compiler/resolve-localortype.debug.wat @@ -15,11 +15,6 @@ local.get $s return ) - (func $resolve-localortype/test (type $i32_=>_i32) (param $string i32) (result i32) - local.get $string - call $resolve-localortype/foo<~lib/string/String> - return - ) (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__data_end @@ -33,6 +28,31 @@ unreachable end ) + (func $resolve-localortype/test (type $i32_=>_i32) (param $string 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 $0 + local.get $string + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $resolve-localortype/foo<~lib/string/String> + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $export:resolve-localortype/test (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/resolve-localortype.release.wat b/tests/compiler/resolve-localortype.release.wat index d1c020268b..0d990973b5 100644 --- a/tests/compiler/resolve-localortype.release.wat +++ b/tests/compiler/resolve-localortype.release.wat @@ -12,25 +12,46 @@ i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1024 - i32.lt_s - if - i32.const 33824 - i32.const 33872 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1024 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + 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 + return end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 33824 + i32.const 33872 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) ) diff --git a/tests/compiler/resolve-new.debug.wat b/tests/compiler/resolve-new.debug.wat index 7c18fd6344..1c4bbd0c24 100644 --- a/tests/compiler/resolve-new.debug.wat +++ b/tests/compiler/resolve-new.debug.wat @@ -2315,6 +2315,44 @@ unreachable end ) + (func $resolve-new/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:resolve-new (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2386,37 +2424,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $resolve-new/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-new.release.wat b/tests/compiler/resolve-new.release.wat index 2b7e040bbf..ce80ef931a 100644 --- a/tests/compiler/resolve-new.release.wat +++ b/tests/compiler/resolve-new.release.wat @@ -1463,7 +1463,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1473,8 +1473,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1482,6 +1482,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1509,7 +1512,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/resolve-propertyaccess.debug.wat b/tests/compiler/resolve-propertyaccess.debug.wat index 6cd1305bfe..5f39924789 100644 --- a/tests/compiler/resolve-propertyaccess.debug.wat +++ b/tests/compiler/resolve-propertyaccess.debug.wat @@ -2800,49 +2800,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $resolve-propertyaccess/Class.get:staticProperty (type $none_=>_i32) (result i32) i32.const 7 return @@ -2936,11 +2893,153 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $resolve-propertyaccess/Class#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6 + call $resolve-propertyaccess/Class#set:instanceField + local.get $this + 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:resolve-propertyaccess (type $none_=>_none) (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 @@ -2948,8 +3047,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 memory.size $0 i32.const 16 i32.shl @@ -3213,6 +3312,11 @@ local.tee $0 i32.store $0 offset=8 local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 call $resolve-propertyaccess/Class#get:instanceField i32.const 10 call $~lib/number/I32#toString @@ -3238,6 +3342,11 @@ unreachable end local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 call $resolve-propertyaccess/Class#get:instanceProperty i32.const 10 call $~lib/number/I32#toString @@ -3263,7 +3372,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3477,40 +3586,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $resolve-propertyaccess/Class#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - i32.const 6 - call $resolve-propertyaccess/Class#set:instanceField - local.get $this - 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-propertyaccess.release.wat b/tests/compiler/resolve-propertyaccess.release.wat index 2846d466d2..6e1d89947d 100644 --- a/tests/compiler/resolve-propertyaccess.release.wat +++ b/tests/compiler/resolve-propertyaccess.release.wat @@ -1761,123 +1761,6 @@ end local.get $2 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $resolve-propertyaccess/Class @@ -1913,12 +1796,172 @@ (func $~start (type $none_=>_none) call $start:resolve-propertyaccess ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3704 + i32.lt_s + if + i32.const 36496 + i32.const 36544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1931,8 +1974,8 @@ i64.const 0 i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 memory.size $0 i32.const 16 i32.shl @@ -2185,8 +2228,8 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 4 + local.tee $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2195,8 +2238,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 i32.const 4 @@ -2204,7 +2247,10 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2229,30 +2275,36 @@ i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 6 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $1 local.get $0 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 local.get $0 i32.load $0 call $~lib/number/I32#toString - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 3632 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 3632 call $~lib/string/String.__eq i32.eqz @@ -2264,14 +2316,16 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 i32.const 8 call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer i32.const 3664 i32.store $0 offset=4 local.get $0 @@ -2287,7 +2341,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer return diff --git a/tests/compiler/resolve-ternary.debug.wat b/tests/compiler/resolve-ternary.debug.wat index 84739b2f4d..ac8e2f16a9 100644 --- a/tests/compiler/resolve-ternary.debug.wat +++ b/tests/compiler/resolve-ternary.debug.wat @@ -2807,49 +2807,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) (local $one_exp i32) (local $one_frc i64) @@ -4229,12 +4186,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28i32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -4290,6 +4241,102 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) (func $start:resolve-ternary (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -4446,6 +4493,30 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/function/Function<%28i32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) (local $out i32) diff --git a/tests/compiler/resolve-ternary.release.wat b/tests/compiler/resolve-ternary.release.wat index 02fcc22a7b..0d20a81e7d 100644 --- a/tests/compiler/resolve-ternary.release.wat +++ b/tests/compiler/resolve-ternary.release.wat @@ -1649,123 +1649,6 @@ i32.store16 $0 end ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (result i32) (local $4 i32) (local $5 i32) @@ -2522,6 +2405,7 @@ i32.const 5 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $invalid block $~lib/function/Function<%28i32%29=>i32> block $~lib/arraybuffer/ArrayBufferView @@ -2549,6 +2433,28 @@ end return end + 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 4632 + i32.lt_s + if + i32.const 37424 + i32.const 37472 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -2556,6 +2462,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -2860,6 +2770,166 @@ call $~lib/builtins/abort unreachable ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4632 + i32.lt_s + if + i32.const 37424 + i32.const 37472 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/resolve-unary.debug.wat b/tests/compiler/resolve-unary.debug.wat index 26e73cbc76..9d67c8f7ac 100644 --- a/tests/compiler/resolve-unary.debug.wat +++ b/tests/compiler/resolve-unary.debug.wat @@ -2800,49 +2800,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/number/Bool#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) local.get $this if (result i32) @@ -2964,12 +2921,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3031,6 +2982,178 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $resolve-unary/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $resolve-unary/Bar#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:resolve-unary (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -3500,6 +3623,11 @@ local.tee $2 i32.store $0 offset=16 local.get $2 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 call $resolve-unary/Foo#postfix_inc global.set $resolve-unary/foo local.get $2 @@ -3525,6 +3653,11 @@ local.tee $3 i32.store $0 offset=20 local.get $3 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 call $resolve-unary/Foo#postfix_dec global.set $resolve-unary/foo local.get $3 @@ -3712,6 +3845,30 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) (local $out i32) @@ -3922,70 +4079,4 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $resolve-unary/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $resolve-unary/Bar#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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-unary.release.wat b/tests/compiler/resolve-unary.release.wat index 391ca9b57f..c69b5a31db 100644 --- a/tests/compiler/resolve-unary.release.wat +++ b/tests/compiler/resolve-unary.release.wat @@ -1787,124 +1787,8 @@ end local.get $2 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $invalid block $~lib/function/Function<%28%29=>void> block $resolve-unary/Bar @@ -1938,6 +1822,28 @@ end return end + 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 3872 + i32.lt_s + if + i32.const 36672 + i32.const 36720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1945,6 +1851,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -1952,6 +1862,166 @@ (func $~start (type $none_=>_none) call $start:resolve-unary ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.lt_s + if + i32.const 36672 + i32.const 36720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -2220,7 +2290,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2229,8 +2299,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 4 @@ -2238,12 +2308,16 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -2396,6 +2470,9 @@ global.get $resolve-unary/foo local.tee $1 i32.store $0 offset=16 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 global.set $resolve-unary/foo local.get $0 @@ -2417,6 +2494,9 @@ global.get $resolve-unary/foo local.tee $1 i32.store $0 offset=20 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 global.set $resolve-unary/foo local.get $0 @@ -2434,7 +2514,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2443,8 +2523,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 i32.const 5 @@ -2452,12 +2532,16 @@ local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 local.get $0 call $~lib/object/Object#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/return-unreachable.debug.wat b/tests/compiler/return-unreachable.debug.wat index 94ddef9687..12824776ba 100644 --- a/tests/compiler/return-unreachable.debug.wat +++ b/tests/compiler/return-unreachable.debug.wat @@ -2381,14 +2381,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2467,13 +2459,16 @@ (local $buffer i32) (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if @@ -2485,15 +2480,35 @@ i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 call $~lib/array/Array#set:length_ local.get $length @@ -2525,29 +2540,80 @@ i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 offset=8 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 call $~lib/array/Array#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $bufferSize call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $length call $~lib/array/Array#set:length_ local.get $this local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $6 ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) ) diff --git a/tests/compiler/return-unreachable.release.wat b/tests/compiler/return-unreachable.release.wat index 16271c5b3a..d12246b722 100644 --- a/tests/compiler/return-unreachable.release.wat +++ b/tests/compiler/return-unreachable.release.wat @@ -1578,7 +1578,7 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1590,47 +1590,77 @@ i64.const 0 i64.store $0 local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $~lib/array/Array#set:buffer - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 offset=4 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 offset=8 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 400 i32.const 1 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=12 local.get $2 - call $~lib/array/Array#set:buffer local.get $1 + call $~lib/array/Array#set:buffer + global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 + local.get $2 local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 400 i32.store $0 offset=8 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 100 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 + local.get $2 i32.store $0 unreachable end @@ -1642,32 +1672,70 @@ unreachable ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $invalid + (local $1 i32) + block $invalid + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $invalid + end + return end return end return end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end return end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if + 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 1560 + i32.lt_s + if + i32.const 34352 + i32.const 34400 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end + unreachable ) (func $~start (type $none_=>_none) memory.size $0 diff --git a/tests/compiler/rt/finalize.debug.wat b/tests/compiler/rt/finalize.debug.wat index e4bf15af24..a4d3df545a 100644 --- a/tests/compiler/rt/finalize.debug.wat +++ b/tests/compiler/rt/finalize.debug.wat @@ -2413,35 +2413,45 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $rt/finalize/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $rt/finalize/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2456,16 +2466,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/rt/finalize.release.wat b/tests/compiler/rt/finalize.release.wat index eb99135e58..2273a30809 100644 --- a/tests/compiler/rt/finalize.release.wat +++ b/tests/compiler/rt/finalize.release.wat @@ -1450,7 +1450,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $__inlined_func$start:rt/finalize @@ -1461,8 +1461,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1470,6 +1470,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1497,7 +1500,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/simd.debug.wat b/tests/compiler/simd.debug.wat index 50eff3757f..86cf214ce8 100644 --- a/tests/compiler/simd.debug.wat +++ b/tests/compiler/simd.debug.wat @@ -9,7 +9,6 @@ (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_=>_v128 (func_subtype (param i32 i32) (result v128) func)) (type $none_=>_v128 (func_subtype (result v128) func)) (type $v128_=>_v128 (func_subtype (param v128) (result v128) func)) (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128 (func_subtype (param i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32 i32) (result v128) func)) @@ -21,6 +20,7 @@ (type $f32_f32_f32_f32_=>_v128 (func_subtype (param f32 f32 f32 f32) (result v128) func)) (type $f64_=>_v128 (func_subtype (param f64) (result v128) func)) (type $f64_f64_=>_v128 (func_subtype (param f64 f64) (result v128) func)) + (type $i32_i32_=>_v128 (func_subtype (param i32 i32) (result v128) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -2365,33 +2365,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_v128) (param $this i32) (param $index i32) (result v128) - (local $value v128) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 272 - i32.const 480 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 4 - i32.shl - i32.add - v128.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $simd/test_v128 (type $none_=>_none) (local $ptr i32) (local $ptr|1 i32) @@ -6596,85 +6569,6 @@ local.get $one return ) - (func $start:simd (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $arr i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - memory.size $0 - 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 192 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/pinSpace - i32.const 224 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/toSpace - i32.const 368 - call $~lib/rt/itcms/initLazy - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 4 - i32.const 4 - i32.const 32 - call $~lib/rt/__newArray - local.tee $arr - i32.store $0 - local.get $arr - i32.const 0 - call $~lib/array/Array#__get - i32x4.extract_lane 0 - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 5 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32x4.splat - global.set $simd/vec - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - call $simd/test_v128 - call $simd/test_i8x16 - call $simd/test_i16x8 - call $simd/test_i32x4 - call $simd/test_i64x2 - call $simd/test_f32x4 - call $simd/test_f64x2 - call $simd/test_const - drop - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) (func $simd/reexport (type $v128_=>_v128) (param $a v128) (result v128) local.get $a local.get $a @@ -6853,14 +6747,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -6873,14 +6759,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -6942,6 +6820,196 @@ unreachable end ) + (func $~lib/array/Array#__get (type $i32_i32_=>_v128) (param $this i32) (param $index i32) (result v128) + (local $value v128) + (local $3 i32) + (local $4 v128) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 272 + i32.const 480 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 4 + i32.shl + i32.add + v128.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $start:simd (type $none_=>_none) + (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 $0 + memory.size $0 + 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 192 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/pinSpace + i32.const 224 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/toSpace + i32.const 368 + call $~lib/rt/itcms/initLazy + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 4 + i32.const 4 + i32.const 32 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 + local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + call $~lib/array/Array#__get + i32x4.extract_lane 0 + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 5 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32x4.splat + global.set $simd/vec + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + call $simd/test_v128 + call $simd/test_i8x16 + call $simd/test_i16x8 + call $simd/test_i32x4 + call $simd/test_i64x2 + call $simd/test_f32x4 + call $simd/test_f64x2 + call $simd/test_const + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) (local $buffer i32) diff --git a/tests/compiler/simd.release.wat b/tests/compiler/simd.release.wat index 2a6839271d..5281530f34 100644 --- a/tests/compiler/simd.release.wat +++ b/tests/compiler/simd.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_=>_v128 (func_subtype (param i32 i32 i32) (result v128) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -1844,14 +1844,225 @@ local.get $0 call $~lib/rt/tlsf/__free ) - (func $start:simd (type $none_=>_none) - (local $0 i32) + (func $simd/reexport (type $v128_=>_v128) (param $0 v128) (result v128) + local.get $0 + local.get $0 + i32x4.mul + ) + (func $simd/test_vars_i8x16_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) + v128.const i32x4 0x03000100 0x07000504 0x0b0a0908 0x000e0d0c + local.get $0 + i8x16.replace_lane 2 + local.get $1 + i8x16.replace_lane 6 + local.get $2 + i8x16.replace_lane 15 + ) + (func $simd/test_vars_i8x16_full (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (result v128) + local.get $0 + i8x16.splat + local.get $1 + i8x16.replace_lane 1 + local.get $2 + i8x16.replace_lane 2 + local.get $3 + i8x16.replace_lane 3 + local.get $4 + i8x16.replace_lane 4 + local.get $5 + i8x16.replace_lane 5 + local.get $6 + i8x16.replace_lane 6 + local.get $7 + i8x16.replace_lane 7 + local.get $8 + i8x16.replace_lane 8 + local.get $9 + i8x16.replace_lane 9 + local.get $10 + i8x16.replace_lane 10 + local.get $11 + i8x16.replace_lane 11 + local.get $12 + i8x16.replace_lane 12 + local.get $13 + i8x16.replace_lane 13 + local.get $14 + i8x16.replace_lane 14 + local.get $15 + i8x16.replace_lane 15 + ) + (func $simd/test_vars_i16x8_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) + v128.const i32x4 0x00010000 0x00030000 0x00050000 0x00000006 + local.get $0 + i16x8.replace_lane 2 + local.get $1 + i16x8.replace_lane 4 + local.get $2 + i16x8.replace_lane 7 + ) + (func $simd/test_vars_i16x8_full (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (result v128) + local.get $0 + i16x8.splat + local.get $1 + i16x8.replace_lane 1 + local.get $2 + i16x8.replace_lane 2 + local.get $3 + i16x8.replace_lane 3 + local.get $4 + i16x8.replace_lane 4 + local.get $5 + i16x8.replace_lane 5 + local.get $6 + i16x8.replace_lane 6 + local.get $7 + i16x8.replace_lane 7 + ) + (func $simd/test_vars_i32x4_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + local.get $0 + i32x4.replace_lane 1 + local.get $1 + i32x4.replace_lane 2 + local.get $2 + i32x4.replace_lane 3 + ) + (func $simd/test_vars_i32x4_full (type $i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result v128) + local.get $0 + i32x4.splat + local.get $1 + i32x4.replace_lane 1 + local.get $2 + i32x4.replace_lane 2 + local.get $3 + i32x4.replace_lane 3 + ) + (func $simd/test_vars_i64x2_partial (type $i64_=>_v128) (param $0 i64) (result v128) + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + local.get $0 + i64x2.replace_lane 1 + ) + (func $simd/test_vars_i64x2_full (type $i64_i64_=>_v128) (param $0 i64) (param $1 i64) (result v128) + local.get $0 + i64x2.splat + local.get $1 + i64x2.replace_lane 1 + ) + (func $simd/test_vars_f32x4_partial (type $f32_f32_f32_=>_v128) (param $0 f32) (param $1 f32) (param $2 f32) (result v128) + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + local.get $0 + f32x4.replace_lane 1 + local.get $1 + f32x4.replace_lane 2 + local.get $2 + f32x4.replace_lane 3 + ) + (func $simd/test_vars_f32x4_full (type $f32_f32_f32_f32_=>_v128) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result v128) + local.get $0 + f32x4.splat + local.get $1 + f32x4.replace_lane 1 + local.get $2 + f32x4.replace_lane 2 + local.get $3 + f32x4.replace_lane 3 + ) + (func $simd/test_vars_f64x2_partial (type $f64_=>_v128) (param $0 f64) (result v128) + v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 + local.get $0 + f64x2.replace_lane 1 + ) + (func $simd/test_vars_f64x2_full (type $f64_f64_=>_v128) (param $0 f64) (param $1 f64) (result v128) + local.get $0 + f64x2.splat + local.get $1 + f64x2.replace_lane 1 + ) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) (local $1 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 1612 + i32.lt_s + if + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + block $invalid + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + unreachable + ) + (func $~start (type $none_=>_none) + (local $0 i32) + (local $1 v128) (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 block $folding-inner0 @@ -1860,9 +2071,9 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 + local.tee $4 + i64.const 0 + i64.store $0 memory.size $0 i32.const 16 i32.shl @@ -1895,7 +2106,7 @@ i32.store $0 i32.const 1392 global.set $~lib/rt/itcms/fromSpace - local.get $0 + local.get $4 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1904,26 +2115,26 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i32.const 0 i32.store $0 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.const 1056 v128.load $0 align=1 v128.store $0 align=1 - local.get $1 - local.get $3 + local.get $0 + local.get $2 i32.store $0 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - local.get $3 + local.tee $3 + local.get $2 i32.store $0 - local.get $3 + local.get $2 if - local.get $2 + local.get $3 i32.eqz if i32.const 0 @@ -1934,60 +2145,78 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $3 + local.get $2 i32.const 20 i32.sub - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $2 + local.get $3 i32.const 20 i32.sub i32.load $0 offset=4 i32.const 3 i32.and - local.tee $1 + local.tee $0 global.get $~lib/rt/itcms/white i32.eqz i32.eq if - local.get $4 + local.get $5 call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $1 + local.get $0 i32.const 3 i32.eq i32.and if - local.get $4 + local.get $5 call $~lib/rt/itcms/Object#makeGray end end end end - local.get $2 local.get $3 - i32.store $0 offset=4 local.get $2 + i32.store $0 offset=4 + local.get $3 i32.const 16 i32.store $0 offset=8 - local.get $2 + local.get $3 i32.const 1 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + 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 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 local.get $0 - local.get $2 + local.get $3 i32.store $0 - local.get $2 + local.get $3 i32.load $0 offset=12 i32.eqz if @@ -1998,9 +2227,19 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 + local.get $3 i32.load $0 offset=4 v128.load $0 + local.set $1 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 i32x4.extract_lane 0 i32.const 1 i32.ne @@ -2178,7 +2417,7 @@ local.get $0 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 return @@ -2190,172 +2429,6 @@ call $~lib/builtins/abort unreachable ) - (func $simd/reexport (type $v128_=>_v128) (param $0 v128) (result v128) - local.get $0 - local.get $0 - i32x4.mul - ) - (func $simd/test_vars_i8x16_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) - v128.const i32x4 0x03000100 0x07000504 0x0b0a0908 0x000e0d0c - local.get $0 - i8x16.replace_lane 2 - local.get $1 - i8x16.replace_lane 6 - local.get $2 - i8x16.replace_lane 15 - ) - (func $simd/test_vars_i8x16_full (type $i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (param $8 i32) (param $9 i32) (param $10 i32) (param $11 i32) (param $12 i32) (param $13 i32) (param $14 i32) (param $15 i32) (result v128) - local.get $0 - i8x16.splat - local.get $1 - i8x16.replace_lane 1 - local.get $2 - i8x16.replace_lane 2 - local.get $3 - i8x16.replace_lane 3 - local.get $4 - i8x16.replace_lane 4 - local.get $5 - i8x16.replace_lane 5 - local.get $6 - i8x16.replace_lane 6 - local.get $7 - i8x16.replace_lane 7 - local.get $8 - i8x16.replace_lane 8 - local.get $9 - i8x16.replace_lane 9 - local.get $10 - i8x16.replace_lane 10 - local.get $11 - i8x16.replace_lane 11 - local.get $12 - i8x16.replace_lane 12 - local.get $13 - i8x16.replace_lane 13 - local.get $14 - i8x16.replace_lane 14 - local.get $15 - i8x16.replace_lane 15 - ) - (func $simd/test_vars_i16x8_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) - v128.const i32x4 0x00010000 0x00030000 0x00050000 0x00000006 - local.get $0 - i16x8.replace_lane 2 - local.get $1 - i16x8.replace_lane 4 - local.get $2 - i16x8.replace_lane 7 - ) - (func $simd/test_vars_i16x8_full (type $i32_i32_i32_i32_i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (param $6 i32) (param $7 i32) (result v128) - local.get $0 - i16x8.splat - local.get $1 - i16x8.replace_lane 1 - local.get $2 - i16x8.replace_lane 2 - local.get $3 - i16x8.replace_lane 3 - local.get $4 - i16x8.replace_lane 4 - local.get $5 - i16x8.replace_lane 5 - local.get $6 - i16x8.replace_lane 6 - local.get $7 - i16x8.replace_lane 7 - ) - (func $simd/test_vars_i32x4_partial (type $i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (result v128) - v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - local.get $0 - i32x4.replace_lane 1 - local.get $1 - i32x4.replace_lane 2 - local.get $2 - i32x4.replace_lane 3 - ) - (func $simd/test_vars_i32x4_full (type $i32_i32_i32_i32_=>_v128) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result v128) - local.get $0 - i32x4.splat - local.get $1 - i32x4.replace_lane 1 - local.get $2 - i32x4.replace_lane 2 - local.get $3 - i32x4.replace_lane 3 - ) - (func $simd/test_vars_i64x2_partial (type $i64_=>_v128) (param $0 i64) (result v128) - v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - local.get $0 - i64x2.replace_lane 1 - ) - (func $simd/test_vars_i64x2_full (type $i64_i64_=>_v128) (param $0 i64) (param $1 i64) (result v128) - local.get $0 - i64x2.splat - local.get $1 - i64x2.replace_lane 1 - ) - (func $simd/test_vars_f32x4_partial (type $f32_f32_f32_=>_v128) (param $0 f32) (param $1 f32) (param $2 f32) (result v128) - v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - local.get $0 - f32x4.replace_lane 1 - local.get $1 - f32x4.replace_lane 2 - local.get $2 - f32x4.replace_lane 3 - ) - (func $simd/test_vars_f32x4_full (type $f32_f32_f32_f32_=>_v128) (param $0 f32) (param $1 f32) (param $2 f32) (param $3 f32) (result v128) - local.get $0 - f32x4.splat - local.get $1 - f32x4.replace_lane 1 - local.get $2 - f32x4.replace_lane 2 - local.get $3 - f32x4.replace_lane 3 - ) - (func $simd/test_vars_f64x2_partial (type $f64_=>_v128) (param $0 f64) (result v128) - v128.const i32x4 0x00000000 0x00000000 0x00000000 0x00000000 - local.get $0 - f64x2.replace_lane 1 - ) - (func $simd/test_vars_f64x2_full (type $f64_f64_=>_v128) (param $0 f64) (param $1 f64) (result v128) - local.get $0 - f64x2.splat - local.get $1 - f64x2.replace_lane 1 - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:simd - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/array-access.debug.wat b/tests/compiler/std/array-access.debug.wat index ca244b2282..f4508e6bc0 100644 --- a/tests/compiler/std/array-access.debug.wat +++ b/tests/compiler/std/array-access.debug.wat @@ -3,8 +3,8 @@ (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) (global $~lib/shared/runtime/Runtime.Minimal i32 (i32.const 1)) @@ -44,33 +44,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 32 - i32.const 96 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -196,54 +169,6 @@ i32.const 0 return ) - (func $~lib/string/String#startsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $searchStart i32) - (local $searchLength i32) - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $searchStart - local.get $search - call $~lib/string/String#get:length - local.set $searchLength - local.get $searchLength - local.get $searchStart - i32.add - local.get $len - i32.gt_s - if - i32.const 0 - return - end - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -260,17 +185,6 @@ local.get $this i32.load $0 offset=4 ) - (func $std/array-access/functionArrayElementCall (type $i32_=>_i32) (param $a i32) (result i32) - i32.const 123 - i32.const 1 - global.set $~argumentsLength - local.get $a - i32.const 0 - call $~lib/array/Array<%28i32%29=>i32>#__get - i32.load $0 - call_indirect $0 (type $i32_=>_i32) - return - ) (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer global.get $~lib/memory/__data_end @@ -284,36 +198,76 @@ unreachable end ) - (func $std/array-access/i32ArrayArrayElementAccess (type $i32_=>_i32) (param $a i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 + i64.const 0 + i64.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 - local.get $a - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#__get - local.set $1 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 - local.get $1 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 i32.const 1 - call $~lib/array/Array#__get - local.set $1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 144 + i32.const 96 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 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 $3 return ) - (func $std/array-access/stringArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -322,58 +276,48 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $a - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $1 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/string/String#get:length - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $std/array-access/stringArrayMethodCall (type $i32_=>_i32) (param $a 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 $0 - local.get $a - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $1 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 32 + i32.const 96 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - i32.const 272 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value i32.const 0 - call $~lib/string/String#startsWith - local.set $1 + drop + local.get $value + 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 $1 + local.get $3 return ) - (func $std/array-access/stringArrayArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result i32) + (func $std/array-access/i32ArrayArrayElementAccess (type $i32_=>_i32) (param $a i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -384,21 +328,20 @@ i64.const 0 i64.store $0 local.get $a - i32.const 0 - call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#__get local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/string/String#get:length + i32.const 1 + call $~lib/array/Array#__get local.set $1 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -407,64 +350,25 @@ local.get $1 return ) - (func $std/array-access/stringArrayArrayMethodCall (type $i32_=>_i32) (param $a i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 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 $0 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $a - i32.const 0 - call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - 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 $0 - local.get $1 - i32.const 272 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - call $~lib/string/String#startsWith - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 + local.get $3 i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ i32.ge_u if i32.const 32 @@ -476,14 +380,19 @@ end global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add i32.load $0 local.tee $value - i32.store $0 + i32.store $0 offset=4 i32.const 1 drop i32.const 0 @@ -502,82 +411,193 @@ local.get $value local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 return ) - (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $std/array-access/stringArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result i32) + (local $1 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 $0 + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 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 $0 - local.get $index + local.get $1 + call $~lib/string/String#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/string/String#startsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $searchStart i32) + (local $searchLength 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 $0 local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $searchLength + local.get $searchLength + local.get $searchStart + i32.add + local.get $len + i32.gt_s if - i32.const 32 - i32.const 96 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return end - global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 i32.store $0 - i32.const 1 - drop + local.get $10 + local.get $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 i32.const 0 + local.get $searchLength + call $~lib/util/string/compareImpl i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 144 - i32.const 96 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $10 + return + ) + (func $std/array-access/stringArrayMethodCall (type $i32_=>_i32) (param $a i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + 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 $0 + local.get $1 + i32.const 272 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/string/String#startsWith + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) (func $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value 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 $0 + i64.const 0 + i64.store $0 local.get $index local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:length_ i32.ge_u if @@ -590,6 +610,11 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#get:dataStart local.get $index i32.const 2 @@ -597,7 +622,7 @@ i32.add i32.load $0 local.tee $value - i32.store $0 + i32.store $0 offset=4 i32.const 1 drop i32.const 0 @@ -616,25 +641,121 @@ local.get $value local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 return ) + (func $std/array-access/stringArrayArrayPropertyAccess (type $i32_=>_i32) (param $a i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 $0 + local.get $1 + call $~lib/string/String#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/array-access/stringArrayArrayMethodCall (type $i32_=>_i32) (param $a i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 0 + call $~lib/array/Array<~lib/array/Array<~lib/string/String>>#__get + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + 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 $0 + local.get $1 + i32.const 272 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/string/String#startsWith + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $~lib/array/Array<%28i32%29=>i32>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value 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 $0 + i64.const 0 + i64.store $0 local.get $index local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<%28i32%29=>i32>#get:length_ i32.ge_u if @@ -647,6 +768,11 @@ end global.get $~lib/memory/__stack_pointer local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/array/Array<%28i32%29=>i32>#get:dataStart local.get $index i32.const 2 @@ -654,7 +780,7 @@ i32.add i32.load $0 local.tee $value - i32.store $0 + i32.store $0 offset=4 i32.const 1 drop i32.const 0 @@ -673,12 +799,43 @@ local.get $value local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $3 return ) + (func $std/array-access/functionArrayElementCall (type $i32_=>_i32) (param $a 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 $0 + i32.const 123 + i32.const 1 + global.set $~argumentsLength + local.get $a + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array<%28i32%29=>i32>#__get + i32.load $0 + call_indirect $0 (type $i32_=>_i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $export:std/array-access/i32ArrayArrayElementAccess (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array-access.release.wat b/tests/compiler/std/array-access.release.wat index de754b6996..0ab096d808 100644 --- a/tests/compiler/std/array-access.release.wat +++ b/tests/compiler/std/array-access.release.wat @@ -21,30 +21,134 @@ (export "stringArrayArrayPropertyAccess" (func $export:std/array-access/stringArrayArrayPropertyAccess)) (export "stringArrayArrayMethodCall" (func $export:std/array-access/stringArrayArrayMethodCall)) (export "functionArrayElementCall" (func $export:std/array-access/functionArrayElementCall)) + (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1308 + i32.lt_s + if + i32.const 34096 + i32.const 34144 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1056 + i32.const 1120 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 1168 + i32.const 1120 + i32.const 118 + i32.const 40 + 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/string/String#startsWith (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - i32.const 1292 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1308 + i32.lt_s + if + i32.const 34096 + i32.const 34144 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - i32.gt_s + local.set $2 + local.get $1 + i32.const 1296 + i32.store $0 + local.get $2 + i32.const 1292 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $2 + i32.lt_s 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.tee $1 + local.get $0 + i32.store $0 i32.const 1296 local.set $3 + local.get $1 + i32.const 1296 + i32.store $0 offset=4 local.get $0 local.tee $1 i32.const 7 @@ -92,10 +196,10 @@ if local.get $1 i32.load16_u $0 - local.tee $4 + local.tee $5 local.get $3 i32.load16_u $0 - local.tee $5 + local.tee $4 i32.sub local.set $2 local.get $4 @@ -116,65 +220,12 @@ i32.const 0 local.set $2 end - local.get $2 - i32.eqz - ) - (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1308 - i32.lt_s - if - i32.const 34096 - i32.const 34144 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1056 - i32.const 1120 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 1168 - i32.const 1120 - i32.const 118 - i32.const 40 - 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 $0 + local.get $2 + i32.eqz ) (func $export:std/array-access/i32ArrayArrayElementAccess (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -192,7 +243,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -200,8 +251,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -209,6 +264,21 @@ global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + 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 1308 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=12 i32.const 1 @@ -221,15 +291,23 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.load $0 offset=4 local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $1 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 4 i32.add global.set $~lib/memory/__stack_pointer @@ -259,7 +337,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -267,8 +345,12 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -284,7 +366,7 @@ i32.shr_u local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -317,7 +399,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -325,8 +407,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $1 i64.const 0 i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -341,7 +430,7 @@ call $~lib/string/String#startsWith local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -374,7 +463,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -382,8 +471,15 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $1 i64.const 0 i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -406,7 +502,7 @@ i32.shr_u local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -439,7 +535,7 @@ local.get $0 i32.store $0 local.get $1 - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -451,8 +547,11 @@ i64.const 0 i64.store $0 local.get $1 - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 local.get $0 i32.const 0 call $~lib/array/Array<~lib/array/Array>#__get @@ -474,7 +573,7 @@ call $~lib/string/String#startsWith local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -492,31 +591,49 @@ unreachable ) (func $export:std/array-access/functionArrayElementCall (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1308 - i32.lt_s - if - i32.const 34096 - i32.const 34144 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1308 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1308 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 123 + local.get $0 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#__get + i32.load $0 + call_indirect $0 (type $i32_=>_i32) + drop unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 123 - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#__get - i32.load $0 - call_indirect $0 (type $i32_=>_i32) - drop + i32.const 34096 + i32.const 34144 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort unreachable ) ) diff --git a/tests/compiler/std/array-literal.debug.wat b/tests/compiler/std/array-literal.debug.wat index e8d39b5f73..9635b306df 100644 --- a/tests/compiler/std/array-literal.debug.wat +++ b/tests/compiler/std/array-literal.debug.wat @@ -3,8 +3,8 @@ (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) @@ -64,82 +64,18 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 176 - i32.const 240 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 176 - i32.const 240 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor @@ -2475,194 +2411,16 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 784 - i32.const 240 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 176 - i32.const 240 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 0 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - i32.const 0 - drop - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 176 - i32.const 240 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2676,57 +2434,7 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 176 - i32.const 240 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) @@ -2739,56 +2447,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 176 - i32.const 240 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $std/array-literal/doesntLeak (type $i32_=>_none) (param $refs i32) nop ) @@ -2920,14 +2578,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2940,14 +2590,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2960,48 +2602,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3014,48 +2614,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -3122,18 +2680,663 @@ (func $~start (type $none_=>_none) call $start:std/array-literal ) - (func $~stack_check (type $none_=>_none) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33648 + i32.const 33696 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 176 + i32.const 240 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 176 + i32.const 240 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 784 + i32.const 240 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 176 + i32.const 240 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 0 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 176 + i32.const 240 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/array-literal/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 176 + i32.const 240 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 176 + i32.const 240 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33648 - i32.const 33696 - i32.const 1 - i32.const 1 - 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) (func $start:std/array-literal (type $none_=>_none) (local $0 i32) @@ -3708,6 +3911,198 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) (local $buffer i32) @@ -3789,39 +4184,6 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $std/array-literal/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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/array-literal/RefWithCtor#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array-literal.release.wat b/tests/compiler/std/array-literal.release.wat index 1bf5608d1c..7e30094a85 100644 --- a/tests/compiler/std/array-literal.release.wat +++ b/tests/compiler/std/array-literal.release.wat @@ -1,11 +1,12 @@ (module (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/array-literal/emptyArrayI32 (mut i32) (i32.const 1424)) @@ -57,46 +58,6 @@ (data (i32.const 1840) "\n\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00B\08\00\00\02\t\00\00 \00\00\00\02A\00\00 \00\00\00\02A") (export "memory" (memory $0)) (start $~start) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1200 - i32.const 1264 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_s $0 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1200 - i32.const 1264 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1599,152 +1560,542 @@ memory.fill $0 local.get $1 ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) + (local $1 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 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 local.get $0 - i32.load $0 offset=8 - local.tee $3 - local.get $2 - i32.shr_u - i32.gt_u + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array~visit (type $i32_=>_none) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|0 local.get $1 - i32.const 1073741820 local.get $2 - i32.shr_u - i32.gt_u + i32.lt_u if - i32.const 1808 - i32.const 1264 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $3 - i32.const 1 - i32.shl - local.tee $3 - local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $3 - i32.const 8 - local.get $1 - local.get $1 - i32.const 8 - i32.le_u - select - local.get $2 - i32.shl - local.tee $1 local.get $1 - local.get $3 - i32.lt_u - select - local.tee $3 - local.get $0 i32.load $0 - local.tee $2 - i32.const 20 - i32.sub - local.tee $4 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u + local.tee $3 if - local.get $4 local.get $3 - i32.store $0 offset=16 - local.get $2 - local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - local.get $3 - local.get $4 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $2 - local.get $3 - local.get $4 - i32.load $0 offset=16 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_u - select - memory.copy $0 $0 - end - local.get $1 - local.get $2 - i32.ne - if - local.get $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=4 local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 end - local.get $0 - local.get $3 - i32.store $0 offset=8 end - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - i32.ge_u + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1200 - i32.const 1264 - i32.const 130 - 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/ensureCapacity local.get $0 - local.get $3 - i32.store $0 offset=12 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - local.get $0 - i32.load $0 offset=4 - local.get $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $2 - i32.store8 $0 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + block $invalid + block $~lib/array/Array + block $std/array-literal/RefWithCtor + block $~lib/array/Array + block $std/array-literal/Ref + block $~lib/array/Array + block $~lib/array/Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + return + end + local.get $0 + call $~lib/array/Array~visit + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/array-literal + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1200 + i32.const 1264 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1200 + i32.const 1264 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $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 1808 + i32.const 1264 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $3 + i32.const 1 + i32.shl + local.tee $3 + local.get $3 + i32.const 1073741820 + i32.ge_u + select + local.tee $3 + i32.const 8 + local.get $1 + local.get $1 + i32.const 8 + i32.le_u + select + local.get $2 + i32.shl + local.tee $1 + local.get $1 + local.get $3 + i32.lt_u + select + local.tee $3 + local.get $0 + i32.load $0 + local.tee $2 + i32.const 20 + i32.sub + local.tee $4 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $4 + local.get $3 + i32.store $0 offset=16 + local.get $2 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $3 + local.get $4 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $2 + local.get $3 + local.get $4 + i32.load $0 offset=16 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $1 + local.get $2 + i32.ne + if + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $3 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1200 + i32.const 1264 + i32.const 130 + 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/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + local.get $2 + i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1768,10 +2119,17 @@ local.tee $3 i32.const 2 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -1780,9 +2138,103 @@ i32.add local.get $2 i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/array-literal/Ref#constructor (type $none_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1884 + i32.lt_s + if + i32.const 34672 + i32.const 34720 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1806,10 +2258,16 @@ local.tee $3 i32.const 2 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -1825,93 +2283,10 @@ i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - ) - (func $~lib/array/Array~visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~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 $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array - block $std/array-literal/RefWithCtor - block $~lib/array/Array - block $std/array-literal/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $std/array-literal/Ref $~lib/array/Array $std/array-literal/RefWithCtor $~lib/array/Array $invalid - end - return - end - return - end - return - end - return - end - local.get $0 - call $~lib/array/Array~visit - return - end - return - end - local.get $0 - call $~lib/array/Array~visit - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:std/array-literal + global.set $~lib/memory/__stack_pointer ) (func $start:std/array-literal (type $none_=>_none) (local $0 i32) @@ -1938,8 +2313,8 @@ local.get $0 i32.const 1088 i32.store $0 - i32.const 1100 - i32.load $0 + i32.const 1088 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -1999,8 +2374,8 @@ global.get $~lib/memory/__stack_pointer i32.const 1344 i32.store $0 - i32.const 1356 - i32.load $0 + i32.const 1344 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -2062,7 +2437,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length if i32.const 0 i32.const 1136 @@ -2141,7 +2516,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -2241,7 +2616,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -2331,7 +2706,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -2372,7 +2747,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 3 i32.ne if @@ -2509,71 +2884,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $std/array-literal/Ref#constructor (type $none_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1884 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1884 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 34672 - i32.const 34720 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) (func $std/array-literal/RefWithCtor#constructor (type $none_=>_i32) (result i32) (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/array.debug.wat b/tests/compiler/std/array.debug.wat index fc789c8211..672d1c1cb2 100644 --- a/tests/compiler/std/array.debug.wat +++ b/tests/compiler/std/array.debug.wat @@ -14,23 +14,23 @@ (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $none_=>_f64 (func_subtype (result f64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) - (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) - (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i32_i32_=>_f32 (func_subtype (param i32 i32 i32) (result f32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) + (type $i32_f32_i32_i32_=>_i32 (func_subtype (param i32 f32 i32 i32) (result i32) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) + (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_f32_i32_i32_=>_none (func_subtype (param i32 i32 f32 i32 i32) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i64_=>_i64 (func_subtype (param i64) (result i64) func)) (type $i64_=>_none (func_subtype (param i64) func)) - (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32 i64 i32 i64 i32) (result i32) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) + (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "Math.random" (func $~lib/bindings/dom/Math.random (result f64))) @@ -2854,130 +2854,6 @@ memory.fill $0 end ) - (func $~lib/array/Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) - (local $i i32) - local.get $len - i32.eqz - if - local.get $a - call $~lib/array/Array#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $b - i32.eq - if - i32.const 1 - return - end - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - i32.const 0 - drop - local.get $a - local.get $i - call $~lib/array/Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/array/Array#fill - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3102,130 +2978,6 @@ end end ) - (func $~lib/array/Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) - (local $i i32) - local.get $len - i32.eqz - if - local.get $a - call $~lib/array/Array#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $b - i32.eq - if - i32.const 1 - return - end - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - i32.const 0 - drop - local.get $a - local.get $i - call $~lib/array/Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/array/Array#fill - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -3356,201 +3108,10 @@ end end ) - (func $~lib/array/Array#fill (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end i32) (result i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $value f32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) - (local $i i32) - (local $4 f32) - (local $5 f32) - (local $x f64) - (local $x|7 f64) - local.get $len - i32.eqz - if - local.get $a - call $~lib/array/Array#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $b - i32.eq - if - i32.const 1 - return - end - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - block $for-continue|0 - i32.const 1 - drop - local.get $a - local.get $i - call $~lib/array/Array#__get - local.tee $4 - local.get $4 - f32.ne - if (result i32) - local.get $b - local.get $i - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f32.ne - else - i32.const 0 - end - if - br $for-continue|0 - end - block $~lib/math/NativeMath.signbit|inlined.0 (result i32) - local.get $a - local.get $i - call $~lib/array/Array#__get - f64.promote_f32 - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - br $~lib/math/NativeMath.signbit|inlined.0 - end - i32.const 0 - i32.ne - block $~lib/math/NativeMath.signbit|inlined.1 (result i32) - local.get $b - local.get $i - call $~lib/array/Array#__get - f64.promote_f32 - local.set $x|7 - local.get $x|7 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - br $~lib/math/NativeMath.signbit|inlined.1 - end - i32.const 0 - i32.ne - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $i - call $~lib/array/Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - f32.ne - if - i32.const 0 - return - end - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/array/Array#fill@varargs (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/array/Array#fill - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -3624,198 +3185,10 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add - local.set $len - local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $oldLen - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $this - local.get $len - call $~lib/array/Array#set:length_ - local.get $len - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/array/Array#pop (type $i32_=>_i32) (param $this i32) (result i32) - (local $len i32) - (local $val i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 1 - i32.lt_s - if - i32.const 1616 - i32.const 80 - i32.const 271 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $len - i32.const 1 - i32.sub - local.tee $len - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $val - local.get $this - local.get $len - call $~lib/array/Array#set:length_ - local.get $val - return - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -3829,511 +3202,76 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) + (local $i i32) + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp i32) + local.get $len + i32.const 1 + i32.gt_u if - local.get $index i32.const 0 + local.set $i + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index + drop + i32.const 4 i32.const 1 - i32.add + i32.eq + drop + i32.const 4 i32.const 2 + i32.eq + drop + local.get $len i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + i32.sub + local.set $tail + loop $while-continue|0 + local.get $i + local.get $hlen + i32.lt_u + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $front + local.get $ptr + local.get $tail + local.get $i + i32.sub + i32.const 2 + i32.shl + i32.add + local.set $back + local.get $front + i32.load $0 + local.set $temp + local.get $front + local.get $back + i32.load $0 + i32.store $0 + local.get $back + local.get $temp + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $while-continue|0 + end + end end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - (local $value i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $index - i32.const 0 - local.get $len - local.get $index - i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 143 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/array/Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) - (local $ptr i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $to i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $from i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $last i32) - (local $23 i32) - (local $24 i32) - (local $count i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $end - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $end - local.get $target - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $target - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $target - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $to - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $13 - i32.const 0 - local.tee $14 - local.get $13 - local.get $14 - i32.gt_s - select - else - local.get $start - local.tee $15 - local.get $len - local.tee $16 - local.get $15 - local.get $16 - i32.lt_s - select - end - local.set $from - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end - i32.add - local.tee $18 - i32.const 0 - local.tee $19 - local.get $18 - local.get $19 - i32.gt_s - select - else - local.get $end - local.tee $20 - local.get $len - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - end - local.set $last - local.get $last - local.get $from - i32.sub - local.tee $23 - local.get $len - local.get $to - i32.sub - local.tee $24 - local.get $23 - local.get $24 - i32.lt_s - select - local.set $count - local.get $ptr - local.get $to - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $from - i32.const 2 - i32.shl - i32.add - local.get $count - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $this - return - ) - (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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 $end - end - local.get $this - local.get $target - local.get $start - local.get $end - call $~lib/array/Array#copyWithin - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) - (local $i i32) - local.get $len - i32.eqz - if - local.get $a - call $~lib/array/Array#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $b - i32.eq - if - i32.const 1 - return - end - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - i32.const 0 - drop - local.get $a - local.get $i - call $~lib/array/Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/array/Array#unshift (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $len i32) - (local $ptr i32) - local.get $this - call $~lib/array/Array#get:length_ - i32.const 1 - i32.add - local.set $len - local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $ptr - i32.const 4 - i32.add - local.get $ptr - local.get $len - i32.const 1 - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $ptr - local.get $value - i32.store $0 - i32.const 0 - drop - local.get $this - local.get $len - call $~lib/array/Array#set:length_ - local.get $len - return - ) - (func $~lib/array/Array#shift (type $i32_=>_i32) (param $this i32) (result i32) - (local $len i32) - (local $base i32) - (local $element i32) - (local $lastIndex i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 1 - i32.lt_s - if - i32.const 1616 - i32.const 80 - i32.const 330 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $base - local.get $base - i32.load $0 - local.set $element - local.get $len - i32.const 1 - i32.sub - local.set $lastIndex - local.get $base - local.get $base - i32.const 4 - i32.add - local.get $lastIndex - i32.const 2 - i32.shl - memory.copy $0 $0 - i32.const 0 - drop - local.get $base - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.const 0 - i32.store $0 - local.get $this - local.get $lastIndex - call $~lib/array/Array#set:length_ - local.get $element - return - ) - (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $start - local.get $end - call $~lib/array/Array#slice - ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp i32) - local.get $len - i32.const 1 - i32.gt_u - if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 4 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 2 - i32.shl - i32.add - local.set $back - local.get $front - i32.load $0 - local.set $temp - local.get $front - local.get $back - i32.load $0 - i32.store $0 - local.get $back - local.get $temp - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|0 - end - end - end - ) - (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - call $~lib/util/bytes/REVERSE - local.get $this - return ) (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) @@ -4499,15 +3437,6 @@ end end ) - (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - call $~lib/util/bytes/REVERSE - local.get $this - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 @@ -4636,772 +3565,1172 @@ end end ) - (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:dataStart + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:length_ - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $std/array/Ref#get:v (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:length_ - return + i32.load $0 offset=12 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value + i32.load $0 offset=4 + ) + (func $start:std/array~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value i32.const 0 - drop + i32.eq + ) + (func $start:std/array~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - return + i32.const 1 + i32.eq ) - (func $~lib/array/Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $ptr i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len + (func $start:std/array~anonymous|2 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 100 + i32.eq + ) + (func $start:std/array~anonymous|4 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 100 + i32.eq + ) + (func $start:std/array~anonymous|6 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value i32.const 0 i32.eq - if (result i32) - i32.const 1 - else - local.get $fromIndex - local.get $len - i32.ge_s - end - if - i32.const -1 - return - end - local.get $fromIndex + ) + (func $start:std/array~anonymous|7 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 1 + i32.eq + ) + (func $start:std/array~anonymous|8 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 100 + i32.eq + ) + (func $start:std/array~anonymous|10 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 0 + i32.ge_s + ) + (func $start:std/array~anonymous|11 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value i32.const 0 + i32.le_s + ) + (func $start:std/array~anonymous|13 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 10 i32.lt_s + ) + (func $start:std/array~anonymous|15 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 3 + i32.ge_s + ) + (func $start:std/array~anonymous|16 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const -1 + i32.le_s + ) + (func $start:std/array~anonymous|18 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 10 + i32.gt_s + ) + (func $start:std/array~anonymous|20 (type $i32_i32_i32_=>_none) (param $value i32) (param $$1 i32) (param $$2 i32) + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + ) + (func $start:std/array~anonymous|22 (type $i32_i32_i32_=>_none) (param $value i32) (param $$1 i32) (param $$2 i32) + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + ) + (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) + local.get $value + i32.const 100000 + i32.lt_u if - local.get $len - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $fromIndex + local.get $value + i32.const 100 + i32.lt_u + if + i32.const 1 + local.get $value + i32.const 10 + i32.ge_u + i32.add + return + else + i32.const 3 + local.get $value + i32.const 10000 + i32.ge_u + i32.add + local.get $value + i32.const 1000 + i32.ge_u + i32.add + return + end + unreachable + else + local.get $value + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $value + i32.const 1000000 + i32.ge_u + i32.add + return + else + i32.const 8 + local.get $value + i32.const 1000000000 + i32.ge_u + i32.add + local.get $value + i32.const 100000000 + i32.ge_u + i32.add + return + end + unreachable end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + unreachable + ) + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) + (local $t i32) + (local $r i32) + (local $d1 i32) + (local $d2 i32) + (local $digits1 i64) + (local $digits2 i64) + (local $t|9 i32) + (local $d1|10 i32) + (local $digits i32) + (local $digits|12 i32) + (local $digit i32) loop $while-continue|0 - local.get $fromIndex - local.get $len - i32.lt_s + local.get $num + i32.const 10000 + i32.ge_u if - local.get $ptr - local.get $fromIndex + local.get $num + i32.const 10000 + i32.div_u + local.set $t + local.get $num + i32.const 10000 + i32.rem_u + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 100 + i32.div_u + local.set $d1 + local.get $r + i32.const 100 + i32.rem_u + local.set $d2 + i32.const 6700 + local.get $d1 i32.const 2 i32.shl i32.add - i32.load $0 - local.get $value - i32.eq - if - local.get $fromIndex - return - end - local.get $fromIndex + i64.load32_u $0 + local.set $digits1 + i32.const 6700 + local.get $d2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset i32.const 1 + i32.shl i32.add - local.set $fromIndex + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 br $while-continue|0 end end - i32.const -1 - return - ) - (func $~lib/array/Array#indexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $ptr i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $fromIndex - local.get $len - i32.ge_s - end + local.get $num + i32.const 100 + i32.ge_u if - i32.const -1 - return + local.get $num + i32.const 100 + i32.div_u + local.set $t|9 + local.get $num + i32.const 100 + i32.rem_u + local.set $d1|10 + local.get $t|9 + local.set $num + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 6700 + local.get $d1|10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $digits + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits + i32.store $0 end - local.get $fromIndex - i32.const 0 - i32.lt_s + local.get $num + i32.const 10 + i32.ge_u if - local.get $len - local.get $fromIndex + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 6700 + local.get $num + i32.const 2 + i32.shl i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $fromIndex + i32.load $0 + local.set $digits|12 + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits|12 + i32.store $0 + else + local.get $offset + i32.const 1 + i32.sub + local.set $offset + i32.const 48 + local.get $num + i32.add + local.set $digit + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digit + i32.store16 $0 end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + ) + (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) loop $while-continue|0 - local.get $fromIndex - local.get $len - i32.lt_s + local.get $offset + i32.const 2 + i32.ge_u if - local.get $ptr - local.get $fromIndex + local.get $offset i32.const 2 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 i32.shl i32.add - f32.load $0 - local.get $value - f32.eq - if - local.get $fromIndex - return - end - local.get $fromIndex - i32.const 1 + i32.const 7120 + local.get $num + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl i32.add - local.set $fromIndex + i32.load $0 + i32.store $0 + local.get $num + i64.const 8 + i64.shr_u + local.set $num br $while-continue|0 end end - i32.const -1 - return - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + local.get $offset + i32.const 1 + i32.and + if + local.get $buffer + i32.const 7120 + local.get $num + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + end ) - (func $~lib/array/Array#indexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $ptr i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) + (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) + (local $value i32) + (local $b64 i64) + (local $b i64) + (local $e i32) + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt i32.const 1 - else - local.get $fromIndex - local.get $len - i32.ge_s - end - if - i32.const -1 - return + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 end - local.get $fromIndex - i32.const 0 - i32.lt_s if - local.get $len - local.get $fromIndex + i32.const 63 + local.get $num + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $base + i32.clz + i32.sub + i32.div_u + i32.const 1 i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $fromIndex + return end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + local.get $base + i64.extend_i32_s + local.set $b64 + local.get $b64 + local.set $b + i32.const 1 + local.set $e loop $while-continue|0 - local.get $fromIndex - local.get $len - i32.lt_s + local.get $num + local.get $b + i64.ge_u if - local.get $ptr - local.get $fromIndex - i32.const 3 + local.get $num + local.get $b + i64.div_u + local.set $num + local.get $b + local.get $b + i64.mul + local.set $b + local.get $e + i32.const 1 i32.shl - i32.add - f64.load $0 - local.get $value - f64.eq - if - local.get $fromIndex - return - end - local.get $fromIndex + local.set $e + br $while-continue|0 + end + end + loop $while-continue|1 + local.get $num + i64.const 1 + i64.ge_u + if + local.get $num + local.get $b64 + i64.div_u + local.set $num + local.get $e i32.const 1 i32.add - local.set $fromIndex - br $while-continue|0 + local.set $e + br $while-continue|1 end end - i32.const -1 + local.get $e + i32.const 1 + i32.sub return ) - (func $~lib/array/Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - (local $len i32) - (local $ptr i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len + (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) + (local $base i64) + (local $shift i64) + (local $mask i64) + (local $q i64) + local.get $radix + i64.extend_i32_s + local.set $base + local.get $radix + local.get $radix + i32.const 1 + i32.sub + i32.and i32.const 0 i32.eq if - i32.const -1 - return - end - local.get $fromIndex - i32.const 0 - i32.lt_s - if - local.get $len - local.get $fromIndex - i32.add - local.set $fromIndex - else - local.get $fromIndex - local.get $len - i32.ge_s - if - local.get $len + local.get $radix + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $shift + local.get $base + i64.const 1 + i64.sub + local.set $mask + loop $do-loop|0 + local.get $offset i32.const 1 i32.sub - local.set $fromIndex - end - end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - loop $while-continue|0 - local.get $fromIndex - i32.const 0 - i32.ge_s - if - local.get $ptr - local.get $fromIndex - i32.const 2 + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 i32.shl i32.add - i32.load $0 - local.get $value - i32.eq - if - local.get $fromIndex - return - end - local.get $fromIndex + i32.const 8176 + local.get $num + local.get $mask + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $num + local.get $shift + i64.shr_u + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|0 + end + else + loop $do-loop|1 + local.get $offset i32.const 1 i32.sub - local.set $fromIndex - br $while-continue|0 + local.set $offset + local.get $num + local.get $base + i64.div_u + local.set $q + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 8176 + local.get $num + local.get $q + local.get $base + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $q + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|1 end end - i32.const -1 - return ) - (func $~lib/array/Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $this - call $~lib/array/Array#get:length_ - local.set $fromIndex - end + (func $~lib/number/I32#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) local.get $this + local.get $radix + call $~lib/util/number/itoa32 + return + ) + (func $start:std/array~anonymous|25 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - local.get $fromIndex - call $~lib/array/Array#lastIndexOf + i32.const 10 + call $~lib/number/I32#toString ) - (func $~lib/array/Array#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - i32.const 0 - drop + (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $start:std/array~anonymous|26 (type $i32_i32_i32_=>_f32) (param $value i32) (param $$1 i32) (param $$2 i32) (result f32) local.get $value - local.get $fromIndex - call $~lib/array/Array#indexOf - i32.const 0 + f32.convert_i32_s + ) + (func $start:std/array~anonymous|28 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + return + ) + (func $start:std/array~anonymous|30 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|32 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + i32.const 2 i32.ge_s return ) - (func $~lib/array/Array#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $ptr i32) - (local $elem f32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 0 - i32.eq + (func $start:std/array~anonymous|34 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $start:std/array~anonymous|35 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $start:std/array~anonymous|36 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev if (result i32) i32.const 1 else - local.get $fromIndex - local.get $len - i32.ge_s - end - if - i32.const 0 - return - end - local.get $fromIndex - i32.const 0 - i32.lt_s - if - local.get $len - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 + local.get $current + i32.const 2 i32.gt_s - select - local.set $fromIndex - end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - loop $while-continue|0 - local.get $fromIndex - local.get $len - i32.lt_s - if - local.get $ptr - local.get $fromIndex - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $elem - local.get $elem - local.get $value - f32.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f32.ne - local.get $value - local.get $value - f32.ne - i32.and - end - if - i32.const 1 - return - end - local.get $fromIndex - i32.const 1 - i32.add - local.set $fromIndex - br $while-continue|0 - end end - i32.const 0 - return ) - (func $~lib/array/Array#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $ptr i32) - (local $elem f64) - i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $len - i32.const 0 - i32.eq + (func $start:std/array~anonymous|37 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev if (result i32) i32.const 1 else - local.get $fromIndex - local.get $len - i32.ge_s - end - if - i32.const 0 - return + local.get $current + i32.const 100 + i32.gt_s end - local.get $fromIndex - i32.const 0 - i32.lt_s - if - local.get $len - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 + ) + (func $start:std/array~anonymous|39 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $start:std/array~anonymous|41 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $start:std/array~anonymous|42 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $start:std/array~anonymous|43 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + if (result i32) + i32.const 1 + else + local.get $current + i32.const 2 i32.gt_s - select - local.set $fromIndex end - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - loop $while-continue|0 - local.get $fromIndex - local.get $len - i32.lt_s - if - local.get $ptr - local.get $fromIndex - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $elem - local.get $elem - local.get $value - f64.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f64.ne - local.get $value - local.get $value - f64.ne - i32.and - end - if - i32.const 1 - return - end - local.get $fromIndex - i32.const 1 - i32.add - local.set $fromIndex - br $while-continue|0 - end + ) + (func $start:std/array~anonymous|44 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + if (result i32) + i32.const 1 + else + local.get $current + i32.const 100 + i32.gt_s end - i32.const 0 + ) + (func $start:std/array~anonymous|46 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $prev + local.get $current + i32.add + ) + (func $~lib/math/murmurHash3 (type $i64_=>_i64) (param $h i64) (result i64) + local.get $h + local.get $h + i64.const 33 + i64.shr_u + i64.xor + local.set $h + local.get $h + i64.const -49064778989728563 + i64.mul + local.set $h + local.get $h + local.get $h + i64.const 33 + i64.shr_u + i64.xor + local.set $h + local.get $h + i64.const -4265267296055464877 + i64.mul + local.set $h + local.get $h + local.get $h + i64.const 33 + i64.shr_u + i64.xor + local.set $h + local.get $h return ) - (func $~lib/array/Array#splice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount 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 $deleteCount + (func $~lib/math/splitMix32 (type $i32_=>_i32) (param $h i32) (result i32) + local.get $h + i32.const 1831565813 + i32.add + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.get $h + i32.const 1 + i32.or + i32.mul + local.set $h + local.get $h + local.get $h + local.get $h + local.get $h + i32.const 7 + i32.shr_u + i32.xor + local.get $h + i32.const 61 + i32.or + i32.mul + i32.add + i32.xor + local.set $h + local.get $h + local.get $h + i32.const 14 + i32.shr_u + i32.xor + return + ) + (func $~lib/math/NativeMath.seedRandom (type $i64_=>_none) (param $value i64) + local.get $value + i64.const 0 + i64.eq + if + i64.const -7046029254386353131 + local.set $value end + local.get $value + 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 $value + 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 + i32.const 1 + global.set $~lib/math/random_seeded + ) + (func $std/array/Dim#set:height (type $i32_i32_=>_none) (param $this i32) (param $height i32) local.get $this - local.get $start - local.get $deleteCount - call $~lib/array/Array#splice + local.get $height + i32.store $0 ) - (func $std/array/Ref#get:v (type $i32_=>_i32) (param $this i32) (result i32) + (func $std/array/Dim#set:width (type $i32_i32_=>_none) (param $this i32) (param $width i32) local.get $this - i32.load $0 + local.get $width + i32.store $0 offset=4 ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a f32) + (local $b f32) + (local $min f32) + (local $max f32) + (local $j i32) + i32.const 0 i32.const 1 + i32.ge_s drop - local.get $this - local.get $value + local.get $right + local.get $left + i32.sub i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) - (func $start:std/array~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 i32.eq - ) - (func $~lib/array/Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - i32.const 0 + select + i32.add local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len loop $for-loop|0 local.get $i - local.get $len - local.tee $4 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s + local.get $right + i32.le_s if - local.get $this - call $~lib/array/Array#get:dataStart + local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + f32.load $0 + local.set $a + local.get $ptr local.get $i - local.get $this - i32.const 3 + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s if - local.get $i - return + local.get $a + local.set $min + local.get $b + local.set $max end local.get $i i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + f32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + f32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + f32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + f32.store $0 offset=4 + local.get $i + i32.const 2 i32.add local.set $i br $for-loop|0 end end - i32.const -1 - return - ) - (func $start:std/array~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 1 - i32.eq - ) - (func $start:std/array~anonymous|2 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 100 - i32.eq ) - (func $start:std/array~anonymous|3 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - local.get $value - i32.const 100 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp f32) + local.get $i + local.get $right i32.eq + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + f32.load $0 + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + f32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end + end + local.get $j return ) - (func $start:std/array~anonymous|4 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|5 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - local.get $value - i32.const 100 - i32.eq + (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) + (local $n i64) + (local $s i32) + (local $l i32) + (local $r i32) + (local $a i64) + (local $b i64) + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + i64.extend_i32_u + local.set $n + local.get $startB + local.get $left + i32.const 1 + i32.shl + i32.sub + local.set $s + local.get $startA + local.get $s + i32.add + local.set $l + local.get $endB + local.get $s + i32.add + i32.const 1 + i32.add + local.set $r + local.get $l + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $n + i64.div_u + local.set $a + local.get $r + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $n + i64.div_u + local.set $b + local.get $a + local.get $b + i64.xor + i32.wrap_i64 + i32.clz return ) - (func $start:std/array~anonymous|6 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 0 - i32.eq - ) - (func $~lib/array/Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) - local.get $this - call $~lib/array/Array#get:length_ + (local $j i32) + (local $t i32) + (local $k i32) + (local $a f32) + (local $b f32) + local.get $m i32.const 1 i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add local.set $i loop $for-loop|0 local.get $i - i32.const 0 - i32.ge_s + local.get $l + i32.gt_s if - local.get $this - call $~lib/array/Array#get:dataStart + local.get $buffer local.get $i + i32.const 1 + i32.sub i32.const 2 i32.shl i32.add - i32.load $0 + local.get $ptr local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - return - end + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + f32.load $0 + f32.store $0 local.get $i i32.const 1 i32.sub @@ -5409,1406 +4738,1191 @@ br $for-loop|0 end end - i32.const -1 - return - ) - (func $start:std/array~anonymous|7 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 1 - i32.eq - ) - (func $start:std/array~anonymous|8 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|9 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - local.get $value - i32.const 100 - i32.eq - return - ) - (func $start:std/array~anonymous|10 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 0 - i32.ge_s - ) - (func $~lib/array/Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - local.tee $4 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r i32.lt_s if - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i + local.get $buffer + local.get $t + local.get $j + i32.sub i32.const 2 i32.shl i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - if - i32.const 0 - return - end - local.get $i + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + f32.store $0 + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $for-loop|1 end end - i32.const 1 - return - ) - (func $start:std/array~anonymous|11 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 0 - i32.le_s - ) - (func $start:std/array~anonymous|12 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - local.get $value - i32.const 10 - i32.lt_s - return - ) - (func $start:std/array~anonymous|13 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 10 - i32.lt_s - ) - (func $start:std/array~anonymous|14 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - local.get $value - i32.const 3 - i32.lt_s - return - ) - (func $start:std/array~anonymous|15 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 3 - i32.ge_s - ) - (func $~lib/array/Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - local.tee $4 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s if - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i + local.get $buffer + local.get $j i32.const 2 i32.shl i32.add - i32.load $0 + f32.load $0 + local.set $a + local.get $buffer local.get $i - local.get $this - i32.const 3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s if + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + f32.store $0 + local.get $j i32.const 1 - return + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $b + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i end - local.get $i + local.get $k i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $k + br $for-loop|2 end end - i32.const 0 - return - ) - (func $start:std/array~anonymous|16 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const -1 - i32.le_s ) - (func $start:std/array~anonymous|17 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - local.get $value - i32.const 10 + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) + (local $ia i32) + (local $ib i32) + local.get $a + i32.reinterpret_f32 + local.set $ia + local.get $b + i32.reinterpret_f32 + local.set $ib + local.get $ia + local.get $ia + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $ia + local.get $ib + local.get $ib + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $ib + local.get $ia + local.get $ib i32.gt_s + local.get $ia + local.get $ib + i32.lt_s + i32.sub return ) - (func $start:std/array~anonymous|18 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 10 - i32.gt_s - ) - (func $start:std/array~anonymous|19 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a f64) + (local $b f64) + (local $min f64) + (local $max f64) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s drop - local.get $value - i32.const 3 - i32.gt_s - return - ) - (func $start:std/array~anonymous|20 (type $i32_i32_i32_=>_none) (param $value i32) (param $$1 i32) (param $$2 i32) - global.get $std/array/i - local.get $value + local.get $right + local.get $left + i32.sub + i32.const 1 i32.add - global.set $std/array/i - ) - (func $~lib/array/Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $i i32) - (local $len i32) - (local $4 i32) - (local $5 i32) + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 + i32.eq + select + i32.add local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len loop $for-loop|0 local.get $i - local.get $len - local.tee $4 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - i32.lt_s + local.get $right + i32.le_s if - local.get $this - call $~lib/array/Array#get:dataStart + local.get $ptr local.get $i - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 + f64.load $0 + local.set $a + local.get $ptr local.get $i - local.get $this i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end local.get $i i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 offset=16 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $max + f64.store $0 offset=16 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $min + f64.store $0 offset=8 + local.get $i + i32.const 2 i32.add local.set $i br $for-loop|0 end end ) - (func $start:std/array~anonymous|21 (type $i32_i32_i32_=>_none) (param $value i32) (param $_ i32) (param $array i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|22 (type $i32_i32_i32_=>_none) (param $value i32) (param $$1 i32) (param $$2 i32) - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|23 (type $i32_i32_i32_=>_none) (param $value i32) (param $_ i32) (param $array i32) - local.get $array - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|24 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $array i32) - (local $i i32) - (local $i|4 i32) - (local $i|5 i32) - (local $i|6 i32) - local.get $index - i32.const 0 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp f64) + local.get $i + local.get $right i32.eq if - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - i32.const 4 + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end if - local.get $array - call $~lib/array/Array#pop - drop - local.get $i + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|0 end end - i32.const 0 - local.set $i|4 - loop $for-loop|1 - local.get $i|4 - i32.const 100 + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k i32.lt_s if - local.get $array - i32.const 100 - local.get $i|4 + local.get $ptr + local.get $i + i32.const 3 + i32.shl i32.add - call $~lib/array/Array#push - drop - local.get $i|4 + f64.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + f64.load $0 + f64.store $0 + local.get $i i32.const 1 i32.add - local.set $i|4 - br $for-loop|1 + local.set $i + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $tmp + f64.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const 0 - local.set $i|5 - loop $for-loop|2 - local.get $i|5 - i32.const 100 + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s - if - local.get $array - call $~lib/array/Array#pop - drop - local.get $i|5 - i32.const 1 + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl i32.add - local.set $i|5 - br $for-loop|2 + f64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 end - end - i32.const 0 - local.set $i|6 - loop $for-loop|3 - local.get $i|6 - i32.const 100 - i32.lt_s if - local.get $array - local.get $i|6 - i32.const 200 - i32.add - call $~lib/array/Array#push - drop - local.get $i|6 + local.get $j i32.const 1 i32.add - local.set $i|6 - br $for-loop|3 + local.set $j + br $while-continue|2 end end end - local.get $index - i32.const 2 - i32.eq - if - local.get $value - i32.const 202 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 767 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end + local.get $j + return ) - (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) - local.get $value - i32.const 100000 - i32.lt_u - if - local.get $value - i32.const 100 - i32.lt_u + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (local $i i32) + (local $j i32) + (local $t i32) + (local $k i32) + (local $a f64) + (local $b f64) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s if + local.get $buffer + local.get $i i32.const 1 - local.get $value - i32.const 10 - i32.ge_u - i32.add - return - else + i32.sub i32.const 3 - local.get $value - i32.const 10000 - i32.ge_u - i32.add - local.get $value - i32.const 1000 - i32.ge_u - i32.add - return - end - unreachable - else - local.get $value - i32.const 10000000 - i32.lt_u - if - i32.const 6 - local.get $value - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 - local.get $value - i32.const 1000000000 - i32.ge_u + i32.shl i32.add - local.get $value - i32.const 100000000 - i32.ge_u + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 3 + i32.shl i32.add - return + f64.load $0 + f64.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 end - unreachable end - unreachable - ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $t i32) - (local $r i32) - (local $d1 i32) - (local $d2 i32) - (local $digits1 i64) - (local $digits2 i64) - (local $t|9 i32) - (local $d1|10 i32) - (local $digits i32) - (local $digits|12 i32) - (local $digit i32) - loop $while-continue|0 - local.get $num - i32.const 10000 - i32.ge_u + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s if - local.get $num - i32.const 10000 - i32.div_u - local.set $t - local.get $num - i32.const 10000 - i32.rem_u - local.set $r + local.get $buffer local.get $t - local.set $num - local.get $r - i32.const 100 - i32.div_u - local.set $d1 - local.get $r - i32.const 100 - i32.rem_u - local.set $d2 - i32.const 6700 - local.get $d1 - i32.const 2 + local.get $j + i32.sub + i32.const 3 i32.shl i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6700 - local.get $d2 - i32.const 2 + local.get $ptr + local.get $j + i32.const 3 i32.shl i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset + f64.load $0 offset=8 + f64.store $0 + local.get $j i32.const 1 - i32.shl i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 + local.set $j + br $for-loop|1 end end - local.get $num - i32.const 100 - i32.ge_u - if - local.get $num - i32.const 100 - i32.div_u - local.set $t|9 - local.get $num - i32.const 100 - i32.rem_u - local.set $d1|10 - local.get $t|9 - local.set $num - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 6700 - local.get $d1|10 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits - i32.store $0 - end - local.get $num - i32.const 10 - i32.ge_u - if - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 6700 - local.get $num - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits|12 - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits|12 - i32.store $0 - else - local.get $offset - i32.const 1 - i32.sub - local.set $offset - i32.const 48 - local.get $num - i32.add - local.set $digit - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digit - i32.store16 $0 - end - ) - (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - loop $while-continue|0 - local.get $offset - i32.const 2 - i32.ge_u + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s if - local.get $offset - i32.const 2 - i32.sub - local.set $offset local.get $buffer - local.get $offset - i32.const 1 + local.get $j + i32.const 3 i32.shl i32.add - i32.const 7120 - local.get $num - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 + f64.load $0 + local.set $a + local.get $buffer + local.get $i + i32.const 3 i32.shl i32.add + f64.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator i32.load $0 - i32.store $0 - local.get $num - i64.const 8 - i64.shr_u - local.set $num - br $while-continue|0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $b + f64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end end - local.get $offset - i32.const 1 - i32.and - if - local.get $buffer - i32.const 7120 - local.get $num - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - end ) - (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) - (local $value i32) - (local $b64 i64) - (local $b i64) - (local $e i32) - block $~lib/util/number/isPowerOf2|inlined.0 (result i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq - br $~lib/util/number/isPowerOf2|inlined.0 - end - if - i32.const 63 - local.get $num - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $base - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add - return - end - local.get $base - i64.extend_i32_s - local.set $b64 - local.get $b64 - local.set $b - i32.const 1 - local.set $e - loop $while-continue|0 - local.get $num - local.get $b - i64.ge_u - if - local.get $num - local.get $b - i64.div_u - local.set $num - local.get $b - local.get $b - i64.mul - local.set $b - local.get $e - i32.const 1 - i32.shl - local.set $e - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $num - i64.const 1 - i64.ge_u - if - local.get $num - local.get $b64 - i64.div_u - local.set $num - local.get $e - i32.const 1 - i32.add - local.set $e - br $while-continue|1 - end - end - local.get $e - i32.const 1 + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) + (local $ia i64) + (local $ib i64) + local.get $a + i64.reinterpret_f64 + local.set $ia + local.get $b + i64.reinterpret_f64 + local.set $ib + local.get $ia + local.get $ia + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $ia + local.get $ib + local.get $ib + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $ib + local.get $ia + local.get $ib + i64.gt_s + local.get $ia + local.get $ib + i64.lt_s i32.sub return ) - (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) - (local $base i64) - (local $shift i64) - (local $mask i64) - (local $q i64) - local.get $radix - i64.extend_i32_s - local.set $base - local.get $radix - local.get $radix + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted i32.sub + i32.const 1 i32.and + i32.sub + local.get $presorted i32.const 0 i32.eq - if - local.get $radix - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $shift - local.get $base - i64.const 1 - i64.sub - local.set $mask - loop $do-loop|0 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 8176 - local.get $num - local.get $mask - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $num - local.get $shift - i64.shr_u - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|0 - end - else - loop $do-loop|1 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $num - local.get $base - i64.div_u - local.set $q - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 8176 - local.get $num - local.get $q - local.get $base - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $q - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|1 - end - end - ) - (func $~lib/number/I32#toString (type $i32_i32_=>_i32) (param $this i32) (param $radix i32) (result i32) - local.get $this - local.get $radix - call $~lib/util/number/itoa32 - return - ) - (func $start:std/array~anonymous|25 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 10 - call $~lib/number/I32#toString - ) - (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $start:std/array~anonymous|26 (type $i32_i32_i32_=>_f32) (param $value i32) (param $$1 i32) (param $$2 i32) (result f32) - local.get $value - f32.convert_i32_s - ) - (func $start:std/array~anonymous|27 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - return - ) - (func $start:std/array~anonymous|28 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - return - ) - (func $start:std/array~anonymous|29 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - return - ) - (func $start:std/array~anonymous|30 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.ge_s - ) - (func $start:std/array~anonymous|31 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 100 - call $~lib/array/Array#push - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - i32.const 2 - i32.ge_s - return - ) - (func $start:std/array~anonymous|32 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - i32.const 2 - i32.ge_s - return - ) - (func $start:std/array~anonymous|33 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - global.get $std/array/i - local.get $value - i32.add - global.set $std/array/i - local.get $value - i32.const 2 - i32.ge_s - return - ) - (func $start:std/array~anonymous|34 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current + select i32.add - ) - (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - local.get $initialValue - local.set $acc - i32.const 0 local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len loop $for-loop|0 local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s + local.get $right + i32.le_s if - local.get $acc - local.get $this - call $~lib/array/Array#get:dataStart + local.get $ptr local.get $i i32.const 2 i32.shl i32.add i32.load $0 + local.set $a + local.get $ptr local.get $i - local.get $this - i32.const 4 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end local.get $i i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + i32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 i32.add local.set $i br $for-loop|0 end end - local.get $acc - return - ) - (func $start:std/array~anonymous|35 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current - i32.add ) - (func $start:std/array~anonymous|36 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - if (result i32) - i32.const 1 - else - local.get $current - i32.const 2 - i32.gt_s + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i32) + local.get $i + local.get $right + i32.eq + if + local.get $i + return end - ) - (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - local.get $initialValue - local.set $acc + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end + end + local.get $j + return + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (local $i i32) + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len loop $for-loop|0 local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s + local.get $l + i32.gt_s if - local.get $acc - local.get $this - call $~lib/array/Array#get:dataStart + local.get $buffer local.get $i + i32.const 1 + i32.sub i32.const 2 i32.shl i32.add - i32.load $0 + local.get $ptr local.get $i - local.get $this - i32.const 4 - global.set $~argumentsLength - local.get $fn + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc + i32.store $0 local.get $i i32.const 1 - i32.add + i32.sub local.set $i br $for-loop|0 end end - local.get $acc - return - ) - (func $start:std/array~anonymous|37 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - if (result i32) - i32.const 1 - else - local.get $current - i32.const 100 - i32.gt_s + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end end - ) - (func $start:std/array~anonymous|38 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 1 - call $~lib/array/Array#push - drop - local.get $prev - local.get $current - i32.add - return - ) - (func $start:std/array~anonymous|39 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current - i32.add - ) - (func $start:std/array~anonymous|40 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - local.get $prev - local.get $current - i32.add - return - ) - (func $start:std/array~anonymous|41 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current - i32.add - ) - (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - local.get $initialValue - local.set $acc - local.get $this - call $~lib/array/Array#get:length_ - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s if - local.get $acc - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i + local.get $buffer + local.get $j i32.const 2 i32.shl i32.add i32.load $0 + local.set $a + local.get $buffer local.get $i - local.get $this - i32.const 4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $b + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.add + local.set $k + br $for-loop|2 end end - local.get $acc - return - ) - (func $start:std/array~anonymous|42 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current - i32.add ) - (func $start:std/array~anonymous|43 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - if (result i32) - i32.const 1 - else - local.get $current - i32.const 2 - i32.gt_s - end + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub ) - (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - local.get $initialValue - local.set $acc - local.get $this - call $~lib/array/Array#get:length_ + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub i32.const 1 + i32.and i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add local.set $i loop $for-loop|0 local.get $i - i32.const 0 - i32.ge_s + local.get $right + i32.le_s if - local.get $acc - local.get $this - call $~lib/array/Array#get:dataStart + local.get $ptr local.get $i i32.const 2 i32.shl i32.add i32.load $0 + local.set $a + local.get $ptr local.get $i - local.get $this - i32.const 4 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $acc - return - ) - (func $start:std/array~anonymous|44 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - if (result i32) - i32.const 1 - else - local.get $current - i32.const 100 - i32.gt_s - end - ) - (func $start:std/array~anonymous|45 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - i32.const 1 - call $~lib/array/Array#push - drop - local.get $prev - local.get $current - i32.add - return - ) - (func $start:std/array~anonymous|46 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $prev - local.get $current - i32.add - ) - (func $start:std/array~anonymous|47 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array i32) (result i32) - local.get $array - call $~lib/array/Array#pop - drop - local.get $prev - local.get $current - i32.add - return - ) - (func $~lib/math/murmurHash3 (type $i64_=>_i64) (param $h i64) (result i64) - local.get $h - local.get $h - i64.const 33 - i64.shr_u - i64.xor - local.set $h - local.get $h - i64.const -49064778989728563 - i64.mul - local.set $h - local.get $h - local.get $h - i64.const 33 - i64.shr_u - i64.xor - local.set $h - local.get $h - i64.const -4265267296055464877 - i64.mul - local.set $h - local.get $h - local.get $h - i64.const 33 - i64.shr_u - i64.xor - local.set $h - local.get $h - return - ) - (func $~lib/math/splitMix32 (type $i32_=>_i32) (param $h i32) (result i32) - local.get $h - i32.const 1831565813 - i32.add - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.get $h - i32.const 1 - i32.or - i32.mul - local.set $h - local.get $h - local.get $h - local.get $h - local.get $h - i32.const 7 - i32.shr_u - i32.xor - local.get $h - i32.const 61 - i32.or - i32.mul - i32.add - i32.xor - local.set $h - local.get $h - local.get $h - i32.const 14 - i32.shr_u - i32.xor - return - ) - (func $~lib/math/NativeMath.seedRandom (type $i64_=>_none) (param $value i64) - local.get $value - i64.const 0 - i64.eq - if - i64.const -7046029254386353131 - local.set $value - end - local.get $value - 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 $value - 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 - i32.const 1 - global.set $~lib/math/random_seeded - ) - (func $std/array/Dim#set:height (type $i32_i32_=>_none) (param $this i32) (param $height i32) - local.get $this - local.get $height - i32.store $0 - ) - (func $std/array/Dim#set:width (type $i32_i32_=>_none) (param $this i32) (param $width i32) - local.get $this - local.get $width - i32.store $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a f32) - (local $b f32) - (local $min f32) - (local $max f32) - (local $j i32) - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted - i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end local.get $i i32.const 1 i32.sub @@ -6824,7 +5938,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $a local.get $a local.get $max @@ -6832,7 +5946,7 @@ global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.gt_s if @@ -6842,7 +5956,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=8 + i32.store $0 offset=8 local.get $j i32.const 1 i32.sub @@ -6860,7 +5974,7 @@ i32.shl i32.add local.get $max - f32.store $0 offset=8 + i32.store $0 offset=8 block $while-break|2 loop $while-continue|2 local.get $j @@ -6872,7 +5986,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $a local.get $a local.get $min @@ -6880,7 +5994,7 @@ global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.gt_s if @@ -6890,7 +6004,7 @@ i32.shl i32.add local.get $a - f32.store $0 offset=4 + i32.store $0 offset=4 local.get $j i32.const 1 i32.sub @@ -6908,7 +6022,7 @@ i32.shl i32.add local.get $min - f32.store $0 offset=4 + i32.store $0 offset=4 local.get $i i32.const 2 i32.add @@ -6917,10 +6031,10 @@ end end ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) (local $j i32) (local $k i32) - (local $tmp f32) + (local $tmp i32) local.get $i local.get $right i32.eq @@ -6935,7 +6049,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.get $ptr local.get $j i32.const 1 @@ -6944,12 +6058,12 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 i32.const 2 global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.gt_s if @@ -6963,18 +6077,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + i32.load $0 offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 i32.const 2 global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 31 i32.shr_u else @@ -7000,7 +6114,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $tmp local.get $ptr local.get $i @@ -7012,8 +6126,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + i32.load $0 + i32.store $0 local.get $i i32.const 1 i32.add @@ -7024,7 +6138,7 @@ i32.shl i32.add local.get $tmp - f32.store $0 + i32.store $0 local.get $k i32.const 1 i32.sub @@ -7043,18 +6157,18 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 + i32.load $0 offset=4 local.get $ptr local.get $j i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 i32.const 2 global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.ge_s else @@ -7072,64 +6186,13 @@ local.get $j return ) - (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) - (local $n i64) - (local $s i32) - (local $l i32) - (local $r i32) - (local $a i64) - (local $b i64) - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - i64.extend_i32_u - local.set $n - local.get $startB - local.get $left - i32.const 1 - i32.shl - i32.sub - local.set $s - local.get $startA - local.get $s - i32.add - local.set $l - local.get $endB - local.get $s - i32.add - i32.const 1 - i32.add - local.set $r - local.get $l - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $n - i64.div_u - local.set $a - local.get $r - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $n - i64.div_u - local.set $b - local.get $a - local.get $b - i64.xor - i32.wrap_i64 - i32.clz - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) (local $j i32) (local $t i32) (local $k i32) - (local $a f32) - (local $b f32) + (local $a i32) + (local $b i32) local.get $m i32.const 1 i32.sub @@ -7161,8 +6224,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 - f32.store $0 + i32.load $0 + i32.store $0 local.get $i i32.const 1 i32.sub @@ -7189,8 +6252,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + i32.load $0 offset=4 + i32.store $0 local.get $j i32.const 1 i32.add @@ -7210,14 +6273,14 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $a local.get $buffer local.get $i i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $b local.get $a local.get $b @@ -7225,7 +6288,7 @@ global.set $~argumentsLength local.get $comparator i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.lt_s if @@ -7235,7 +6298,7 @@ i32.shl i32.add local.get $a - f32.store $0 + i32.store $0 local.get $j i32.const 1 i32.sub @@ -7247,7 +6310,7 @@ i32.shl i32.add local.get $b - f32.store $0 + i32.store $0 local.get $i i32.const 1 i32.add @@ -7261,4418 +6324,12953 @@ end end ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a f32) - (local $b f32) - (local $c i32) - (local $a|7 f32) - (local $b|8 f32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.gt_u + local.get $a + local.get $b + i32.lt_u + i32.sub + ) + (func $~lib/math/NativeMath.random (type $none_=>_f64) (result f64) + (local $s1 i64) + (local $s0 i64) + (local $r i64) + global.get $~lib/math/random_seeded + i32.eqz if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - f32.load $0 - local.set $a - local.get $ptr - f32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - f32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - f32.store $0 offset=8 - end - local.get $ptr - f32.load $0 - local.set $a|7 - local.get $ptr - f32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - f32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - f32.store $0 offset=4 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.0 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.0 + call $~lib/builtins/seed + i64.reinterpret_f64 + call $~lib/math/NativeMath.seedRandom end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size + global.get $~lib/math/random_state0_64 + local.set $s1 + global.get $~lib/math/random_state1_64 + local.set $s0 + local.get $s0 + global.set $~lib/math/random_state0_64 + local.get $s1 + local.get $s1 + i64.const 23 + i64.shl + i64.xor + local.set $s1 + local.get $s1 + local.get $s1 + i64.const 17 + i64.shr_u + i64.xor + local.set $s1 + local.get $s1 + local.get $s0 + i64.xor + local.set $s1 + local.get $s1 + local.get $s0 + i64.const 26 + i64.shr_u + i64.xor + local.set $s1 + local.get $s1 + global.set $~lib/math/random_state1_64 + local.get $s0 + i64.const 12 + i64.shr_u + i64.const 4607182418800017408 + i64.or + local.set $r + local.get $r + f64.reinterpret_i64 + f64.const 1 + f64.sub + return + ) + (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub + ) + (func $std/array/Dim#get:height (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $std/array/Dim#get:width (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $start:std/array~anonymous|48 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub + ) + (func $start:std/array~anonymous|49 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + local.get $a + i32.sub + ) + (func $start:std/array~anonymous|50 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub + ) + (func $start:std/array~anonymous|51 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + local.get $a + i32.sub + ) + (func $~lib/array/Array<~lib/array/Array>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array<~lib/array/Array>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array<~lib/array/Array>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $std/array/Proxy#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) + local.get $this + local.get $x + i32.store $0 + ) + (func $~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $std/array/Proxy#get:x (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String|null>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array<~lib/string/String|null>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u + return + ) + (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 i32.const 1 i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + local.set $ptr1 + local.get $str2 + local.get $index2 i32.const 1 + i32.shl i32.add - local.set $lenA - local.get $lenA - i32.const 32 + local.set $ptr2 + i32.const 0 + i32.const 2 i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load $0 + local.get $ptr2 + i64.load $0 + i64.ne if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 + br $do-break|0 end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 end end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 + local.get $ptr1 + i32.load16_u $0 + local.set $a + local.get $ptr2 + i32.load16_u $0 + local.set $b + local.get $a + local.get $b i32.ne if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.get $a + local.get $b + i32.sub + return end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 end end + i32.const 0 + return + ) + (func $~lib/array/Array<~lib/string/String>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this - call $~lib/array/Array#get:dataStart + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array<~lib/string/String>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this - call $~lib/array/Array#get:length_ - local.get $comparator - call $~lib/util/sort/SORT + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - return + local.get $length_ + i32.store $0 offset=12 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) - (local $ia i32) - (local $ib i32) - local.get $a - i32.reinterpret_f32 - local.set $ia - local.get $b - i32.reinterpret_f32 - local.set $ib - local.get $ia - local.get $ia - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $ia - local.get $ib - local.get $ib - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $ib - local.get $ia - local.get $ib - i32.gt_s - local.get $ia - local.get $ib - i32.lt_s - i32.sub - return + (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a f64) - (local $b f64) - (local $min f64) - (local $max f64) - (local $j i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 + local.set $sign i32.const 1 - i32.ge_s drop - local.get $right - local.get $left - i32.sub + local.get $value + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $value + i32.sub + local.set $value + end + local.get $buffer + local.get $sign i32.const 1 + i32.shl i32.add - local.set $range - local.get $left - local.get $range + local.set $dest + i32.const 0 i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + i32.le_s + drop i32.const 1 - i32.and - i32.sub - local.get $presorted - i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - f64.store $0 offset=16 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $max - f64.store $0 offset=16 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - f64.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $min - f64.store $0 offset=8 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp f64) - local.get $i - local.get $right - i32.eq + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 10 + i32.lt_u if - local.get $i + local.get $dest + local.get $value + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add return end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $ptr - local.get $j + i32.const 0 + local.set $decimals + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - local.tee $j - i32.const 3 + return + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + i32.const 0 + local.set $sign + i32.const 0 + drop + local.get $buffer + local.get $sign + i32.const 1 i32.shl i32.add - f64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.set $dest i32.const 0 - i32.gt_s + i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $value + i32.const 10 + i32.lt_u if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $tmp - f64.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end + local.get $buffer + local.get $value + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end - local.get $j - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a f64) - (local $b f64) - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + i32.const 0 + local.set $decimals + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s + return + ) + (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) + (local $one_exp i32) + (local $one_frc i64) + (local $mask i64) + (local $wp_w_frc i64) + (local $p1 i32) + (local $p2 i64) + (local $kappa i32) + (local $len i32) + (local $d i32) + (local $16 i32) + (local $17 i32) + (local $tmp i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) + (local $rest i64) + (local $ten_kappa i64) + (local $wp_w i64) + (local $lastp i32) + (local $digit i32) + (local $d|27 i64) + (local $28 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) + i32.const 0 + local.get $mp_exp + i32.sub + local.set $one_exp + i64.const 1 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $one_frc + local.get $one_frc + i64.const 1 + i64.sub + local.set $mask + local.get $mp_frc + local.get $w_frc + i64.sub + local.set $wp_w_frc + local.get $mp_frc + local.get $one_exp + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.set $p1 + local.get $mp_frc + local.get $mask + i64.and + local.set $p2 + local.get $p1 + call $~lib/util/number/decimalCount32 + local.set $kappa + local.get $sign + local.set $len + loop $while-continue|0 + local.get $kappa + i32.const 0 + i32.gt_s if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - f64.store $0 - local.get $j + 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 $kappa + local.set $16 + local.get $16 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $16 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $16 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $16 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $16 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $16 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $16 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $16 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $16 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $16 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $p1 + i32.const 1000000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 1000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 1000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100 + i32.div_u + local.set $d + local.get $p1 + i32.const 100 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10 + i32.div_u + local.set $d + local.get $p1 + i32.const 10 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + local.set $d + i32.const 0 + local.set $p1 + br $break|1 + end + i32.const 0 + local.set $d + br $break|1 + end + local.get $d + local.get $len + i32.or + if + local.get $buffer + local.get $len + local.tee $17 + i32.const 1 + i32.add + local.set $len + local.get $17 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $d + i32.const 65535 + i32.and + i32.add + i32.store16 $0 + end + local.get $kappa i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end - end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $buffer - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s + i32.sub + local.set $kappa + local.get $p1 + i64.extend_i32_u + local.get $one_exp + i64.extend_i32_s + i64.shl + local.get $p2 + i64.add + local.set $tmp + local.get $tmp + local.get $delta + i64.le_u if - local.get $ptr - local.get $k - i32.const 3 + global.get $~lib/util/number/_K + local.get $kappa + i32.add + global.set $~lib/util/number/_K + local.get $buffer + local.set $buffer|19 + local.get $len + local.set $len|20 + local.get $delta + local.set $delta|21 + local.get $tmp + local.set $rest + i32.const 12368 + local.get $kappa + i32.const 2 i32.shl i32.add - local.get $a - f64.store $0 - local.get $j + i64.load32_u $0 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $ten_kappa + local.get $wp_w_frc + local.set $wp_w + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $b - f64.store $0 - local.get $i i32.const 1 + i32.shl i32.add - local.set $i + local.set $lastp + local.get $lastp + i32.load16_u $0 + local.set $digit + loop $while-continue|3 + local.get $rest + local.get $wp_w + i64.lt_u + if (result i32) + local.get $delta|21 + local.get $rest + i64.sub + local.get $ten_kappa + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w + local.get $rest + i64.sub + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.sub + i64.gt_u + end + else + i32.const 0 + end + if + local.get $digit + i32.const 1 + i32.sub + local.set $digit + local.get $rest + local.get $ten_kappa + i64.add + local.set $rest + br $while-continue|3 + end + end + local.get $lastp + local.get $digit + i32.store16 $0 + local.get $len + return end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 + br $while-continue|0 end end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a f64) - (local $b f64) - (local $c i32) - (local $a|7 f64) - (local $b|8 f64) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if - local.get $len + loop $while-continue|4 i32.const 1 - i32.le_s if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - f64.load $0 - local.set $a - local.get $ptr - f64.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + local.get $p2 + i64.const 10 + i64.mul + local.set $p2 + local.get $delta + i64.const 10 + i64.mul + local.set $delta + local.get $p2 + local.get $one_exp + i64.extend_i32_s + i64.shr_u + local.set $d|27 + local.get $d|27 + local.get $len + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if + local.get $buffer + local.get $len + local.tee $28 + i32.const 1 + i32.add + local.set $len + local.get $28 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $d|27 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.add + i32.store16 $0 + end + local.get $p2 + local.get $mask + i64.and + local.set $p2 + local.get $kappa + i32.const 1 + i32.sub + local.set $kappa + local.get $p2 + local.get $delta + i64.lt_u + if + global.get $~lib/util/number/_K + local.get $kappa + i32.add + global.set $~lib/util/number/_K + local.get $wp_w_frc + i32.const 12368 i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f64.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - f64.load $0 offset=16 - local.set $b - local.get $a - local.get $b + local.get $kappa + i32.sub i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f64.store $0 offset=8 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - f64.store $0 offset=16 + i32.shl + i32.add + i64.load32_u $0 + i64.mul + local.set $wp_w_frc + local.get $buffer + local.set $buffer|29 + local.get $len + local.set $len|30 + local.get $delta + local.set $delta|31 + local.get $p2 + local.set $rest|32 + local.get $one_frc + local.set $ten_kappa|33 + local.get $wp_w_frc + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $lastp|35 + local.get $lastp|35 + i32.load16_u $0 + local.set $digit|36 + loop $while-continue|6 + local.get $rest|32 + local.get $wp_w|34 + i64.lt_u + if (result i32) + local.get $delta|31 + local.get $rest|32 + i64.sub + local.get $ten_kappa|33 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.get $wp_w|34 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w|34 + local.get $rest|32 + i64.sub + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.get $wp_w|34 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + if + local.get $digit|36 + i32.const 1 + i32.sub + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.set $rest|32 + br $while-continue|6 + end + end + local.get $lastp|35 + local.get $digit|36 + i32.store16 $0 + local.get $len + return end - local.get $ptr - f64.load $0 - local.set $a|7 - local.get $ptr - f64.load $0 offset=8 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - f64.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - f64.store $0 offset=8 - return + br $while-continue|4 end - local.get $ptr - i32.const 0 - local.get $len + end + unreachable + ) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) + (local $kk i32) + (local $i i32) + (local $ptr i32) + (local $offset i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) + (local $sign i32) + (local $decimals i32) + (local $buffer|12 i32) + (local $num i32) + (local $offset|14 i32) + (local $len i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) + local.get $k + i32.eqz + if + local.get $buffer + local.get $length i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $length + i32.const 2 + i32.add return end - block $~lib/util/sort/log2u|inlined.1 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.1 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + local.get $length + local.get $k i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end + local.set $kk + local.get $length + local.get $kk + i32.le_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else + i32.const 0 end - local.get $len - i32.const 3 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s if - local.get $hi - local.tee $20 - i32.const 32 + local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $kk + i32.lt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $buffer + local.get $kk i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $kk + i32.const 2 + i32.add + return + else + local.get $kk i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s + i32.gt_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else + i32.const 0 + end if - local.get $endA + local.get $buffer + local.get $kk i32.const 1 + i32.shl i32.add - local.set $startB + local.set $ptr local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB + i32.const 2 + i32.add + local.get $ptr + i32.const 0 + local.get $k i32.sub i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $buffer + local.get $kk + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.store16 $0 + local.get $length + i32.const 1 i32.add - local.set $lenB - local.get $lenB - i32.const 32 + return + else + i32.const -6 + local.get $kk i32.lt_s + if (result i32) + local.get $kk + i32.const 0 + i32.le_s + else + i32.const 0 + end if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + i32.const 2 + local.get $kk + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl i32.add + local.get $buffer + local.get $length i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne + i32.shl + memory.copy $0 $0 + local.get $buffer + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store $0 + i32.const 2 + local.set $i|7 + loop $for-loop|1 + local.get $i|7 + local.get $offset + i32.lt_s if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 + local.get $buffer + local.get $i|7 + i32.const 1 i32.shl i32.add - i32.load $0 + i32.const 48 + i32.store16 $0 + local.get $i|7 i32.const 1 i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 + local.set $i|7 + br $for-loop|1 end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 + local.get $length + local.get $offset i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end - end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) - (local $ia i64) - (local $ib i64) - local.get $a - i64.reinterpret_f64 - local.set $ia - local.get $b - i64.reinterpret_f64 - local.set $ib - local.get $ia - local.get $ia - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $ia - local.get $ib - local.get $ib - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $ib - local.get $ia - local.get $ib - i64.gt_s - local.get $ia - local.get $ib - i64.lt_s - i32.sub - return - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $value f64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) - (local $i i32) - (local $4 f64) - (local $5 f64) - (local $x f64) - (local $x|7 f64) - local.get $len - i32.eqz - if - local.get $a - call $~lib/array/Array#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array#get:length - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $b - i32.eq - if - i32.const 1 - return - end - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - block $for-continue|0 + return + else + local.get $length i32.const 1 - drop - local.get $a - local.get $i - call $~lib/array/Array#__get - local.tee $4 - local.get $4 - f64.ne - if (result i32) - local.get $b - local.get $i - call $~lib/array/Array#__get - local.tee $5 - local.get $5 - f64.ne - else - i32.const 0 - end - if - br $for-continue|0 - end - block $~lib/math/NativeMath.signbit|inlined.2 (result i32) - local.get $a - local.get $i - call $~lib/array/Array#__get - local.set $x - local.get $x - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - br $~lib/math/NativeMath.signbit|inlined.2 - end - i32.const 0 - i32.ne - block $~lib/math/NativeMath.signbit|inlined.3 (result i32) - local.get $b - local.get $i - call $~lib/array/Array#__get - local.set $x|7 - local.get $x|7 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - br $~lib/math/NativeMath.signbit|inlined.3 - end - i32.const 0 - i32.ne - i32.ne - if - i32.const 0 - return - end - local.get $a - local.get $i - call $~lib/array/Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - f64.ne + i32.eq if - i32.const 0 - return - end - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted - i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl + local.get $buffer + i32.const 101 + i32.store16 $0 offset=2 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 i32.add - i32.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.set $buffer|8 + local.get $kk + i32.const 1 + i32.sub + local.set $k|9 + local.get $k|9 i32.const 0 - i32.gt_s + i32.lt_s + local.set $sign + local.get $sign if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 + i32.const 0 + local.get $k|9 i32.sub - local.set $j - else - br $while-break|1 + local.set $k|9 end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 i32.add - i32.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq - if - local.get $i - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end - end - local.get $j - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m - i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end - end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $buffer - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $b - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i + local.set $length + local.get $length + i32.const 2 + i32.add + return + else + local.get $length + i32.const 1 + i32.shl + local.set $len + local.get $buffer + i32.const 4 + i32.add + local.get $buffer + i32.const 2 + i32.add + local.get $len + i32.const 2 + i32.sub + memory.copy $0 $0 + local.get $buffer + i32.const 46 + i32.store16 $0 offset=2 + local.get $buffer + local.get $len + i32.add + i32.const 101 + i32.store16 $0 offset=2 + local.get $length + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 + i32.sub + local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 + end + i32.add + local.set $length + local.get $length + i32.const 2 + i32.add + return + end + unreachable end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 + unreachable end + unreachable end + unreachable ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) + (local $value|3 f64) + (local $buffer|4 i32) + (local $sign|5 i32) + (local $uv i64) + (local $exp i32) + (local $sid i64) + (local $frc i64) + (local $f i64) + (local $e i32) + (local $frc|12 i64) + (local $exp|13 i32) + (local $off i32) + (local $m i32) + (local $minExp i32) + (local $dk f64) (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (local $index i32) + (local $off|20 i32) + (local $frc_pow i64) + (local $exp_pow i32) + (local $u i64) + (local $v i64) + (local $u0 i64) + (local $v0 i64) + (local $u1 i64) + (local $v1 i64) + (local $l i64) + (local $t i64) + (local $w i64) + (local $w_frc i64) + (local $e1 i32) + (local $e2 i32) + (local $w_exp i32) + (local $u|36 i64) + (local $v|37 i64) + (local $u0|38 i64) + (local $v0|39 i64) + (local $u1|40 i64) + (local $v1|41 i64) + (local $l|42 i64) + (local $t|43 i64) + (local $w|44 i64) + (local $wp_frc i64) + (local $e1|46 i32) + (local $e2|47 i32) + (local $wp_exp i32) + (local $u|49 i64) + (local $v|50 i64) + (local $u0|51 i64) + (local $v0|52 i64) + (local $u1|53 i64) + (local $v1|54 i64) + (local $l|55 i64) + (local $t|56 i64) + (local $w|57 i64) + (local $wm_frc i64) + (local $delta i64) + (local $len i32) + local.get $value + f64.const 0 + f64.lt + local.set $sign + local.get $sign if - local.get $len - i32.const 1 - i32.le_s - if - return - end + local.get $value + f64.neg + local.set $value + local.get $buffer + i32.const 45 + i32.store16 $0 + end + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load $0 - local.set $a - local.get $ptr - i32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end - local.get $ptr - i32.load $0 - local.set $a|7 - local.get $ptr - i32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.2 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 i32.sub - br $~lib/util/sort/log2u|inlined.2 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 11496 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 12192 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 + i32.const 64 i32.add - local.set $i - br $for-loop|1 + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 end - local.get $len - i32.const 2 + local.set $len + local.get $buffer + local.get $sign + i32.const 1 i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer + i32.add local.get $len - i32.const 1 + local.get $sign i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $len + local.get $len + local.get $sign i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + return + ) + (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) + local.get $value + f64.const 0 + f64.eq if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end + local.get $buffer + i32.const 48 + i32.store16 $0 + local.get $buffer + i32.const 46 + i32.store16 $0 offset=2 + local.get $buffer + i32.const 48 + i32.store16 $0 offset=4 + i32.const 3 + return end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value + local.get $value + f64.ne if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne + local.get $buffer + i32.const 78 + i32.store16 $0 + local.get $buffer + i32.const 97 + i32.store16 $0 offset=2 + local.get $buffer + i32.const 78 + i32.store16 $0 offset=4 + i32.const 3 + return + else + local.get $value + f64.const 0 + f64.lt + local.set $sign + local.get $sign if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 + local.get $buffer + i32.const 45 + i32.store16 $0 + local.get $buffer i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $buffer end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 + local.get $buffer + i64.const 29555310648492105 + i64.store $0 + local.get $buffer + i64.const 34058970405077102 + i64.store $0 offset=8 + i32.const 8 + local.get $sign + i32.add + return end + unreachable end local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free + local.get $value + call $~lib/util/number/dtoa_core + return ) - (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + (func $std/array/Ref#toString (type $i32_=>_i32) (param $this i32) (result i32) + i32.const 12608 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 + local.set $sign i32.const 1 - i32.ge_s drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted + local.get $value + i32.extend8_s i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 1 + i32.const 1 + i32.eq + drop + local.get $value + i32.extend8_s + i32.const -128 + i32.eq if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i + local.get $buffer + i32.const 45 + i64.extend_i32_s + i32.const 48 i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j + i64.extend_i32_s + i64.const 16 + i64.shl + i64.or + i32.const 48 i32.const 2 - i32.shl i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 + i64.extend_i32_s + i64.const 32 + i64.shl + i64.or + i32.const 48 + i32.const 8 i32.add - local.set $i - br $for-loop|0 + i64.extend_i32_s + i64.const 48 + i64.shl + i64.or + i64.store $0 + i32.const 4 + return end + i32.const 1 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $value + i32.sub + local.set $value end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest + 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 $value + i32.extend8_s + i32.const 10 + i32.lt_u if - local.get $i + local.get $dest + local.get $value + i32.extend8_s + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add return end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $ptr - local.get $j + i32.const 0 + local.set $decimals + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend8_s + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - local.tee $j - i32.const 2 + return + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + i32.const 0 + local.set $sign + i32.const 0 + drop + local.get $buffer + local.get $sign + i32.const 1 i32.shl i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.set $dest i32.const 0 - i32.gt_s + i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $value + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end + local.get $buffer + local.get $value + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end - local.get $j - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m + i32.const 0 + local.set $decimals + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 65535 + i32.and + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - local.set $t - local.get $m + return + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + i32.const 0 + local.set $sign i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s + drop + local.get $value + i32.extend16_s + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.extend16_s + i32.const -32768 + i32.eq if local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl + i32.const 45 + i64.extend_i32_s + i32.const 48 + i32.const 3 i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub + i64.extend_i32_s + i64.const 16 + i64.shl + i64.or + i32.const 48 i32.const 2 - i32.shl i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if + i64.extend_i32_s + i64.const 32 + i64.shl + i64.or + i32.const 48 + i32.const 7 + i32.add + i64.extend_i32_s + i64.const 48 + i64.shl + i64.or + i64.store $0 local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl + i32.const 8 i32.add - local.get $ptr - local.get $j - i32.const 2 + i32.const 48 + i32.const 6 + i32.add + i32.const 0 i32.shl + i32.const 48 + i32.const 8 i32.add - i32.load $0 offset=4 + i32.const 16 + i32.shl + i32.or i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 + i32.const 6 + return end + local.get $buffer + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $value + i32.sub + local.set $value end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest + 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 $value + i32.extend16_s + i32.const 10 + i32.lt_u + if + local.get $dest + local.get $value + i32.extend16_s + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add + return + end + i32.const 0 + local.set $decimals + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend16_s + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals + i32.add + return + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) + local.get $value + i64.const 1000000000000000 + i64.lt_u + if + local.get $value + i64.const 1000000000000 + i64.lt_u if - local.get $buffer - local.get $j - i32.const 2 - i32.shl + i32.const 10 + local.get $value + i64.const 100000000000 + i64.ge_u i32.add - i32.load $0 - local.set $a - local.get $buffer - local.get $i - i32.const 2 - i32.shl + local.get $value + i64.const 10000000000 + i64.ge_u i32.add - i32.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $b - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - end - local.get $k - i32.const 1 + return + else + i32.const 13 + local.get $value + i64.const 100000000000000 + i64.ge_u i32.add - local.set $k - br $for-loop|2 + local.get $value + i64.const 10000000000000 + i64.ge_u + i32.add + return end - end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if - local.get $len - i32.const 1 - i32.le_s + unreachable + else + local.get $value + i64.const 100000000000000000 + i64.lt_u if + i32.const 16 + local.get $value + i64.const 10000000000000000 + i64.ge_u + i32.add return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load $0 - local.set $a - local.get $ptr - i32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end - local.get $ptr - i32.load $0 - local.set $a|7 - local.get $ptr - i32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 + else + i32.const 18 + local.get $value + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $value + i64.const 1000000000000000000 + i64.ge_u + i32.add return end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.3 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.3 + unreachable end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u + unreachable + ) + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) + (local $t i64) + (local $r i32) + (local $b i32) + (local $c i32) + (local $b1 i32) + (local $b2 i32) + (local $c1 i32) + (local $c2 i32) + (local $digits1 i64) + (local $digits2 i64) + loop $while-continue|0 + local.get $num + i64.const 100000000 + i64.ge_u if - local.get $leftRunStartBuf - local.get $i + local.get $num + i64.const 100000000 + i64.div_u + local.set $t + local.get $num + local.get $t + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 10000 + i32.div_u + local.set $b + local.get $r + i32.const 10000 + i32.rem_u + local.set $c + local.get $b + i32.const 100 + i32.div_u + local.set $b1 + local.get $b + i32.const 100 + i32.rem_u + local.set $b2 + local.get $c + i32.const 100 + i32.div_u + local.set $c1 + local.get $c + i32.const 100 + i32.rem_u + local.set $c2 + i32.const 6700 + local.get $c1 i32.const 2 i32.shl i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 + i64.load32_u $0 + local.set $digits1 + i32.const 6700 + local.get $c2 + i32.const 2 + i32.shl i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 i32.sub + local.set $offset + local.get $buffer + local.get $offset i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 i32.shl i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + i32.const 6700 + local.get $b1 i32.const 2 i32.shl i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 + i64.load32_u $0 + local.set $digits1 + i32.const 6700 + local.get $b2 i32.const 2 i32.shl i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 i32.sub - local.set $i|32 - br $for-loop|4 + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end end local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.gt_u - local.get $a - local.get $b - i32.lt_u - i32.sub + local.get $num + i32.wrap_i64 + local.get $offset + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/math/NativeMath.random (type $none_=>_f64) (result f64) - (local $s1 i64) - (local $s0 i64) - (local $r i64) - global.get $~lib/math/random_seeded - i32.eqz + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + (local $val64 i64) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) + i32.const 0 + local.set $sign + i32.const 0 + drop + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest + i32.const 0 + i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $value + i64.const 10 + i64.lt_u if - call $~lib/builtins/seed - i64.reinterpret_f64 - call $~lib/math/NativeMath.seedRandom + local.get $buffer + local.get $value + i32.const 48 + i64.extend_i32_s + i64.or + i64.store16 $0 + i32.const 1 + return end - global.get $~lib/math/random_state0_64 - local.set $s1 - global.get $~lib/math/random_state1_64 - local.set $s0 - local.get $s0 - global.set $~lib/math/random_state0_64 - local.get $s1 - local.get $s1 - i64.const 23 - i64.shl - i64.xor - local.set $s1 - local.get $s1 - local.get $s1 - i64.const 17 - i64.shr_u - i64.xor - local.set $s1 - local.get $s1 - local.get $s0 - i64.xor - local.set $s1 - local.get $s1 - local.get $s0 - i64.const 26 - i64.shr_u - i64.xor - local.set $s1 - local.get $s1 - global.set $~lib/math/random_state1_64 - local.get $s0 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or - local.set $r - local.get $r - f64.reinterpret_i64 - f64.const 1 - f64.sub + i32.const 0 + local.set $decimals + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + local.set $val64 + local.get $val64 + call $~lib/util/number/decimalCount64High + local.set $decimals + local.get $dest + local.set $buffer|10 + local.get $val64 + local.set $num|11 + local.get $decimals + local.set $offset|12 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut + end + local.get $sign + local.get $decimals + i32.add return ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/array/isSorted (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) - (local $i i32) - (local $len i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + (local $val64 i64) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) + i32.const 0 + local.set $sign i32.const 1 - local.set $i - local.get $data - call $~lib/array/Array#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $data - local.get $i - i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.get $data - local.get $i - call $~lib/array/Array#__get - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + drop + local.get $value + i64.const 0 + i64.lt_s + local.set $sign + local.get $sign + if + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 + i64.const 0 + local.get $value + i64.sub + local.set $value end + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest + 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 $value + i64.const 10 + i64.lt_u + if + local.get $dest + local.get $value + i32.const 48 + i64.extend_i32_s + i64.or + i64.store16 $0 + i32.const 1 + local.get $sign + i32.add + return + end + i32.const 0 + local.set $decimals + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + local.set $val64 + local.get $val64 + call $~lib/util/number/decimalCount64High + local.set $decimals + local.get $dest + local.set $buffer|10 + local.get $val64 + local.set $num|11 + local.get $decimals + local.set $offset|12 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut + end + local.get $sign + local.get $decimals + i32.add return ) - (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end + (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $start - local.get $end - call $~lib/array/Array#slice + i32.load $0 offset=12 ) - (func $std/array/Dim#get:height (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - i32.load $0 + local.get $length_ + i32.store $0 offset=12 ) - (func $std/array/assertStableSortedForComplexObjects~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/array/Dim#get:height - local.get $b - call $std/array/Dim#get:height - i32.sub + (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + i32.const 0 + local.set $sign i32.const 0 - i32.const 1 - i32.ge_s drop - local.get $right - local.get $left - i32.sub + local.get $buffer + local.get $sign i32.const 1 + i32.shl i32.add - local.set $range - local.get $left - local.get $range + local.set $dest + i32.const 0 i32.const 1 + i32.le_s + drop + i32.const 0 + drop + local.get $value + i32.const 255 i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + i32.const 10 + i32.lt_u + if + local.get $buffer + local.get $value + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return + end + i32.const 0 + local.set $decimals i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 255 i32.and - i32.sub - local.get $presorted + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 - i32.eq - select + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.tee $b - i32.store $0 offset=4 - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + return + ) + (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/rt/itcms/__collect (type $none_=>_none) + 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.le_s + i32.ne if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end + call $~lib/rt/itcms/step + drop + br $while-continue|0 end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m - i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + call $~lib/rt/itcms/step + drop + br $while-continue|1 end end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (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 - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $buffer - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $b - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 - end + global.get $std/array/charset + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + global.get $std/array/inputStabArr + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/array/outputStabArr + 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 1616 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 5392 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 128 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 7120 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 8176 + local.get $0 + call $~lib/rt/itcms/__visit ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - local.get $len - i32.const 48 - i32.le_s + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 if - local.get $len - i32.const 1 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=4 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $a - local.get $b - local.get $c - select - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=8 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 - local.tee $a|7 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=4 - local.tee $b|8 - i32.store $0 offset=12 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - block $~lib/util/sort/log2u|inlined.4 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.4 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $this - call $~lib/array/Array#get:length_ - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $std/array/Dim#get:width (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit ) - (func $start:std/array~anonymous|48 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 ) - (func $start:std/array~anonymous|49 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - local.get $a - i32.sub + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $start:std/array~anonymous|50 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 ) - (func $start:std/array~anonymous|51 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - local.get $a - i32.sub + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/array/Array<~lib/array/Array>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link + i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $dataStart - i32.store $0 offset=4 + i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $byteLength - i32.store $0 offset=8 + i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $length_ - i32.store $0 offset=12 + i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load $0 ) - (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit + ) + (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array>#__visit + ) + (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#__visit + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit + ) + (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> + 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/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<%28std/array/Dim%2Cstd/array/Dim%29=>i32> + 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/array/Array + block $std/array/Dim + 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=>~lib/string/String> + block $~lib/array/Array<~lib/string/String> + 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/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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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/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/array/Array<~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String> $~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> $std/array/Dim $~lib/array/Array $~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/function/Function<%28std/array/Dim%2Cstd/array/Dim%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/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>> $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> $invalid + end + return + 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/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/array/Array<~lib/string/String>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~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 + 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<%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/function/Function<%28std/array/Dim%2Cstd/array/Dim%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/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 $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit + return + end + unreachable + ) + (func $~start (type $none_=>_none) + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std/array + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 47968 + i32.const 48016 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $std/array/Ref#constructor (type $i32_i32_=>_i32) (param $this i32) (param $v 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $v + call $std/array/Ref#set:v + local.get $this + 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/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $length + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 576 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + local.get $alignLog2 + i32.shl + local.tee $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $length + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i 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 $0 + local.get $len + i32.eqz + if + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + local.set $len + local.get $len + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 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 + local.get $a + local.get $b + i32.eq + if + i32.const 1 + 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 + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + i32.const 0 + drop + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.ne + if + i32.const 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + 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#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + 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/array/Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i 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 $0 + local.get $len + i32.eqz + if + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + local.set $len + local.get $len + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 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 + local.get $a + local.get $b + i32.eq + if + i32.const 1 + 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 + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + i32.const 0 + drop + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.ne + if + i32.const 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + 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#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + 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/array/Array#fill (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end 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 $0 + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $value f32) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i i32) + (local $4 f32) + (local $5 f32) + (local $x f64) + (local $x|7 f64) + (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 $0 + local.get $len + i32.eqz + if + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length + local.set $len + local.get $len + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length + i32.ne + 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 $a + local.get $b + i32.eq + if + i32.const 1 + 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 + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + block $for-continue|0 + i32.const 1 + drop + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.tee $4 + local.get $4 + f32.ne + if (result i32) + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f32.ne + else + i32.const 0 + end + if + br $for-continue|0 + end + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + f64.promote_f32 + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end + i32.const 0 + i32.ne + block $~lib/math/NativeMath.signbit|inlined.1 (result i32) + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + f64.promote_f32 + local.set $x|7 + local.get $x|7 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.1 + end + i32.const 0 + i32.ne + i32.ne + 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 $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + f32.ne + 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 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#fill@varargs (type $i32_f32_i32_i32_=>_i32) (param $this i32) (param $value f32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/array/Array#fill + 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/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/array/internalCapacity (type $i32_=>_i32) (param $array i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.tee $buffer + i32.store $0 offset=4 + local.get $buffer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $len + call $~lib/array/Array#set:length_ + local.get $len + 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#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#pop (type $i32_=>_i32) (param $this i32) (result i32) + (local $len i32) + (local $val 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 1 + i32.lt_s + if + i32.const 1616 + i32.const 80 + i32.const 271 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $len + i32.const 1 + i32.sub + local.tee $len + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $val + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $len + call $~lib/array/Array#set:length_ + local.get $val + 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 (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len i32) + (local $value 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + local.get $index + i32.const 0 + local.get $len + local.get $index + i32.const 0 + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 143 + i32.const 33 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisLen i32) + (local $otherLen i32) + (local $outLen i32) + (local $out i32) + (local $outStart i32) + (local $thisSize 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $thisLen + local.get $other + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $otherLen + local.get $thisLen + local.get $otherLen + i32.add + local.set $outLen + local.get $outLen + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 224 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $outLen + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:dataStart + local.set $outStart + local.get $thisLen + i32.const 2 + i32.shl + local.set $thisSize + i32.const 0 + drop + local.get $outStart + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $thisSize + memory.copy $0 $0 + local.get $outStart + local.get $thisSize + i32.add + local.get $other + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $otherLen + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $out + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $to i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $from i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $last i32) + (local $23 i32) + (local $24 i32) + (local $count i32) + (local $26 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 + local.get $26 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 + local.get $26 + call $~lib/array/Array#get:length_ + local.set $len + local.get $end + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $end + local.get $target + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $target + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $target + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $to + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $13 + i32.const 0 + local.tee $14 + local.get $13 + local.get $14 + i32.gt_s + select + else + local.get $start + local.tee $15 + local.get $len + local.tee $16 + local.get $15 + local.get $16 + i32.lt_s + select + end + local.set $from + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end + i32.add + local.tee $18 + i32.const 0 + local.tee $19 + local.get $18 + local.get $19 + i32.gt_s + select + else + local.get $end + local.tee $20 + local.get $len + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + end + local.set $last + local.get $last + local.get $from + i32.sub + local.tee $23 + local.get $len + local.get $to + i32.sub + local.tee $24 + local.get $23 + local.get $24 + i32.lt_s + select + local.set $count + local.get $ptr + local.get $to + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $from + i32.const 2 + i32.shl + i32.add + local.get $count + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $26 + return + ) + (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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 $0 + 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 $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $target + local.get $start + local.get $end + call $~lib/array/Array#copyWithin + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i 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 $0 + local.get $len + i32.eqz + if + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + local.set $len + local.get $len + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 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 + local.get $a + local.get $b + i32.eq + if + i32.const 1 + 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 + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + i32.const 0 + drop + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.ne + if + i32.const 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + 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#unshift (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $len i32) + (local $ptr 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $ptr + i32.const 4 + i32.add + local.get $ptr + local.get $len + i32.const 1 + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $ptr + local.get $value + i32.store $0 + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $len + call $~lib/array/Array#set:length_ + local.get $len + 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#shift (type $i32_=>_i32) (param $this i32) (result i32) + (local $len i32) + (local $base i32) + (local $element i32) + (local $lastIndex 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 1 + i32.lt_s + if + i32.const 1616 + i32.const 80 + i32.const 330 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $base + local.get $base + i32.load $0 + local.set $element + local.get $len + i32.const 1 + i32.sub + local.set $lastIndex + local.get $base + local.get $base + i32.const 4 + i32.add + local.get $lastIndex + i32.const 2 + i32.shl + memory.copy $0 $0 + i32.const 0 + drop + local.get $base + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.const 0 + i32.store $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $lastIndex + call $~lib/array/Array#set:length_ + local.get $element + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len 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 $slice i32) + (local $sliceBase i32) + (local $thisBase i32) + (local $17 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:length_ + local.set $len + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $start + local.get $len + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $end + local.get $len + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $end + local.get $end + local.get $start + i32.sub + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $slice + i32.store $0 offset=4 + local.get $slice + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $sliceBase + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.set $thisBase + i32.const 0 + drop + local.get $sliceBase + local.get $thisBase + local.get $len + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $slice + local.set $17 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $17 + return + ) + (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $end + call $~lib/array/Array#slice + 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#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $ptr 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 $0 + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $len + i32.ge_s + end + if + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + local.get $len + i32.lt_s + if + local.get $ptr + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $value + i32.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + 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 + return + ) + (func $~lib/array/Array#indexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $ptr 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 $0 + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $len + i32.ge_s + end + if + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + local.get $len + i32.lt_s + if + local.get $ptr + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $value + f32.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + 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 + return + ) + (func $~lib/array/Array#indexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $ptr 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 $0 + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $len + i32.ge_s + end + if + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + local.get $len + i32.lt_s + if + local.get $ptr + local.get $fromIndex + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $value + f64.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + 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 + return + ) + (func $~lib/array/Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) + (local $len i32) + (local $ptr 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + 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 + local.get $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.set $fromIndex + else + local.get $fromIndex + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $fromIndex + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $value + i32.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.sub + local.set $fromIndex + br $while-continue|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 + return + ) + (func $~lib/array/Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $value + local.get $fromIndex + call $~lib/array/Array#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 $~lib/array/Array#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $0 + i32.const 0 + drop + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $value + local.get $fromIndex + 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#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $ptr i32) + (local $elem f32) + (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 $0 + i32.const 1 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $len + i32.ge_s + end + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + local.get $len + i32.lt_s + if + local.get $ptr + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $elem + local.get $elem + local.get $value + f32.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f32.ne + local.get $value + local.get $value + f32.ne + i32.and + end + if + i32.const 1 + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + end + 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 + ) + (func $~lib/array/Array#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $ptr i32) + (local $elem f64) + (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 $0 + i32.const 1 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $len + i32.ge_s + end + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $len + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:dataStart + local.set $ptr + loop $while-continue|0 + local.get $fromIndex + local.get $len + i32.lt_s + if + local.get $ptr + local.get $fromIndex + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $elem + local.get $elem + local.get $value + f64.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f64.ne + local.get $value + local.get $value + f64.ne + i32.and + end + if + i32.const 1 + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + end + 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 + ) + (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) + (local $len 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 $result i32) + (local $resultStart i32) + (local $thisStart i32) + (local $thisBase i32) + (local $offset i32) + (local $17 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:length_ + local.set $len + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $deleteCount + local.tee $8 + local.get $len + local.get $start + i32.sub + local.tee $9 + local.get $8 + local.get $9 + i32.lt_s + select + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + local.set $deleteCount + global.get $~lib/memory/__stack_pointer + local.get $deleteCount + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store $0 offset=4 + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $resultStart + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $thisStart + local.get $thisStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.set $thisBase + local.get $resultStart + local.get $thisBase + local.get $deleteCount + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $start + local.get $deleteCount + i32.add + local.set $offset + local.get $len + local.get $offset + i32.ne + if + local.get $thisBase + local.get $thisStart + local.get $offset + i32.const 2 + i32.shl + i32.add + local.get $len + local.get $offset + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 + end + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + local.get $len + local.get $deleteCount + i32.sub + call $~lib/array/Array#set:length_ + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $17 + return + ) + (func $~lib/array/Array#splice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount 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 $0 + 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 $deleteCount + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $deleteCount + call $~lib/array/Array#splice + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) + (local $len 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 $result i32) + (local $resultStart i32) + (local $thisStart i32) + (local $thisBase i32) + (local $offset i32) + (local $17 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:length_ + local.set $len + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $deleteCount + local.tee $8 + local.get $len + local.get $start + i32.sub + local.tee $9 + local.get $8 + local.get $9 + i32.lt_s + select + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + local.set $deleteCount + global.get $~lib/memory/__stack_pointer + local.get $deleteCount + i32.const 2 + i32.const 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store $0 offset=4 + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $resultStart + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $thisStart + local.get $thisStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.set $thisBase + local.get $resultStart + local.get $thisBase + local.get $deleteCount + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $start + local.get $deleteCount + i32.add + local.set $offset + local.get $len + local.get $offset + i32.ne + if + local.get $thisBase + local.get $thisStart + local.get $offset + i32.const 2 + i32.shl + i32.add + local.get $len + local.get $offset + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 + end + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + local.get $len + local.get $deleteCount + i32.sub + call $~lib/array/Array#set:length_ + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $17 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 5392 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) + (local $len 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 $result i32) + (local $resultStart i32) + (local $thisStart i32) + (local $thisBase i32) + (local $offset i32) + (local $17 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:length_ + local.set $len + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $deleteCount + local.tee $8 + local.get $len + local.get $start + i32.sub + local.tee $9 + local.get $8 + local.get $9 + i32.lt_s + select + local.tee $10 + i32.const 0 + local.tee $11 + local.get $10 + local.get $11 + i32.gt_s + select + local.set $deleteCount + global.get $~lib/memory/__stack_pointer + local.get $deleteCount + i32.const 2 + i32.const 13 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store $0 offset=4 + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $resultStart + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + call $~lib/array/Array#get:dataStart + local.set $thisStart + local.get $thisStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.set $thisBase + local.get $resultStart + local.get $thisBase + local.get $deleteCount + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $start + local.get $deleteCount + i32.add + local.set $offset + local.get $len + local.get $offset + i32.ne + if + local.get $thisBase + local.get $thisStart + local.get $offset + i32.const 2 + i32.shl + i32.add + local.get $len + local.get $offset + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 + end + local.get $this + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 + local.get $len + local.get $deleteCount + i32.sub + call $~lib/array/Array#set:length_ + local.get $result + local.set $17 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $17 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $start:std/array~anonymous|3 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + local.get $value + 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 + return + ) + (func $start:std/array~anonymous|5 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + local.get $value + 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 + return + ) + (func $~lib/array/Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $start:std/array~anonymous|9 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + local.get $value + 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 + return + ) + (func $~lib/array/Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + if + i32.const 0 + 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $start:std/array~anonymous|12 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + local.get $value + 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 + return + ) + (func $start:std/array~anonymous|14 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + local.get $value + 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 + return + ) + (func $~lib/array/Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $start:std/array~anonymous|17 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + local.get $value + 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 + return + ) + (func $start:std/array~anonymous|19 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + local.get $value + 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 + return + ) + (func $~lib/array/Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length_ + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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/array~anonymous|21 (type $i32_i32_i32_=>_none) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $value + 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|23 (type $i32_i32_i32_=>_none) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $value + 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|24 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $array i32) + (local $i i32) + (local $i|4 i32) + (local $i|5 i32) + (local $i|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 $0 + local.get $index + i32.const 0 + i32.eq + if + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + i32.const 4 + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#pop + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $i|4 + loop $for-loop|1 + local.get $i|4 + i32.const 100 + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 100 + local.get $i|4 + i32.add + call $~lib/array/Array#push + drop + local.get $i|4 + i32.const 1 + i32.add + local.set $i|4 + br $for-loop|1 + end + end + i32.const 0 + local.set $i|5 + loop $for-loop|2 + local.get $i|5 + i32.const 100 + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#pop + drop + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|2 + end + end + i32.const 0 + local.set $i|6 + loop $for-loop|3 + local.get $i|6 + i32.const 100 + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $i|6 + i32.const 200 + i32.add + call $~lib/array/Array#push + drop + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|3 + end + end + end + local.get $index + i32.const 2 + i32.eq + if + local.get $value + i32.const 202 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 767 + 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<~lib/string/String> (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $len i32) + (local $out i32) + (local $outStart i32) + (local $i i32) + (local $6 i32) + (local $7 i32) + (local $result 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 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 16 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $outStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + local.tee $result + i32.store $0 offset=16 + local.get $outStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $result + i32.store $0 + i32.const 1 + drop + local.get $out + local.get $result + i32.const 1 + call $~lib/rt/itcms/__link + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $len i32) + (local $out i32) + (local $outStart i32) + (local $i i32) + (local $6 i32) + (local $7 i32) + (local $result f32) + (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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 9 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $outStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_f32) + local.set $result + local.get $outStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $result + f32.store $0 + i32.const 0 + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $start:std/array~anonymous|27 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + 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#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $len i32) + (local $out i32) + (local $outStart i32) + (local $i i32) + (local $6 i32) + (local $7 i32) + (local $result 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $outStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + local.set $result + local.get $outStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $result + i32.store $0 + i32.const 0 + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $start:std/array~anonymous|29 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + 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#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $result i32) + (local $i i32) + (local $len i32) + (local $5 i32) + (local $6 i32) + (local $value 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store $0 + i32.const 0 + local.set $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $5 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length_ + local.tee $6 + local.get $5 + local.get $6 + i32.lt_s + select + i32.lt_s + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + local.get $value + local.get $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $value + call $~lib/array/Array#push + drop + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $start:std/array~anonymous|31 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 100 + call $~lib/array/Array#push + drop + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + 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 + return + ) + (func $start:std/array~anonymous|33 (type $i32_i32_i32_=>_i32) (param $value i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#pop + drop + global.get $std/array/i + local.get $value + i32.add + global.set $std/array/i + local.get $value + 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 + return + ) + (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $initialValue + local.set $acc + i32.const 0 + local.set $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + local.get $acc + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $initialValue + local.set $acc + i32.const 0 + local.set $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + local.tee $6 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length_ + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + i32.lt_s + if + local.get $acc + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $start:std/array~anonymous|38 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 1 + call $~lib/array/Array#push + drop + local.get $prev + local.get $current + 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 + return + ) + (func $start:std/array~anonymous|40 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#pop + drop + local.get $prev + local.get $current + 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 + return + ) + (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $initialValue + local.set $acc + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $acc + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/array/Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $initialValue + local.set $acc + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $acc + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/array/Array#get:dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $start:std/array~anonymous|45 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 1 + call $~lib/array/Array#push + drop + local.get $prev + local.get $current + 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 + return + ) + (func $start:std/array~anonymous|47 (type $i32_i32_i32_i32_=>_i32) (param $prev i32) (param $current i32) (param $_ i32) (param $array 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 $0 + local.get $array + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#pop + drop + local.get $prev + local.get $current + 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 + return + ) + (func $std/array/Dim#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $std/array/Dim#set:height + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $std/array/Dim#set:width + local.get $this + 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#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a f32) + (local $b f32) + (local $c i32) + (local $a|7 f32) + (local $b|8 f32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + f32.load $0 + local.set $a + local.get $ptr + f32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + f32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + f32.store $0 offset=8 + end + local.get $ptr + f32.load $0 + local.set $a|7 + local.get $ptr + f32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + f32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + f32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 4 + i32.const 4 + i32.eq + drop + i32.const 9232 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/array/Array#sort + 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/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a f64) + (local $b f64) + (local $c i32) + (local $a|7 f64) + (local $b|8 f64) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + f64.load $0 + local.set $a + local.get $ptr + f64.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f64.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + f64.load $0 offset=16 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f64.store $0 offset=8 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + f64.store $0 offset=16 + end + local.get $ptr + f64.load $0 + local.set $a|7 + local.get $ptr + f64.load $0 offset=8 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + f64.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + f64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.1 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.1 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 3 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 9520 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/array/Array#sort + 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/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $value f64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if - local.get $index + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i i32) + (local $4 f64) + (local $5 f64) + (local $x f64) + (local $x|7 f64) + (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 $0 + local.get $len + i32.eqz + if + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length + local.set $len + local.get $len + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length + i32.ne + 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 $a + local.get $b + i32.eq + if + i32.const 1 + 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 + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + block $for-continue|0 + i32.const 1 + drop + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.tee $4 + local.get $4 + f64.ne + if (result i32) + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f64.ne + else + i32.const 0 + end + if + br $for-continue|0 + end + block $~lib/math/NativeMath.signbit|inlined.2 (result i32) + local.get $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.set $x + local.get $x + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.2 + end + i32.const 0 + i32.ne + block $~lib/math/NativeMath.signbit|inlined.3 (result i32) + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.set $x|7 + local.get $x|7 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.3 + end + i32.const 0 + i32.ne + i32.ne + 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 $a + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + local.get $b + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $i + call $~lib/array/Array#__get + f64.ne + 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 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load $0 + local.set $a + local.get $ptr + i32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + local.get $ptr + i32.load $0 + local.set $a|7 + local.get $ptr + i32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.2 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.2 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 4 + i32.const 4 + i32.le_u + drop + i32.const 9696 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/array/Array#sort + 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/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load $0 + local.set $a + local.get $ptr + i32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + local.get $ptr + i32.load $0 + local.set $a|7 + local.get $ptr + i32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.3 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.3 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 + drop + i32.const 9824 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/array/Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/array/createReverseOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) + (local $arr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $arr + i32.store $0 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $i + local.get $size + i32.const 1 + i32.sub + local.get $i + i32.sub + call $~lib/array/Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $std/array/createRandomOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) + (local $arr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $arr + i32.store $0 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $i + call $~lib/math/NativeMath.random + local.get $size + f64.convert_i32_s + f64.mul + i32.trunc_sat_f64_s + call $~lib/array/Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $std/array/isSorted (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (local $i i32) + (local $len 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 $0 + i32.const 1 + local.set $i + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + i32.const 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 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + 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 $std/array/assertSorted (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/array/Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $std/array/isSorted + i32.eqz + if i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index + i32.const 528 + i32.const 1080 + 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 (type $i32_=>_none) (param $arr 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 $0 + local.get $arr + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + i32.const 10096 + br $~lib/util/sort/COMPARATOR|inlined.1 + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len 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 $slice i32) + (local $sliceBase i32) + (local $thisBase i32) + (local $off i32) + (local $end|18 i32) + (local $ref i32) + (local $20 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 + local.get $20 + call $~lib/array/Array#get:length_ + local.set $len + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $start + local.get $len i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $end + local.get $len i32.add - call $~lib/array/Array<~lib/array/Array>#set:length_ + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select end + local.set $end + local.get $end + local.get $start + i32.sub + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 23 + i32.const 0 + call $~lib/rt/__newArray + local.tee $slice + i32.store $0 offset=4 + local.get $slice + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 + local.get $20 + call $~lib/array/Array#get:dataStart + local.set $sliceBase local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.get $index + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 + local.get $20 + call $~lib/array/Array#get:dataStart + local.get $start i32.const 2 i32.shl i32.add - local.get $value - i32.store $0 + local.set $thisBase i32.const 1 drop + i32.const 0 + local.set $off + local.get $len + i32.const 2 + i32.shl + local.set $end|18 + loop $while-continue|0 + local.get $off + local.get $end|18 + i32.lt_u + if + local.get $thisBase + local.get $off + i32.add + i32.load $0 + local.set $ref + local.get $sliceBase + local.get $off + i32.add + local.get $ref + i32.store $0 + local.get $slice + local.get $ref + i32.const 1 + call $~lib/rt/itcms/__link + local.get $off + i32.const 4 + i32.add + local.set $off + br $while-continue|0 + end + end + local.get $slice + local.set $20 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $20 + return + ) + (func $~lib/array/Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $end + call $~lib/array/Array#slice + 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|52 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a + (func $std/array/assertStableSortedForComplexObjects~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b 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 - call $~lib/array/Array#__get + i32.store $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/array/Dim#get:height local.get $b - i32.const 0 - call $~lib/array/Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/array/Dim#get:height 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 ) - (func $~lib/util/sort/insertionSort<~lib/array/Array> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) (local $a i32) @@ -11680,14 +19278,16 @@ (local $min i32) (local $max i32) (local $j i32) + (local $12 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 i32.const 0 i32.const 1 i32.ge_s @@ -11738,12 +19338,26 @@ i32.load $0 offset=4 local.tee $b i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $a - local.set $max + local.tee $max + i32.store $0 offset=12 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -11752,10 +19366,14 @@ i32.const 0 i32.le_s if + global.get $~lib/memory/__stack_pointer local.get $a - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $max + local.tee $max + i32.store $0 offset=12 end local.get $i i32.const 1 @@ -11777,7 +19395,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $max + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -11827,7 +19455,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $min + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -11854,40 +19492,255 @@ end end end - local.get $ptr + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $i + local.get $right + i32.eq + if + local.get $i + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $tmp + i32.store $0 offset=8 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end end end + local.get $j + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/util/sort/mergeRuns<~lib/array/Array> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) (local $j i32) (local $t i32) (local $k i32) (local $a i32) (local $b i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $m i32.const 1 i32.sub @@ -11982,7 +19835,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -12023,11 +19886,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/SORT<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) (local $3 i32) (local $a i32) (local $b i32) @@ -12059,17 +19922,16 @@ (local $start i32) (local $i|32 i32) (local $start|33 i32) + (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 36 + memory.fill $0 local.get $len i32.const 48 i32.le_s @@ -12079,7 +19941,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -12114,7 +19976,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -12142,7 +20014,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -12168,14 +20050,24 @@ local.get $ptr i32.load $0 local.tee $a|7 - i32.store $0 offset=8 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr i32.load $0 offset=4 local.tee $b|8 - i32.store $0 offset=12 + i32.store $0 offset=20 local.get $a|7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b|8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -12197,7 +20089,7 @@ select i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -12209,21 +20101,26 @@ i32.sub i32.const 0 local.get $comparator - call $~lib/util/sort/insertionSort<~lib/array/Array> + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return end - block $~lib/util/sort/log2u|inlined.5 (result i32) + block $~lib/util/sort/log2u|inlined.4 (result i32) local.get $len local.set $n i32.const 31 local.get $n i32.clz i32.sub - br $~lib/util/sort/log2u|inlined.5 + br $~lib/util/sort/log2u|inlined.4 end i32.const 2 i32.add @@ -12275,7 +20172,12 @@ i32.const 0 local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight local.set $endA local.get $endA i32.const 1 @@ -12301,7 +20203,12 @@ local.get $endA local.get $lenA local.get $comparator - call $~lib/util/sort/insertionSort<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort end i32.const 0 local.set $top @@ -12320,7 +20227,12 @@ local.get $startB local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight local.set $endB local.get $endB local.get $startB @@ -12350,7 +20262,12 @@ local.get $endB local.get $lenB local.get $comparator - call $~lib/util/sort/insertionSort<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort end i32.const 0 local.get $hi @@ -12390,7 +20307,12 @@ local.get $endA local.get $buffer local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns local.get $start local.set $startA local.get $leftRunStartBuf @@ -12462,7 +20384,12 @@ local.get $hi local.get $buffer local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/array/Array> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns end local.get $i|32 i32.const 1 @@ -12471,71 +20398,448 @@ br $for-loop|4 end end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 5392 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $std/array/assertStableSortedForComplexObjects (type $none_=>_none) + (local $sorted i32) + (local $check i32) + (local $i i32) + (local $len i32) + (local $input i32) + (local $target 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/array/inputStabArr + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#slice@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 10192 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#sort + local.tee $sorted + i32.store $0 offset=12 + i32.const 1 + local.set $check + i32.const 0 + local.set $i + global.get $std/array/inputStabArr + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length + local.set $len + block $for-break0 + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $sorted + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__get + local.tee $input + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/array/outputStabArr + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__get + local.tee $target + i32.store $0 offset=20 + local.get $input + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $std/array/Dim#get:height + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $std/array/Dim#get:height + i32.ne + if (result i32) + i32.const 1 + else + local.get $input + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $std/array/Dim#get:width + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $std/array/Dim#get:width + i32.ne + end + if + i32.const 0 + local.set $check + br $for-break0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + end + local.get $check + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1076 + 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/array/Array<~lib/array/Array>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 29 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/array/Array>#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize 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 (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.get $comparator - call $~lib/util/sort/SORT<~lib/array/Array> - local.get $this - return - ) - (func $~lib/array/Array<~lib/array/Array>#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - return - ) - (func $~lib/array/Array>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer - i32.store $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array<~lib/array/Array>#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + call $~lib/array/Array<~lib/array/Array>#set:dataStart local.get $this - local.get $dataStart + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/array/Array>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $6 + local.get $bufferSize + call $~lib/array/Array<~lib/array/Array>#set:byteLength local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array<~lib/array/Array>#set:length_ local.get $this - local.get $length_ - i32.store $0 offset=12 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $std/array/Proxy#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) - local.get $this - local.get $x + (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 - ) - (func $~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $index local.get $this - call $~lib/array/Array>#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ i32.ge_u if local.get $index @@ -12552,429 +20856,50 @@ local.get $this local.get $index i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array>#set:length_ - end - local.get $this - call $~lib/array/Array>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $std/array/Proxy#get:x (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $start:std/array~anonymous|53 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/array/Proxy#get:x - local.get $b - call $std/array/Proxy#get:x - i32.sub - ) - (func $~lib/util/sort/insertionSort> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted - i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.tee $b - i32.store $0 offset=4 - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/sort/mergeRuns> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m - i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end - end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $buffer - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $b - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 - end + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/array/Array>#set:length_ end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/SORT> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) + (func $std/array/createReverseOrderedNestedArray (type $i32_=>_i32) (param $size i32) (result i32) + (local $arr i32) (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) + (local $inner i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 16 i32.sub @@ -12986,440 +20911,103 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 offset=8 - local.get $len - i32.const 48 - i32.le_s - if - local.get $len - i32.const 1 - i32.le_s + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array<~lib/array/Array>#constructor + local.tee $arr + i32.store $0 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=4 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $a - local.get $b - local.get $c - select - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=8 - local.tee $b - i32.store $0 offset=4 - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end + i32.const 0 + i32.const 1 + call $~lib/array/Array#constructor + local.tee $inner + i32.store $0 offset=4 + local.get $inner + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 - local.tee $a|7 + local.get $4 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $ptr - i32.load $0 offset=4 - local.tee $b|8 - i32.store $0 offset=12 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $4 i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 + local.get $size + i32.const 1 + i32.sub + local.get $i + i32.sub + call $~lib/array/Array#__set + local.get $arr + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort> - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - block $~lib/util/sort/log2u|inlined.6 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.6 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf + local.get $4 + i32.store $0 offset=8 + local.get $4 local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 + local.get $inner + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#__set local.get $i i32.const 1 i32.add local.set $i - br $for-loop|1 + br $for-loop|0 end end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight> - local.set $endA - local.get $endA - i32.const 1 + local.get $arr + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort> - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight> - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort> - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns> - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns> - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end - end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $start:std/array~anonymous|52 (type $i32_i32_=>_i32) (param $a i32) (param $b 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 16 + i32.const 0 + i32.store $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + i32.const 0 + call $~lib/array/Array#__get + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 ) - (func $~lib/array/Array>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array>#get:dataStart - local.get $this - call $~lib/array/Array>#get:length_ - local.get $comparator - call $~lib/util/sort/SORT> - local.get $this - return - ) - (func $~lib/array/Array>#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array>#get:length_ - return - ) - (func $~lib/array/Array<~lib/string/String|null>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array<~lib/string/String|null>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/util/sort/insertionSort<~lib/string/String|null> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (func $~lib/util/sort/insertionSort<~lib/array/Array> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) (local $a i32) @@ -13427,14 +21015,16 @@ (local $min i32) (local $max i32) (local $j i32) + (local $12 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 i32.const 0 i32.const 1 i32.ge_s @@ -13485,12 +21075,26 @@ i32.load $0 offset=4 local.tee $b i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $a - local.set $max + local.tee $max + i32.store $0 offset=12 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13499,10 +21103,14 @@ i32.const 0 i32.le_s if + global.get $~lib/memory/__stack_pointer local.get $a - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $max + local.tee $max + i32.store $0 offset=12 end local.get $i i32.const 1 @@ -13524,7 +21132,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $max + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13574,7 +21192,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $min + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13616,25 +21244,240 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/mergeRuns<~lib/string/String|null> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (func $~lib/util/sort/extendRunRight<~lib/array/Array> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $i + local.get $right + i32.eq + if + local.get $i + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $tmp + i32.store $0 offset=8 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end + end + local.get $j + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/util/sort/mergeRuns<~lib/array/Array> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) (local $j i32) (local $t i32) (local $k i32) (local $a i32) (local $b i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $m i32.const 1 i32.sub @@ -13729,7 +21572,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13770,11 +21623,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/SORT<~lib/string/String|null> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (func $~lib/util/sort/SORT<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) (local $3 i32) (local $a i32) (local $b i32) @@ -13806,17 +21659,16 @@ (local $start i32) (local $i|32 i32) (local $start|33 i32) + (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 36 + memory.fill $0 local.get $len i32.const 48 i32.le_s @@ -13826,7 +21678,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -13861,7 +21713,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13889,7 +21751,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13915,14 +21787,24 @@ local.get $ptr i32.load $0 local.tee $a|7 - i32.store $0 offset=8 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr i32.load $0 offset=4 local.tee $b|8 - i32.store $0 offset=12 + i32.store $0 offset=20 local.get $a|7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b|8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -13944,7 +21826,7 @@ select i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -13956,21 +21838,26 @@ i32.sub i32.const 0 local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String|null> + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return end - block $~lib/util/sort/log2u|inlined.7 (result i32) + block $~lib/util/sort/log2u|inlined.5 (result i32) local.get $len local.set $n i32.const 31 local.get $n i32.clz i32.sub - br $~lib/util/sort/log2u|inlined.7 + br $~lib/util/sort/log2u|inlined.5 end i32.const 2 i32.add @@ -14022,7 +21909,12 @@ i32.const 0 local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/string/String|null> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/array/Array> local.set $endA local.get $endA i32.const 1 @@ -14048,7 +21940,12 @@ local.get $endA local.get $lenA local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String|null> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/array/Array> end i32.const 0 local.set $top @@ -14067,7 +21964,12 @@ local.get $startB local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/string/String|null> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/array/Array> local.set $endB local.get $endB local.get $startB @@ -14097,7 +21999,12 @@ local.get $endB local.get $lenB local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String|null> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/array/Array> end i32.const 0 local.get $hi @@ -14137,7 +22044,12 @@ local.get $endA local.get $buffer local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/string/String|null> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/array/Array> local.get $start local.set $startA local.get $leftRunStartBuf @@ -14185,382 +22097,520 @@ i32.const 0 i32.ne if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/string/String|null> - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end - end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array<~lib/string/String|null>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:dataStart - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - local.get $comparator - call $~lib/util/sort/SORT<~lib/string/String|null> - local.get $this - return - ) - (func $~lib/array/Array<~lib/string/String|null>#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - return - ) - (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.const 1 - i32.shr_u - return - ) - (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) - (local $ptr1 i32) - (local $ptr2 i32) - (local $7 i32) - (local $a i32) - (local $b i32) - local.get $str1 - local.get $index1 - i32.const 1 - i32.shl - i32.add - local.set $ptr1 - local.get $str2 - local.get $index2 - i32.const 1 - i32.shl - i32.add - local.set $ptr2 - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $len - i32.const 4 - i32.ge_u - if (result i32) - local.get $ptr1 - i32.const 7 - i32.and - local.get $ptr2 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 - end - if - block $do-break|0 - loop $do-loop|0 - local.get $ptr1 - i64.load $0 - local.get $ptr2 - i64.load $0 - i64.ne - if - br $do-break|0 - end - local.get $ptr1 - i32.const 8 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 8 - i32.add - local.set $ptr2 - local.get $len - i32.const 4 - i32.sub - local.set $len - local.get $len - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - loop $while-continue|1 - local.get $len - local.tee $7 - i32.const 1 - i32.sub - local.set $len - local.get $7 - if - local.get $ptr1 - i32.load16_u $0 - local.set $a - local.get $ptr2 - i32.load16_u $0 - local.set $b - local.get $a - local.get $b + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 i32.ne if - local.get $a - local.get $b - i32.sub - return + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/array/Array> end - local.get $ptr1 - i32.const 2 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 2 - i32.add - local.set $ptr2 - br $while-continue|1 + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT<~lib/array/Array> + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array<~lib/array/Array>#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $alen i32) - (local $blen i32) - (local $4 i32) - (local $5 i32) - (local $res i32) - local.get $a - local.get $b - i32.eq - if (result i32) - i32.const 1 - else - local.get $a - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $b - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $a - call $~lib/string/String#get:length - local.set $alen - local.get $b - call $~lib/string/String#get:length - local.set $blen - local.get $alen - local.get $blen - i32.or - i32.eqz + (func $~lib/array/Array<~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.ge_u if - i32.const 0 - return + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - local.get $alen + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 i32.eqz - if - i32.const -1 - return - end - local.get $blen + drop + local.get $value i32.eqz if - i32.const 1 - return - end - local.get $a - i32.const 0 - local.get $b - i32.const 0 - local.get $alen - local.tee $4 - local.get $blen - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $res - local.get $res - if (result i32) - local.get $res - else - local.get $alen - local.get $blen - i32.sub + i32.const 5392 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $std/array/assertSorted<~lib/string/String|null>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) + (func $std/array/isSorted<~lib/array/Array> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (local $i i32) + (local $len i32) + (local $4 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store $0 offset=8 + i32.const 1 + local.set $i + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 - 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 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + i32.const 1 + i32.sub + call $~lib/array/Array<~lib/array/Array>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array<~lib/array/Array>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - drop + i32.gt_s + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $i i32.const 1 - drop - i32.const 10672 - br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 + i32.add + local.set $i + br $for-loop|0 end - local.tee $comparator - i32.store $0 end - local.get $arr - local.get $comparator - call $std/array/assertSorted<~lib/string/String|null> + i32.const 1 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end + (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/array/Array<~lib/array/Array>#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $std/array/isSorted<~lib/array/Array> + i32.eqz if i32.const 0 - return + i32.const 528 + i32.const 1080 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz if - i32.const 0 - return + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 32 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $left + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - local.get $right + call $~lib/array/Array>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String.__eq - i32.eqz - return - ) - (func $~lib/array/Array<~lib/string/String>#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + call $~lib/array/Array>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array>#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer - i32.store $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array>#set:buffer local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/string/String>#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + call $~lib/array/Array>#set:dataStart local.get $this - local.get $dataStart + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/array/Array<~lib/string/String>#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $6 + local.get $bufferSize + call $~lib/array/Array>#set:byteLength local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array>#set:length_ local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $std/array/Proxy#constructor (type $i32_i32_=>_i32) (param $this i32) (param $x 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 $0 local.get $this - i32.load $0 offset=12 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 31 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $x + call $std/array/Proxy#set:x + local.get $this + 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<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (func $~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array>#get:length_ i32.ge_u if local.get $index @@ -14582,13 +22632,23 @@ i32.const 1 call $~lib/array/ensureCapacity local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $index i32.const 1 i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ + call $~lib/array/Array>#set:length_ end local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array>#get:dataStart local.get $index i32.const 2 i32.shl @@ -14601,8 +22661,108 @@ local.get $value i32.const 1 call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/insertionSort<~lib/string/String> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (func $std/array/createReverseOrderedElementsArray (type $i32_=>_i32) (param $size i32) (result i32) + (local $arr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array>#constructor + local.tee $arr + i32.store $0 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $i + i32.const 0 + local.get $size + i32.const 1 + i32.sub + local.get $i + i32.sub + call $std/array/Proxy#constructor + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/array/Array>#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $start:std/array~anonymous|53 (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/array/Proxy#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/array/Proxy#get:x + 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 + ) + (func $~lib/util/sort/insertionSort> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) (local $range i32) (local $i i32) (local $a i32) @@ -14610,14 +22770,16 @@ (local $min i32) (local $max i32) (local $j i32) + (local $12 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 i32.const 0 i32.const 1 i32.ge_s @@ -14668,12 +22830,26 @@ i32.load $0 offset=4 local.tee $b i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $a - local.set $max + local.tee $max + i32.store $0 offset=12 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -14682,10 +22858,14 @@ i32.const 0 i32.le_s if + global.get $~lib/memory/__stack_pointer local.get $a - local.set $min + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $b - local.set $max + local.tee $max + i32.store $0 offset=12 end local.get $i i32.const 1 @@ -14707,7 +22887,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $max + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -14757,7 +22947,17 @@ local.tee $a i32.store $0 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 local.get $min + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -14799,25 +22999,240 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/mergeRuns<~lib/string/String> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (func $~lib/util/sort/extendRunRight> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $i + local.get $right + i32.eq + if + local.get $i + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $tmp + i32.store $0 offset=8 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end + end + local.get $j + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/util/sort/mergeRuns> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) (local $j i32) (local $t i32) (local $k i32) (local $a i32) (local $b i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $m i32.const 1 i32.sub @@ -14912,7 +23327,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $12 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -14953,11 +23378,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/SORT<~lib/string/String> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (func $~lib/util/sort/SORT> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) (local $3 i32) (local $a i32) (local $b i32) @@ -14989,17 +23414,16 @@ (local $start i32) (local $i|32 i32) (local $start|33 i32) + (local $34 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 36 + memory.fill $0 local.get $len i32.const 48 i32.le_s @@ -15009,7 +23433,7 @@ i32.le_s if global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -15044,7 +23468,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -15072,7 +23506,17 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -15098,14 +23542,24 @@ local.get $ptr i32.load $0 local.tee $a|7 - i32.store $0 offset=8 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $ptr i32.load $0 offset=4 local.tee $b|8 - i32.store $0 offset=12 + i32.store $0 offset=20 local.get $a|7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 local.get $b|8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 i32.const 2 global.set $~argumentsLength local.get $comparator @@ -15127,7 +23581,7 @@ select i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return @@ -15139,21 +23593,26 @@ i32.sub i32.const 0 local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String> + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort> + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer return end - block $~lib/util/sort/log2u|inlined.8 (result i32) + block $~lib/util/sort/log2u|inlined.6 (result i32) local.get $len local.set $n i32.const 31 local.get $n i32.clz i32.sub - br $~lib/util/sort/log2u|inlined.8 + br $~lib/util/sort/log2u|inlined.6 end i32.const 2 i32.add @@ -15205,7 +23664,12 @@ i32.const 0 local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight> local.set $endA local.get $endA i32.const 1 @@ -15231,7 +23695,12 @@ local.get $endA local.get $lenA local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort> end i32.const 0 local.set $top @@ -15250,7 +23719,12 @@ local.get $startB local.get $hi local.get $comparator - call $~lib/util/sort/extendRunRight<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight> local.set $endB local.get $endB local.get $startB @@ -15280,7 +23754,12 @@ local.get $endB local.get $lenB local.get $comparator - call $~lib/util/sort/insertionSort<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort> end i32.const 0 local.get $hi @@ -15320,7 +23799,12 @@ local.get $endA local.get $buffer local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns> local.get $start local.set $startA local.get $leftRunStartBuf @@ -15392,7 +23876,12 @@ local.get $hi local.get $buffer local.get $comparator - call $~lib/util/sort/mergeRuns<~lib/string/String> + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns> end local.get $i|32 i32.const 1 @@ -15406,103 +23895,52 @@ local.get $leftRunStartBuf call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array<~lib/string/String>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/array/Array>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array>#get:dataStart local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array>#get:length_ local.get $comparator - call $~lib/util/sort/SORT<~lib/string/String> - local.get $this - return - ) - (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT> local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - return - ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $alen i32) - (local $blen i32) - (local $4 i32) - (local $5 i32) - (local $res i32) - local.get $a - local.get $b - i32.eq - if (result i32) - i32.const 1 - else - local.get $a - i32.const 0 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $b - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $a - call $~lib/string/String#get:length - local.set $alen - local.get $b - call $~lib/string/String#get:length - local.set $blen - local.get $alen - local.get $blen - i32.or - i32.eqz - if - i32.const 0 - return - end - local.get $alen - i32.eqz - if - i32.const -1 - return - end - local.get $blen - i32.eqz - if - i32.const 1 - return - end - local.get $a - i32.const 0 - local.get $b - i32.const 0 - local.get $alen - local.tee $4 - local.get $blen - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $res - local.get $res - if (result i32) - local.get $res - else - local.get $alen - local.get $blen - i32.sub - end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $std/array/assertSorted<~lib/string/String>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) + (func $~lib/array/Array>#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15511,5256 +23949,6078 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 10704 - br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $arr - local.get $comparator - call $std/array/assertSorted<~lib/string/String> + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array>#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinBooleanArray + local.get $1 return ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign + (func $~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array>#get:length_ + i32.ge_u if - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 4 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - local.get $buffer - local.get $sign - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 i32.shl i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop + i32.load $0 + local.tee $value + i32.store $0 offset=4 i32.const 1 drop - i32.const 4 - i32.const 4 - i32.le_u + i32.const 0 + i32.eqz drop local.get $value - i32.const 10 - i32.lt_u + i32.eqz if - local.get $dest - local.get $value - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign - i32.add - return + i32.const 5392 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $decimals - i32.const 4 - i32.const 4 - i32.le_u - drop local.get $value - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) + (func $std/array/isSorted> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (local $i i32) (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len + (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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store $0 offset=8 i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign + local.set $i + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array>#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + i32.const 1 + i32.sub + call $~lib/array/Array>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end i32.const 1 - i32.shl + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $value - i32.const 10 - i32.lt_u + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $std/array/assertSorted> (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/array/Array>#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $std/array/isSorted> + i32.eqz if - local.get $buffer - local.get $value - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - return + i32.const 0 + i32.const 528 + i32.const 1080 + 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/util/sort/insertionSort<~lib/string/String|null> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + (local $12 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 i32.const 0 - local.set $decimals - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset + i32.const 24 + memory.fill $0 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals + local.get $right + local.get $left + i32.sub + i32.const 1 i32.add - return - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop + local.set $range + local.get $left + local.get $range i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) - (local $one_exp i32) - (local $one_frc i64) - (local $mask i64) - (local $wp_w_frc i64) - (local $p1 i32) - (local $p2 i64) - (local $kappa i32) - (local $len i32) - (local $d i32) - (local $16 i32) - (local $17 i32) - (local $tmp i64) - (local $buffer|19 i32) - (local $len|20 i32) - (local $delta|21 i64) - (local $rest i64) - (local $ten_kappa i64) - (local $wp_w i64) - (local $lastp i32) - (local $digit i32) - (local $d|27 i64) - (local $28 i32) - (local $buffer|29 i32) - (local $len|30 i32) - (local $delta|31 i64) - (local $rest|32 i64) - (local $ten_kappa|33 i64) - (local $wp_w|34 i64) - (local $lastp|35 i32) - (local $digit|36 i32) - i32.const 0 - local.get $mp_exp + i32.and + local.get $presorted + local.get $range + local.get $presorted i32.sub - local.set $one_exp - i64.const 1 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $one_frc - local.get $one_frc - i64.const 1 - i64.sub - local.set $mask - local.get $mp_frc - local.get $w_frc - i64.sub - local.set $wp_w_frc - local.get $mp_frc - local.get $one_exp - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $p1 - local.get $mp_frc - local.get $mask - i64.and - local.set $p2 - local.get $p1 - call $~lib/util/number/decimalCount32 - local.set $kappa - local.get $sign - local.set $len - loop $while-continue|0 - local.get $kappa - i32.const 0 - i32.gt_s + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_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 $kappa - local.set $16 - local.get $16 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $16 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $16 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $16 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $16 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $16 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $16 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $16 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $16 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $16 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $p1 - i32.const 1000000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100 - i32.div_u - local.set $d - local.get $p1 - i32.const 100 - i32.rem_u - local.set $p1 - br $break|1 + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.tee $b + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $b + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $a + local.tee $max + i32.store $0 offset=12 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $a + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $b + local.tee $max + i32.store $0 offset=12 + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $max + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 end - local.get $p1 - i32.const 10 - i32.div_u - local.set $d - local.get $p1 - i32.const 10 - i32.rem_u - local.set $p1 - br $break|1 + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + i32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $min + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 end - local.get $p1 - local.set $d - i32.const 0 - local.set $p1 - br $break|1 end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/extendRunRight<~lib/string/String|null> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $i + local.get $right + i32.eq + if + local.get $i + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else i32.const 0 - local.set $d - br $break|1 end - local.get $d - local.get $len - i32.or if - local.get $buffer - local.get $len - local.tee $17 - i32.const 1 - i32.add - local.set $len - local.get $17 + local.get $j i32.const 1 - i32.shl i32.add - i32.const 48 - local.get $d - i32.const 65535 - i32.and - i32.add - i32.store16 $0 + local.set $j + br $while-continue|0 end - local.get $kappa - i32.const 1 - i32.sub - local.set $kappa - local.get $p1 - i64.extend_i32_u - local.get $one_exp - i64.extend_i32_s - i64.shl - local.get $p2 - i64.add - local.set $tmp - local.get $tmp - local.get $delta - i64.le_u + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s if - global.get $~lib/util/number/_K - local.get $kappa + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl i32.add - global.set $~lib/util/number/_K - local.get $buffer - local.set $buffer|19 - local.get $len - local.set $len|20 - local.get $delta - local.set $delta|21 - local.get $tmp - local.set $rest - i32.const 12368 - local.get $kappa + i32.load $0 + local.tee $tmp + i32.store $0 offset=8 + local.get $ptr + local.get $i i32.const 2 i32.shl i32.add - i64.load32_u $0 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $ten_kappa - local.get $wp_w_frc - local.set $wp_w - local.get $buffer|19 - local.get $len|20 - i32.const 1 - i32.sub - i32.const 1 + local.get $ptr + local.get $k + i32.const 2 i32.shl i32.add - local.set $lastp - local.get $lastp - i32.load16_u $0 - local.set $digit - loop $while-continue|3 - local.get $rest - local.get $wp_w - i64.lt_u - if (result i32) - local.get $delta|21 - local.get $rest - i64.sub - local.get $ten_kappa - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w - local.get $rest - i64.sub - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.sub - i64.gt_u - end - else - i32.const 0 - end - if - local.get $digit - i32.const 1 - i32.sub - local.set $digit - local.get $rest - local.get $ten_kappa - i64.add - local.set $rest - br $while-continue|3 - end - end - local.get $lastp - local.get $digit - i32.store16 $0 - local.get $len - return - end - br $while-continue|0 - end - end - loop $while-continue|4 - i32.const 1 - if - local.get $p2 - i64.const 10 - i64.mul - local.set $p2 - local.get $delta - i64.const 10 - i64.mul - local.set $delta - local.get $p2 - local.get $one_exp - i64.extend_i32_s - i64.shr_u - local.set $d|27 - local.get $d|27 - local.get $len - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $buffer - local.get $len - local.tee $28 + i32.load $0 + i32.store $0 + local.get $i i32.const 1 i32.add - local.set $len - local.get $28 - i32.const 1 + local.set $i + local.get $ptr + local.get $k + i32.const 2 i32.shl i32.add - i32.const 48 - local.get $d|27 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.add - i32.store16 $0 + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end - local.get $p2 - local.get $mask - i64.and - local.set $p2 - local.get $kappa - i32.const 1 - i32.sub - local.set $kappa - local.get $p2 - local.get $delta - i64.lt_u - if - global.get $~lib/util/number/_K - local.get $kappa + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl i32.add - global.set $~lib/util/number/_K - local.get $wp_w_frc - i32.const 12368 - i32.const 0 - local.get $kappa - i32.sub + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j i32.const 2 i32.shl i32.add - i64.load32_u $0 - i64.mul - local.set $wp_w_frc - local.get $buffer - local.set $buffer|29 - local.get $len - local.set $len|30 - local.get $delta - local.set $delta|31 - local.get $p2 - local.set $rest|32 - local.get $one_frc - local.set $ten_kappa|33 - local.get $wp_w_frc - local.set $wp_w|34 - local.get $buffer|29 - local.get $len|30 - i32.const 1 - i32.sub + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j i32.const 1 - i32.shl i32.add - local.set $lastp|35 - local.get $lastp|35 - i32.load16_u $0 - local.set $digit|36 - loop $while-continue|6 - local.get $rest|32 - local.get $wp_w|34 - i64.lt_u - if (result i32) - local.get $delta|31 - local.get $rest|32 - i64.sub - local.get $ten_kappa|33 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.get $wp_w|34 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w|34 - local.get $rest|32 - i64.sub - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.get $wp_w|34 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - if - local.get $digit|36 - i32.const 1 - i32.sub - local.set $digit|36 - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.set $rest|32 - br $while-continue|6 - end - end - local.get $lastp|35 - local.get $digit|36 - i32.store16 $0 - local.get $len - return + local.set $j + br $while-continue|2 end - br $while-continue|4 end end - unreachable + local.get $j + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) - (local $kk i32) + (func $~lib/util/sort/mergeRuns<~lib/string/String|null> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) - (local $ptr i32) - (local $offset i32) - (local $i|7 i32) - (local $buffer|8 i32) - (local $k|9 i32) - (local $sign i32) - (local $decimals i32) - (local $buffer|12 i32) - (local $num i32) - (local $offset|14 i32) - (local $len i32) - (local $buffer|16 i32) - (local $k|17 i32) - (local $sign|18 i32) - (local $decimals|19 i32) - (local $buffer|20 i32) - (local $num|21 i32) - (local $offset|22 i32) - local.get $k - i32.eqz - if - local.get $buffer - local.get $length - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store $0 - local.get $length - i32.const 2 - i32.add - return + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i32) + (local $b 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end end - local.get $length - local.get $k - i32.add - local.set $kk - local.get $length - local.get $kk - i32.le_s - if (result i32) - local.get $kk - i32.const 21 + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r i32.le_s - else - i32.const 0 - end - if - local.get $length - local.set $i - loop $for-loop|0 + if + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $buffer local.get $i - local.get $kk + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - local.get $buffer - local.get $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 + local.get $j i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 i32.shl i32.add - i32.const 48 - i32.store16 $0 + local.get $b + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - local.get $buffer - local.get $kk + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/SORT<~lib/string/String|null> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 i32) + 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 + i32.const 0 + i32.const 36 + memory.fill $0 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store $0 - local.get $kk - i32.const 2 - i32.add - return - else - local.get $kk + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.gt_s - if (result i32) - local.get $kk - i32.const 21 - i32.le_s - else + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=4 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $a + local.get $b + local.get $c + select + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=8 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 + local.tee $a|7 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=4 + local.tee $b|8 + i32.store $0 offset=20 + local.get $a|7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b|8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.7 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.7 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u if - local.get $buffer - local.get $kk + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/string/String|null> + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String|null> + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/string/String|null> + local.set $endB + local.get $endB + local.get $startB + i32.sub i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String|null> + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/string/String|null> + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 i32.shl i32.add - local.set $ptr - local.get $ptr + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k i32.const 2 + i32.shl i32.add - local.get $ptr - i32.const 0 + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA local.get $k - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - local.get $kk - i32.const 1 + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 i32.shl i32.add - i32.const 46 - i32.store16 $0 - local.get $length - i32.const 1 - i32.add - return - else - i32.const -6 - local.get $kk - i32.lt_s - if (result i32) - local.get $kk - i32.const 0 - i32.le_s - else - i32.const 0 - end + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 i32.const 2 - local.get $kk - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 i32.shl i32.add - local.get $buffer - local.get $length + i32.load $0 i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - i32.const 48 - i32.const 46 - i32.const 16 - i32.shl - i32.or - i32.store $0 - i32.const 2 - local.set $i|7 - loop $for-loop|1 - local.get $i|7 - local.get $offset - i32.lt_s - if - local.get $buffer - local.get $i|7 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 $0 - local.get $i|7 - i32.const 1 - i32.add - local.set $i|7 - br $for-loop|1 - end - end - local.get $length - local.get $offset i32.add - return - else - local.get $length - i32.const 1 - i32.eq - if - local.get $buffer - i32.const 101 - i32.store16 $0 offset=2 - block $~lib/util/number/genExponent|inlined.0 (result i32) - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 - i32.sub - local.set $k|9 - end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals - br $~lib/util/number/genExponent|inlined.0 - end - local.set $length - local.get $length - i32.const 2 - i32.add - return - else - local.get $length - i32.const 1 - i32.shl - local.set $len - local.get $buffer - i32.const 4 - i32.add - local.get $buffer - i32.const 2 - i32.add - local.get $len - i32.const 2 - i32.sub - memory.copy $0 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 - local.get $buffer - local.get $len - i32.add - i32.const 101 - i32.store16 $0 offset=2 - local.get $length - block $~lib/util/number/genExponent|inlined.1 (result i32) - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 - i32.sub - local.set $k|17 - end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 - br $~lib/util/number/genExponent|inlined.1 - end - i32.add - local.set $length - local.get $length - i32.const 2 - i32.add - return - end - unreachable + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/string/String|null> end - unreachable + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String|null>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/string/String|null>#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT<~lib/string/String|null> + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array<~lib/string/String|null>#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort unreachable end - unreachable + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String|null>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 1 + i32.eqz + drop + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) - (local $frc i64) - (local $f i64) - (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) - (local $off i32) - (local $m i32) - (local $minExp i32) - (local $dk f64) - (local $k i32) - (local $index i32) - (local $off|20 i32) - (local $frc_pow i64) - (local $exp_pow i32) - (local $u i64) - (local $v i64) - (local $u0 i64) - (local $v0 i64) - (local $u1 i64) - (local $v1 i64) - (local $l i64) - (local $t i64) - (local $w i64) - (local $w_frc i64) - (local $e1 i32) - (local $e2 i32) - (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) - (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) - (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) - (local $wm_frc i64) - (local $delta i64) + (func $std/array/isSorted<~lib/string/String|null> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (local $i i32) (local $len i32) - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign - if - local.get $value - f64.neg - local.set $value - local.get $buffer - i32.const 45 - i32.store16 $0 + (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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 1 + local.set $i + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String|null>#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + i32.const 1 + i32.sub + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end - block $~lib/util/number/grisu2|inlined.0 (result i32) - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp + i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $std/array/assertSorted<~lib/string/String|null> (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/array/Array<~lib/string/String|null>#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $std/array/isSorted<~lib/string/String|null> + i32.eqz + if i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k + i32.const 528 + i32.const 1080 i32.const 3 - i32.shr_s + 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/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $alen i32) + (local $blen i32) + (local $4 i32) + (local $5 i32) + (local $res 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 $0 + local.get $a + local.get $b + i32.eq + if (result i32) i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 11496 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 12192 - local.get $index + else + local.get $a + i32.const 0 + i32.eq + end + if (result i32) i32.const 1 - i32.shl + else + local.get $b + i32.const 0 + i32.eq + end + if + i32.const 0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - block $~lib/util/number/umul64f|inlined.0 (result i64) - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - br $~lib/util/number/umul64f|inlined.0 - end - local.set $w_frc - block $~lib/util/number/umul64e|inlined.0 (result i32) - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.0 - end - local.set $w_exp - block $~lib/util/number/umul64f|inlined.1 (result i64) - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - br $~lib/util/number/umul64f|inlined.1 - end - i64.const 1 - i64.sub - local.set $wp_frc - block $~lib/util/number/umul64e|inlined.1 (result i32) - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.1 - end - local.set $wp_exp - block $~lib/util/number/umul64f|inlined.2 (result i64) - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - br $~lib/util/number/umul64f|inlined.2 - end - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits - br $~lib/util/number/grisu2|inlined.0 + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - local.set $len - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.get $len - local.get $sign - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $len - local.get $len - local.get $sign - i32.add - return - ) - (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - local.get $value - f64.const 0 - f64.eq + local.get $a + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $alen + local.get $b + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $blen + local.get $alen + local.get $blen + i32.or + i32.eqz if - local.get $buffer - i32.const 48 - i32.store16 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 + 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 $value - local.get $value - f64.sub - f64.const 0 - f64.eq + local.get $alen i32.eqz if - local.get $value - local.get $value - f64.ne - if - local.get $buffer - i32.const 78 - i32.store16 $0 - local.get $buffer - i32.const 97 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 78 - i32.store16 $0 offset=4 - i32.const 3 - return - else - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign - if - local.get $buffer - i32.const 45 - i32.store16 $0 - local.get $buffer - i32.const 2 - i32.add - local.set $buffer - end - local.get $buffer - i64.const 29555310648492105 - i64.store $0 - local.get $buffer - i64.const 34058970405077102 - i64.store $0 offset=8 - i32.const 8 - local.get $sign - i32.add - return - end - unreachable + 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 $buffer - local.get $value - call $~lib/util/number/dtoa_core - return - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len + local.get $blen + 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 + end + local.get $a + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 i32.const 0 - drop + local.get $b + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinFloatArray + local.get $alen + local.tee $4 + local.get $blen + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $res + local.get $res + if (result i32) + local.get $res + else + local.get $alen + local.get $blen + i32.sub + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) - (func $~lib/array/Array<~lib/string/String|null>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - local.set $len + (func $std/array/assertSorted<~lib/string/String|null>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store $0 offset=8 + 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 + i32.const 1 + drop + i32.const 10672 + br $~lib/util/sort/COMPARATOR<~lib/string/String|null>|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $std/array/assertSorted<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left i32.const 0 - drop + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 - drop + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinStringArray + local.get $leftLength + 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 return ) - (func $std/array/Ref#toString (type $i32_=>_i32) (param $this i32) (result i32) - i32.const 12608 + (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop + (func $std/array/isArraysEqual<~lib/string/String|null> (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - i32.const 1 - drop - local.get $ptr + i32.store $0 offset=8 local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray + i32.eqz + if + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String|null>#get:length + local.set $len + local.get $len + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String|null>#get:length + i32.ne + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $a + local.get $b + i32.eq + if + i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + i32.const 0 + drop + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/string/String.__ne + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) + (func $~lib/array/Array<~lib/string/String>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/array/Array<~lib/string/String>#set:buffer local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#set:dataStart local.get $this - i32.load $0 offset=12 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.extend8_s + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.lt_s - local.set $sign - local.get $sign + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u if - i32.const 1 - i32.const 1 - i32.eq - drop - local.get $value - i32.extend8_s - i32.const -128 - i32.eq - if - local.get $buffer - i32.const 45 - i64.extend_i32_s - i32.const 48 - i32.const 1 - i32.add - i64.extend_i32_s - i64.const 16 - i64.shl - i64.or - i32.const 48 - i32.const 2 - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - i32.const 48 - i32.const 8 - i32.add - i64.extend_i32_s - i64.const 48 - i64.shl - i64.or - i64.store $0 - i32.const 4 - return - end - i32.const 1 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value + i32.const 32 + i32.const 80 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $buffer - local.get $sign - i32.const 1 + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize i32.const 1 - i32.const 4 - i32.le_u + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne drop - local.get $value - i32.extend8_s - i32.const 10 - i32.lt_u + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array<~lib/string/String>#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array<~lib/string/String>#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array<~lib/string/String>#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/string/String#charAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) + (local $out 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 $0 + local.get $pos + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.ge_u if - local.get $dest - local.get $value - i32.extend8_s - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign + i32.const 10544 + 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 0 - local.set $decimals - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - i32.extend8_s - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $pos i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $out + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out 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 $0 local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length i32.const 1 i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop + local.set $outSize + local.get $outSize i32.const 0 - drop - local.get $value - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u + i32.eq if - local.get $buffer - local.get $value - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 + i32.const 10544 + 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.const 0 - local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $outSize i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 65535 - i32.and - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 return ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) + (func $std/array/createRandomString (type $i32_=>_i32) (param $len i32) (result i32) + (local $result i32) + (local $i i32) + (local $x f64) + (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 i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.extend16_s + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 10544 + local.tee $result + i32.store $0 i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 2 - i32.const 2 - i32.eq - drop - local.get $value - i32.extend16_s - i32.const -32768 - i32.eq + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s if - local.get $buffer - i32.const 45 - i64.extend_i32_s - i32.const 48 - i32.const 3 - i32.add - i64.extend_i32_s - i64.const 16 - i64.shl - i64.or - i32.const 48 - i32.const 2 - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - i32.const 48 - i32.const 7 - i32.add - i64.extend_i32_s - i64.const 48 - i64.shl - i64.or - i64.store $0 - local.get $buffer - i32.const 8 - i32.add - i32.const 48 - i32.const 6 - i32.add - i32.const 0 - i32.shl - i32.const 48 - i32.const 8 - i32.add - i32.const 16 - i32.shl - i32.or + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + global.get $std/array/charset + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + block $~lib/math/NativeMath.floor|inlined.0 (result f64) + call $~lib/math/NativeMath.random + global.get $std/array/charset + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + call $~lib/string/String#get:length + f64.convert_i32_s + f64.mul + local.set $x + local.get $x + f64.floor + br $~lib/math/NativeMath.floor|inlined.0 + end + i32.trunc_sat_f64_s + call $~lib/string/String#charAt + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/string/String.__concat + local.tee $result i32.store $0 - i32.const 6 - return + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl + local.get $result + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - i32.const 2 + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.le_u - drop - local.get $value - i32.extend16_s - i32.const 10 - i32.lt_u + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u if - local.get $dest - local.get $value - i32.extend16_s - i32.const 48 - i32.or - i32.store16 $0 + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index i32.const 1 - local.get $sign i32.add - return + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/string/String>#set:length_ end - i32.const 0 - local.set $decimals + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index i32.const 2 - i32.const 4 - i32.le_u - drop + i32.shl + i32.add local.get $value - i32.extend16_s - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 + i32.store $0 i32.const 1 - i32.ge_s drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop + local.get $value i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) - local.get $value - i64.const 1000000000000000 - i64.lt_u - if - local.get $value - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $value - i64.const 100000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $value - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000000 - i64.ge_u - i32.add - return - end - unreachable - else - local.get $value - i64.const 100000000000000000 - i64.lt_u + (func $std/array/createRandomStringArray (type $i32_=>_i32) (param $size i32) (result i32) + (local $arr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array<~lib/string/String>#constructor + local.tee $arr + i32.store $0 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - i32.const 16 - local.get $value - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $value - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $value - i64.const 1000000000000000000 - i64.ge_u + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $i + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + call $std/array/createRandomString + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/array/Array<~lib/string/String>#__set + local.get $i + i32.const 1 i32.add - return + local.set $i + br $for-loop|0 end - unreachable end - unreachable + local.get $arr + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $t i64) - (local $r i32) + (func $~lib/util/sort/insertionSort<~lib/string/String> (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) (local $b i32) - (local $c i32) - (local $b1 i32) - (local $b2 i32) - (local $c1 i32) - (local $c2 i32) - (local $digits1 i64) - (local $digits2 i64) - loop $while-continue|0 - local.get $num - i64.const 100000000 - i64.ge_u - if - local.get $num - i64.const 100000000 - i64.div_u - local.set $t - local.get $num - local.get $t - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $r - local.get $t - local.set $num - local.get $r - i32.const 10000 - i32.div_u - local.set $b - local.get $r - i32.const 10000 - i32.rem_u - local.set $c - local.get $b - i32.const 100 - i32.div_u - local.set $b1 - local.get $b - i32.const 100 - i32.rem_u - local.set $b2 - local.get $c - i32.const 100 - i32.div_u - local.set $c1 - local.get $c - i32.const 100 - i32.rem_u - local.set $c2 - i32.const 6700 - local.get $c1 + (local $min i32) + (local $max i32) + (local $j i32) + (local $12 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 + i32.const 0 + i32.const 24 + memory.fill $0 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i i32.const 2 i32.shl i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6700 - local.get $c2 + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i i32.const 2 i32.shl i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset + i32.load $0 offset=4 + local.tee $b + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $b + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $a + local.tee $max + i32.store $0 offset=12 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $a + local.tee $min + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $b + local.tee $max + i32.store $0 offset=12 + end + local.get $i i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - i32.const 6700 - local.get $b1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $max + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j i32.const 2 i32.shl i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6700 - local.get $b2 + local.get $max + i32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=16 + local.get $12 + local.get $min + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j i32.const 2 i32.shl i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $buffer - local.get $num - i32.wrap_i64 - local.get $offset - call $~lib/util/number/utoa32_dec_lut - ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - (local $val64 i64) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/extendRunRight<~lib/string/String> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $value - i64.const 10 - i64.lt_u + i32.store $0 offset=8 + local.get $i + local.get $right + i32.eq if - local.get $buffer - local.get $value - i32.const 48 - i64.extend_i32_s - i64.or - i64.store16 $0 - i32.const 1 + local.get $i + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - local.set $decimals - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u + i32.gt_s if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $tmp + i32.store $0 offset=8 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end else - local.get $value - local.set $val64 - local.get $val64 - call $~lib/util/number/decimalCount64High - local.set $decimals - local.get $dest - local.set $buffer|10 - local.get $val64 - local.set $num|11 - local.get $decimals - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end end - local.get $sign - local.get $decimals + local.get $j + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - (local $val64 i64) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value + (func $~lib/util/sort/mergeRuns<~lib/string/String> (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (local $i i32) + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i32) + (local $b 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.lt_s - local.set $sign - local.get $sign - if - i32.const 8 - i32.const 1 - i32.eq - drop - i32.const 8 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i64.const 0 - local.get $value - i64.sub - local.set $value - end - local.get $buffer - local.get $sign + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $m i32.const 1 - i32.shl + i32.sub + local.set $m + local.get $r + local.get $m i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop + local.set $t + local.get $m i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - i64.const 10 - i64.lt_u - if - local.get $dest - local.get $value - i32.const 48 - i64.extend_i32_s - i64.or - i64.store16 $0 - i32.const 1 - local.get $sign - i32.add - return + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end - i32.const 0 - local.set $decimals - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - local.set $val64 - local.get $val64 - call $~lib/util/number/decimalCount64High - local.set $decimals - local.get $dest - local.set $buffer|10 - local.get $val64 - local.set $num|11 - local.get $decimals - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end end - local.get $sign - local.get $decimals + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + local.get $b + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $12 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $b + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - return - ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.set $len - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - i32.const 1 - i32.lt_s - drop + (func $~lib/util/sort/SORT<~lib/string/String> (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 i32) + 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 i32.const 0 - drop - i32.const 1 - drop - local.get $ptr + i32.const 36 + memory.fill $0 local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray<~lib/array/Array> - return - ) - (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.ge_u + i32.const 48 + i32.le_s if - local.get $index + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 + i32.const 1 i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=4 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $a + local.get $b + local.get $c + select + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=8 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 + local.tee $a|7 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.load $0 offset=4 + local.tee $b|8 + i32.store $0 offset=20 + local.get $a|7 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + local.get $b|8 + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=12 + local.get $34 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index + local.get $ptr + i32.const 0 + local.get $len i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add - call $~lib/array/Array<~lib/array/Array>#set:length_ + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.8 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.8 end - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.get $index i32.const 2 - i32.shl i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size i32.const 1 i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size i32.add - local.set $dest + local.set $leftRunEndBuf i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len i32.const 1 - i32.le_s - drop + i32.sub + local.set $hi + local.get $ptr i32.const 0 - drop - local.get $value - i32.const 255 - i32.and - i32.const 10 - i32.lt_u + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/string/String> + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s if - local.get $buffer - local.get $value - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 $0 + local.get $hi + local.tee $20 + i32.const 32 i32.const 1 - return + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String> end i32.const 0 - local.set $decimals - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 255 - i32.and - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset + local.set $top i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=28 + local.get $34 + call $~lib/util/sort/extendRunRight<~lib/string/String> + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=24 + local.get $34 + call $~lib/util/sort/insertionSort<~lib/string/String> + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/string/String> + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=32 + local.get $34 + call $~lib/util/sort/mergeRuns<~lib/string/String> + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 36 i32.add - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.set $ptr + (func $~lib/array/Array<~lib/string/String>#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 local.get $this - call $~lib/array/Array#get:length_ - local.set $len - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinIntegerArray - return - ) - (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $ptr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT<~lib/string/String> local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.set $len - 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 $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $~lib/array/Array<~lib/array/Array>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - i32.load $0 offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 local.get $index local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array<~lib/array/Array>#set:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u + if + i32.const 320 + i32.const 80 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart local.get $index i32.const 2 i32.shl i32.add - local.get $value - i32.store $0 + i32.load $0 + local.tee $value + i32.store $0 offset=4 i32.const 1 drop - local.get $this + i32.const 0 + i32.eqz + drop local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + i32.eqz + if + i32.const 5392 + i32.const 80 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 + (func $std/array/isSorted<~lib/string/String> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (local $i i32) + (local $len 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 1 + local.set $i + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + i32.const 1 + i32.sub + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $data + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + local.get $i + call $~lib/array/Array<~lib/string/String>#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ + (func $std/array/assertSorted<~lib/string/String> (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ - i32.ge_u + 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 $0 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $std/array/isSorted<~lib/string/String> + i32.eqz if - local.get $index i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index + i32.const 528 + i32.const 1080 + 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/util/sort/COMPARATOR<~lib/string/String>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $alen i32) + (local $blen i32) + (local $4 i32) + (local $5 i32) + (local $res 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 $0 + local.get $a + local.get $b + i32.eq + if (result i32) i32.const 1 - i32.add - i32.const 2 + else + local.get $a + i32.const 0 + i32.eq + end + if (result i32) i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index + else + local.get $b + 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 + end + local.get $a + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $alen + local.get $b + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $blen + local.get $alen + local.get $blen + i32.or + i32.eqz + 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 $alen + 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 + end + local.get $blen + i32.eqz + if i32.const 1 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#set:length_ + global.set $~lib/memory/__stack_pointer + local.get $7 + return end - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value + local.get $a + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) - (local $len i32) - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.set $len - i32.const 0 - drop - i32.const 0 - drop + local.get $7 i32.const 0 - drop + local.get $b + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1 + local.get $alen + local.tee $4 + local.get $blen + local.tee $5 + local.get $4 + local.get $5 i32.lt_s - drop - i32.const 0 - drop - i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray<~lib/array/Array> + select + call $~lib/util/string/compareImpl + local.set $res + local.get $res + if (result i32) + local.get $res + else + local.get $alen + local.get $blen + i32.sub + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - (local $ptr i32) + (func $std/array/assertSorted<~lib/string/String>@varargs (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 10704 + br $~lib/util/sort/COMPARATOR<~lib/string/String>|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $arr + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $std/array/assertSorted<~lib/string/String> + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 + local.get $22 + call $~lib/string/String#get:length local.set $len + local.get $start + local.tee $4 i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 i32.const 0 - i32.const 1 + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 i32.lt_s - drop - i32.const 0 - drop + select i32.const 1 - drop - local.get $ptr - local.get $len - local.get $separator - call $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - return - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ - i32.ge_u + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size + i32.eqz if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 320 - i32.const 80 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 + i32.const 10544 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.const 2 + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $fromPos + i32.eqz + if (result i32) + local.get $toPos + local.get $len i32.const 1 - call $~lib/array/ensureCapacity + i32.shl + i32.eq + else + i32.const 0 + end + if local.get $this - local.get $index - i32.const 1 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#set:length_ + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart - local.get $index + global.get $~lib/memory/__stack_pointer + local.get $size i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + local.get $fromPos + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return ) - (func $start:std/array~anonymous|54 (type $i32_i32_i32_=>_i32) (param $nestedArray i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $nestedArray - call $~lib/array/Array#get:length + (func $~lib/util/string/joinBooleanArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $valueLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value i32) + (local $i 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 $0 + local.get $length i32.const 1 - i32.eq - i32.eqz + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 528 - i32.const 1267 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 10544 + 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 $nestedArray - i32.const 3 - call $~lib/array/Array#push - drop - local.get $nestedArray - call $~lib/array/Array#get:length - i32.const 2 - i32.eq + local.get $lastIndex i32.eqz if - i32.const 0 - i32.const 528 - i32.const 1269 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 10768 + i32.const 10800 + local.get $dataStart + i32.load8_u $0 + select + 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 $nestedArray - return - ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) + local.get $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 5 + local.set $valueLen + local.get $valueLen + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + local.get $valueLen + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 i32.const 0 - drop - global.get $~lib/rt/itcms/state + local.set $offset i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne + local.set $i + loop $for-loop|1 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.add + i32.load8_u $0 + local.set $value + i32.const 4 + local.get $value + i32.eqz + i32.add + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 10768 + i32.const 10800 + local.get $value + select + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset + local.get $sepLen if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 end end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 + local.get $dataStart + local.get $lastIndex i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - drop - ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (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 - global.get $std/array/inputStabArr - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/array/outputStabArr - 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 1616 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 5392 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 128 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 7120 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 8176 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 + i32.load8_u $0 + local.set $value + i32.const 4 + local.get $value + i32.eqz + i32.add + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 10768 + i32.const 10800 + local.get $value + select + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len i32.const 1 drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinBooleanArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + i32.lt_s + if + i32.const 10544 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load $0 + local.set $value + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 11 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen i32.const 1 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s if - local.get $cur + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add i32.load $0 - local.set $val - local.get $val + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end - local.get $cur - i32.const 4 + local.get $i + i32.const 1 i32.add - local.set $cur - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit - ) - (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add i32.load $0 - ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + local.set $value|9 + local.get $offset + local.get $result + local.get $offset i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 i32.shl i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop i32.const 1 drop - local.get $this - call $~lib/array/Array#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array#get:length_ - i32.const 2 - i32.shl + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s if - local.get $cur + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add i32.load $0 - local.set $val - local.get $val + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end - local.get $cur - i32.const 4 + local.get $i + i32.const 1 i32.add - local.set $cur - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add i32.load $0 - ) - (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + local.set $value|9 + local.get $offset + local.get $result + local.get $offset i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.const 2 i32.shl i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $this - call $~lib/array/Array<~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return ) - (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 local.get $this - call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr local.get $this - i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value f64) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $lastIndex + i32.eqz + if + local.get $dataStart + f64.load $0 + call $~lib/util/number/dtoa + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $separator + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 28 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 28 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen i32.const 1 - drop - local.get $this - call $~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array>#get:length_ - i32.const 2 i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s if - local.get $cur - i32.load $0 - local.set $val - local.get $val + local.get $dataStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $sepLen if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end - local.get $cur - i32.const 4 + local.get $i + i32.const 1 i32.add - local.set $cur - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - call $~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array>#__visit - ) - (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/string/String|null>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - i32.const 2 i32.shl i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + local.get $offset + call $~lib/string/String#substring + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return end - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String|null>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len i32.const 0 drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) i32.const 0 drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) i32.const 1 drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.const 2 - i32.shl + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinFloatArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/array/Array<~lib/array/Array>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $4 i32) + (local $estLen i32) + (local $value i32) + (local $i i32) + (local $offset i32) + (local $sepLen i32) + (local $result i32) + (local $i|11 i32) + (local $valueLen i32) + (local $13 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $length i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if (result i32) + local.get $4 + else + i32.const 10544 end + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return end - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + i32.const 0 + local.set $estLen + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s if - local.get $cur + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add i32.load $0 - local.set $val - local.get $val + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $estLen + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.add + local.set $estLen end - local.get $cur - i32.const 4 + local.get $i + i32.const 1 i32.add - local.set $cur - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + i32.const 0 + local.set $offset + local.get $separator + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $sepLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + local.get $sepLen + local.get $lastIndex + i32.mul + i32.add i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ - i32.const 2 i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=12 + i32.const 0 + local.set $i|11 + loop $for-loop|1 + local.get $i|11 + local.get $lastIndex + i32.lt_s if - local.get $cur + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i|11 + i32.const 2 + i32.shl + i32.add i32.load $0 - local.set $val - local.get $val + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit - ) - (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> - 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/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<%28std/array/Dim%2Cstd/array/Dim%29=>i32> - 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/array/Array - block $std/array/Dim - 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=>~lib/string/String> - block $~lib/array/Array<~lib/string/String> - 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/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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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/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/array/Array<~lib/string/String> $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String> $~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> $std/array/Dim $~lib/array/Array $~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/function/Function<%28std/array/Dim%2Cstd/array/Dim%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/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>> $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array> $invalid - end - return - 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/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/array/Array<~lib/string/String>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>~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 - 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<%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/function/Function<%28std/array/Dim%2Cstd/array/Dim%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/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 + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>~visit - return + local.get $i|11 + i32.const 1 + i32.add + local.set $i|11 + br $for-loop|1 end - local.get $0 - local.get $1 - call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>~visit - return - end - unreachable - ) - (func $~start (type $none_=>_none) - global.get $~started - if - return end - i32.const 1 - global.set $~started - call $start:std/array - ) - (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne if - i32.const 47968 - i32.const 48016 + local.get $result + local.get $offset i32.const 1 + i32.shl + i32.add + local.get $value + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $std/array/assertSorted (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 - local.get $arr - local.get $comparator - call $~lib/array/Array#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $comparator - call $std/array/isSorted - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1080 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shl + memory.copy $0 $0 end + local.get $result + local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $13 + return ) - (func $std/array/assertSortedDefault (type $i32_=>_none) (param $arr i32) - (local $1 i32) + (func $~lib/array/Array<~lib/string/String|null>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 - local.get $arr - block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - i32.const 10096 - br $~lib/util/sort/COMPARATOR|inlined.1 - end - local.set $1 + local.get $4 + call $~lib/array/Array<~lib/string/String|null>#get:dataStart + local.set $ptr + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store $0 - local.get $1 - call $std/array/assertSorted + local.get $4 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinStringArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - (local $7 i32) + (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $result i32) + (local $sepLen i32) + (local $i i32) + (local $8 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - local.get $i - local.get $right - i32.eq + i32.const 20 + memory.fill $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s if - local.get $i - local.set $7 + i32.const 10544 + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $8 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne + if (result i32) + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $std/array/Ref#toString + else + i32.const 10544 + end + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + i32.const 10544 + local.tee $result + i32.store $0 offset=8 + local.get $separator + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $8 + call $~lib/string/String#get:length + local.set $sepLen i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne + if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + local.get $result + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if + local.get $8 + local.get $value + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $tmp + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $std/array/Ref#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result i32.store $0 offset=8 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 + local.get $sepLen + if global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + local.get $result + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $8 i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + local.get $8 + local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store $0 offset=8 end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $j - local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $std/array/Ref#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store $0 offset=8 + end + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinReferenceArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 + local.get $4 return ) - (func $std/array/assertStableSortedForComplexObjects (type $none_=>_none) - (local $sorted i32) - (local $check i32) + (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $result i32) + (local $sepLen i32) (local $i i32) - (local $len i32) - (local $input i32) - (local $target i32) - (local $6 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 + i32.const 20 memory.fill $0 - global.get $~lib/memory/__stack_pointer - global.get $std/array/inputStabArr - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $6 - i32.const 0 + local.get $length i32.const 1 - global.set $~argumentsLength + i32.sub + local.set $lastIndex + local.get $lastIndex i32.const 0 - call $~lib/array/Array#slice@varargs - local.set $6 + i32.lt_s + if + i32.const 10544 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne + if (result i32) + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $std/array/Ref#toString + else + i32.const 10544 + end + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 10192 - local.set $6 + i32.const 10544 + local.tee $result + i32.store $0 offset=8 + local.get $separator + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $8 i32.store $0 offset=4 - local.get $6 - call $~lib/array/Array#sort - local.tee $sorted - i32.store $0 offset=12 - i32.const 1 - local.set $check + local.get $8 + call $~lib/string/String#get:length + local.set $sepLen i32.const 0 local.set $i - global.get $std/array/inputStabArr - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - call $~lib/array/Array#get:length - local.set $len - block $for-break0 - loop $for-loop|0 + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart local.get $i - local.get $len - i32.lt_s + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne if global.get $~lib/memory/__stack_pointer - local.get $sorted - local.get $i - call $~lib/array/Array#__get - local.tee $input + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 offset=16 + local.get $8 + call $std/array/Ref#toString + local.set $8 global.get $~lib/memory/__stack_pointer - global.get $std/array/outputStabArr - local.set $6 + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store $0 offset=8 + end + local.get $sepLen + if global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - local.get $i - call $~lib/array/Array#__get - local.tee $target - i32.store $0 offset=20 - local.get $input - call $std/array/Dim#get:height - local.get $target - call $std/array/Dim#get:height - i32.ne - if (result i32) - i32.const 1 - else - local.get $input - call $std/array/Dim#get:width - local.get $target - call $std/array/Dim#get:width - i32.ne - end - if - i32.const 0 - local.set $check - br $for-break0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store $0 offset=8 end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $check - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 + local.get $value + i32.const 0 + i32.ne if - i32.const 0 - i32.const 528 - i32.const 1076 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $std/array/Ref#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + call $~lib/string/String.__concat + local.tee $result + i32.store $0 offset=8 end + local.get $result + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/util/sort/extendRunRight<~lib/array/Array> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - (local $7 i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $i - local.get $right - i32.eq - if - local.get $i - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.store $0 - local.get $7 - local.get $ptr - local.get $j + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 i32.const 1 - i32.add - local.tee $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + i32.lt_s + drop + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $4 i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $tmp - i32.store $0 offset=8 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end - end - local.get $j - local.set $7 + local.get $4 + call $~lib/util/string/joinReferenceArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $7 + local.get $1 return ) - (func $std/array/isSorted<~lib/array/Array> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) (local $i i32) - (local $len i32) - (local $4 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20769,50 +30029,112 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load8_s $0 + local.set $value + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 11 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 local.set $i - local.get $data - call $~lib/array/Array<~lib/array/Array>#get:length - local.set $len loop $for-loop|0 local.get $i - local.get $len + local.get $lastIndex i32.lt_s if - local.get $data - local.get $i - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/array/Array>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $data + local.get $dataStart local.get $i - call $~lib/array/Array<~lib/array/Array>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.gt_s + i32.shl + i32.add + i32.load8_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - i32.const 0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $result + local.get $offset + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end local.get $i i32.const 1 @@ -20821,53 +30143,57 @@ br $for-loop|0 end end + local.get $dataStart + local.get $lastIndex + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset i32.const 1 - 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 - ) - (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (param $arr i32) (param $comparator 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 $0 - local.get $arr - local.get $comparator - call $~lib/array/Array<~lib/array/Array>#sort - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $2 - local.get $comparator - call $std/array/isSorted<~lib/array/Array> - i32.eqz + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 i32.const 0 - i32.const 528 - i32.const 1080 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $offset + 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 $result + 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 + return ) - (func $std/array/createReverseOrderedElementsArray (type $i32_=>_i32) (param $size i32) (result i32) - (local $arr i32) - (local $i i32) - (local $3 i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20876,265 +30202,84 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array>#constructor - local.tee $arr + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $arr - local.get $i - i32.const 0 - local.get $size - i32.const 1 - i32.sub - local.get $i - i32.sub - call $std/array/Proxy#constructor - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/array/Array>#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $arr - local.set $3 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $4 return ) - (func $~lib/util/sort/extendRunRight> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - (local $7 i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $i - local.get $right - i32.eq - if - local.get $i - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $1 i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $tmp - i32.store $0 offset=8 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end - end - local.get $j - local.set $7 + local.get $1 + i32.const 10832 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $1 + i32.store $0 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 $7 + local.get $1 return ) - (func $std/array/isSorted> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) (local $i i32) - (local $len i32) - (local $4 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21143,50 +30288,112 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load16_u $0 + local.set $value + i32.const 0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 local.set $i - local.get $data - call $~lib/array/Array>#get:length - local.set $len loop $for-loop|0 local.get $i - local.get $len + local.get $lastIndex i32.lt_s if - local.get $data + local.get $dataStart local.get $i i32.const 1 - i32.sub - call $~lib/array/Array>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $data - local.get $i - call $~lib/array/Array>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + i32.shl + i32.add + i32.load16_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - i32.const 0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $result + local.get $offset + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end local.get $i i32.const 1 @@ -21195,262 +30402,314 @@ br $for-loop|0 end end + local.get $dataStart + local.get $lastIndex i32.const 1 - local.set $4 + i32.shl + i32.add + i32.load16_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $11 return ) - (func $std/array/assertSorted> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) - (local $2 i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 - local.get $arr - local.get $comparator - call $~lib/array/Array>#sort - local.set $2 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $4 i32.store $0 - local.get $2 - local.get $comparator - call $std/array/isSorted> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1080 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/util/sort/extendRunRight<~lib/string/String|null> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - (local $7 i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + return + ) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex i32.const 0 - i32.store $0 offset=8 - local.get $i - local.get $right - i32.eq + i32.lt_s if - local.get $i - local.set $7 + i32.const 10544 + 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 $7 + local.get $11 return end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + local.get $lastIndex + i32.eqz + if + local.get $dataStart + i32.load16_s $0 + local.set $value + i32.const 1 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $11 i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 1 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen i32.add - local.tee $j - i32.const 2 - i32.shl + local.get $lastIndex + i32.mul + i32.const 11 i32.add - i32.load $0 - local.set $7 + local.set $estLen global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $estLen + i32.const 1 + i32.shl i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart local.get $i - local.get $k - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $tmp - i32.store $0 offset=8 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 i32.shl i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + local.get $separator + local.get $sepLen i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen i32.add - local.set $j - br $while-continue|2 + local.set $offset end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $j - local.set $7 + local.get $dataStart + local.get $lastIndex + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + 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 $7 + local.get $11 return ) - (func $std/array/isSorted<~lib/string/String|null> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) - (local $i i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -21461,59 +30720,35 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - i32.const 1 - local.set $i - local.get $data - call $~lib/array/Array<~lib/string/String|null>#get:length + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $data - local.get $i - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $data - local.get $i - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - 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 $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.const 0 + drop i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -21522,43 +30757,47 @@ local.get $4 return ) - (func $std/array/assertSorted<~lib/string/String|null> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) - (local $2 i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 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 $0 - local.get $arr - local.get $comparator - call $~lib/array/Array<~lib/string/String|null>#sort - local.set $2 + i64.const 0 + i64.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store $0 - local.get $2 - local.get $comparator - call $std/array/isSorted<~lib/string/String|null> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1080 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.const 10832 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 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 + return ) - (func $std/array/isArraysEqual<~lib/string/String|null> (type $i32_i32_i32_=>_i32) (param $a i32) (param $b i32) (param $len i32) (result i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i64) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i64) (local $i i32) - (local $4 i32) + (local $11 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21567,75 +30806,112 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $len + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + 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 $lastIndex i32.eqz if - local.get $a - call $~lib/array/Array<~lib/string/String|null>#get:length - local.set $len - local.get $len - local.get $b - call $~lib/array/Array<~lib/string/String|null>#get:length - i32.ne - 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 $a - local.get $b - i32.eq - if - i32.const 1 - 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 $dataStart + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 10 + call $~lib/util/number/utoa64 + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 20 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 20 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $len + local.get $lastIndex i32.lt_s if - i32.const 0 - drop - local.get $a - local.get $i - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $b + local.get $dataStart local.get $i - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - call $~lib/string/String.__ne + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - i32.const 0 - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $result + local.get $offset + i32.const 1 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset end local.get $i i32.const 1 @@ -21644,96 +30920,104 @@ br $for-loop|0 end end + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset i32.const 1 - local.set $4 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $11 return ) - (func $std/array/createRandomString (type $i32_=>_i32) (param $len i32) (result i32) - (local $result i32) - (local $i i32) - (local $x f64) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 10544 - local.tee $result + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $result - global.get $std/array/charset - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - block $~lib/math/NativeMath.floor|inlined.0 (result f64) - call $~lib/math/NativeMath.random - global.get $std/array/charset - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 - call $~lib/string/String#get:length - f64.convert_i32_s - f64.mul - local.set $x - local.get $x - f64.floor - br $~lib/math/NativeMath.floor|inlined.0 - end - i32.trunc_sat_f64_s - call $~lib/string/String#charAt - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $result + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $4 return ) - (func $std/array/createRandomStringArray (type $i32_=>_i32) (param $size i32) (result i32) - (local $arr i32) - (local $i i32) - (local $3 i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21742,261 +31026,210 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array<~lib/string/String>#constructor - local.tee $arr + local.get $1 i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $arr - local.get $i - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - call $std/array/createRandomString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/array/Array<~lib/string/String>#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $arr - local.set $3 + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $3 + local.get $1 return ) - (func $~lib/util/sort/extendRunRight<~lib/string/String> (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - (local $7 i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i64) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i64) + (local $i 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 $0 - global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex i32.const 0 - i32.store $0 offset=8 - local.get $i - local.get $right - i32.eq + i32.lt_s if - local.get $i - local.set $7 + i32.const 10544 + 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 $7 + local.get $11 return end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 + local.get $lastIndex + i32.eqz + if + local.get $dataStart + i64.load $0 + local.set $value + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + i32.wrap_i64 + i64.extend_i32_s + i32.const 10 + call $~lib/util/number/itoa64 + 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 $separator + local.set $11 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $11 i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 1 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 21 + local.get $sepLen i32.add - local.tee $j - i32.const 2 - i32.shl + local.get $lastIndex + i32.mul + i32.const 21 i32.add - i32.load $0 - local.set $7 + local.set $estLen global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 + local.get $estLen + i32.const 1 + i32.shl i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart local.get $i - local.get $k - i32.lt_s + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen if - global.get $~lib/memory/__stack_pointer - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $tmp - i32.store $0 offset=8 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i + local.get $result + local.get $offset i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 i32.shl i32.add - local.get $tmp - i32.store $0 - local.get $k + local.get $separator + local.get $sepLen i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $7 - local.get $ptr - local.get $j - i32.const 2 i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen i32.add - i32.load $0 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + local.set $offset end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $j - local.set $7 + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + 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 $7 + local.get $11 return ) - (func $std/array/isSorted<~lib/string/String> (type $i32_i32_=>_i32) (param $data i32) (param $comparator i32) (result i32) - (local $i i32) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) (local $len i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -22007,59 +31240,35 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - i32.const 1 - local.set $i - local.get $data - call $~lib/array/Array<~lib/string/String>#get:length + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $data - local.get $i - i32.const 1 - i32.sub - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $data - local.get $i - call $~lib/array/Array<~lib/string/String>#__get - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - 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 $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.const 0 + drop i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray local.set $4 global.get $~lib/memory/__stack_pointer i32.const 8 @@ -22068,41 +31277,69 @@ local.get $4 return ) - (func $std/array/assertSorted<~lib/string/String> (type $i32_i32_=>_none) (param $arr i32) (param $comparator i32) - (local $2 i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 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 $0 - local.get $arr - local.get $comparator - call $~lib/array/Array<~lib/string/String>#sort - local.set $2 + i64.const 0 + i64.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store $0 - local.get $2 - local.get $comparator - call $std/array/isSorted<~lib/string/String> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1080 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + return + ) + (func $~lib/array/Array<~lib/string/String|null>#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 10832 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/array/Array<~lib/string/String|null>#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) (local $value i32) (local $result i32) @@ -22110,16 +31347,14 @@ (local $i i32) (local $8 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 local.get $length i32.const 1 i32.sub @@ -22131,7 +31366,7 @@ i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22150,13 +31385,18 @@ i32.ne if (result i32) local.get $value - call $std/array/Ref#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#toString else i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22165,8 +31405,13 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/string/String#get:length local.set $sepLen i32.const 0 @@ -22191,25 +31436,45 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $sepLen if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $i i32.const 1 @@ -22233,44 +31498,474 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $result local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/util/string/joinReferenceArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/array/Array<~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 + return + ) + (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/array/Array>#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) (local $value i32) - (local $result i32) (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) (local $i i32) - (local $8 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 10544 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 i32.const 0 - i32.store $0 offset=8 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $len + i32.const 0 + drop + i32.const 1 + drop + local.get $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinIntegerArray + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 10832 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + return + ) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $result i32) + (local $sepLen i32) + (local $i 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 + i32.const 0 + i32.const 20 + memory.fill $0 local.get $length i32.const 1 i32.sub @@ -22282,7 +31977,7 @@ i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22301,13 +31996,18 @@ i32.ne if (result i32) local.get $value - call $std/array/Ref#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#toString else i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22316,8 +32016,13 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/string/String#get:length local.set $sepLen i32.const 0 @@ -22342,25 +32047,45 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $sepLen if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $i i32.const 1 @@ -22384,132 +32109,128 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $std/array/Ref#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $result local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - 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 - return - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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.set $4 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $ptr local.get $this - i32.const 10832 - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store $0 - local.get $1 - call $~lib/array/Array#join - local.set $1 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + 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 return ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 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 - return - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 - local.get $this i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - call $~lib/array/Array#join + call $~lib/array/Array<~lib/array/Array>#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22518,50 +32239,71 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index local.get $this - i32.const 10832 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/array/Array#join - local.set $1 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/array/Array>#set:length_ + end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.get $index + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 + local.get $value i32.store $0 + i32.const 1 + drop local.get $this - i32.const 10832 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/array/Array#join - local.set $1 + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $~lib/array/Array<~lib/string/String|null>#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22570,226 +32312,101 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index local.get $this - i32.const 10832 - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/array/Array<~lib/string/String|null>#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $result i32) - (local $sepLen i32) - (local $i 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz + local.get $3 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ + i32.ge_u if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $value - i32.store $0 - local.get $value + local.get $index i32.const 0 - i32.ne - if (result i32) - local.get $value - call $~lib/array/Array#toString - else - i32.const 10544 - end - 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 - global.get $~lib/memory/__stack_pointer - i32.const 10544 - local.tee $result - i32.store $0 offset=4 - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - local.get $value - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $value - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 - end - local.get $sepLen - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $separator - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#set:length_ end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart + local.get $index i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $value + local.get $value i32.store $0 + i32.const 1 + drop + local.get $this local.get $value - i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $value - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 - end - local.get $result - local.set $8 + i32.const 1 + call $~lib/rt/itcms/__link global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 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 $1 - return - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this 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 $0 - local.get $this i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - call $~lib/array/Array#join + call $~lib/array/Array#join local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) (local $value i32) (local $result i32) @@ -22797,16 +32414,14 @@ (local $i i32) (local $8 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 local.get $length i32.const 1 i32.sub @@ -22818,7 +32433,7 @@ i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22837,13 +32452,18 @@ i32.ne if (result i32) local.get $value - call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#toString else i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -22852,8 +32472,13 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/string/String#get:length local.set $sepLen i32.const 0 @@ -22878,25 +32503,45 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $sepLen if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $i i32.const 1 @@ -22920,79 +32565,127 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $result local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $ptr local.get $this - i32.const 10832 - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $4 i32.store $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array>#join - local.set $1 + local.get $4 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/util/string/joinReferenceArray<~lib/array/Array> + 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 return ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/array/Array#join + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/array/Array<~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 return ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) (local $lastIndex i32) (local $value i32) (local $result i32) @@ -23000,16 +32693,14 @@ (local $i i32) (local $8 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 local.get $length i32.const 1 i32.sub @@ -23021,7 +32712,7 @@ i32.const 10544 local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -23040,13 +32731,18 @@ i32.ne if (result i32) local.get $value - call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array<~lib/array/Array>#toString else i32.const 10544 end local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 @@ -23055,8 +32751,13 @@ global.get $~lib/memory/__stack_pointer i32.const 10544 local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/string/String#get:length local.set $sepLen i32.const 0 @@ -23081,25 +32782,45 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $sepLen if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $separator + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $i i32.const 1 @@ -23123,59 +32844,383 @@ if global.get $~lib/memory/__stack_pointer local.get $result + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $value - call $~lib/array/Array#toString local.set $8 global.get $~lib/memory/__stack_pointer local.get $8 - i32.store $0 offset=8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 local.get $8 call $~lib/string/String.__concat local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 end local.get $result local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (local $ptr i32) + (local $len 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 - i32.const 0 + i64.const 0 + i64.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart + local.set $ptr + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ + local.set $len + 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 $ptr + local.get $len + local.get $separator + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (type $i32_=>_i32) (param $this 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 $0 local.get $this - i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/array/Array<~lib/array/Array>#join + i32.const 10832 local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + 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.add global.set $~lib/memory/__stack_pointer local.get $1 return ) - (func $~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $result i32) - (local $sepLen i32) + (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (param $this i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $size i32) + (local $i i32) + (local $child i32) + (local $byteLength i32) + (local $outBuffer i32) + (local $outArray i32) + (local $resultOffset i32) + (local $i|10 i32) + (local $child|11 i32) + (local $childDataLength i32) + (local $13 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + i32.const 1 + i32.eqz + drop + local.get $this + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 + local.get $13 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $ptr + local.get $this + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 + local.get $13 + call $~lib/array/Array<~lib/array/Array>#get:length_ + local.set $len + i32.const 0 + local.set $size + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $child + local.get $size + local.get $child + i32.const 0 + i32.eq + if (result i32) + i32.const 0 + else + local.get $child + i32.load $0 offset=12 + end + i32.add + local.set $size + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $size + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $outBuffer + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $outArray + i32.store $0 offset=8 + local.get $outArray + local.get $size + i32.store $0 offset=12 + local.get $outArray + local.get $byteLength + i32.store $0 offset=8 + local.get $outArray + local.get $outBuffer + i32.store $0 offset=4 + local.get $outArray + local.get $outBuffer + i32.store $0 + local.get $outArray + local.get $outBuffer + i32.const 0 + call $~lib/rt/itcms/__link + i32.const 0 + local.set $resultOffset + i32.const 0 + local.set $i|10 + loop $for-loop|1 + local.get $i|10 + local.get $len + i32.lt_s + if + block $for-continue|1 + local.get $ptr + local.get $i|10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $child|11 + local.get $child|11 + i32.eqz + if + br $for-continue|1 + end + local.get $child|11 + i32.load $0 offset=12 + i32.const 2 + i32.shl + local.set $childDataLength + local.get $outBuffer + local.get $resultOffset + i32.add + local.get $child|11 + i32.load $0 offset=4 + local.get $childDataLength + memory.copy $0 $0 + local.get $resultOffset + local.get $childDataLength + i32.add + local.set $resultOffset + end + local.get $i|10 + i32.const 1 + i32.add + local.set $i|10 + br $for-loop|1 + end + end + i32.const 0 + drop + local.get $outArray + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 320 + i32.const 80 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat (type $i32_=>_i32) (param $this i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $size i32) (local $i i32) - (local $8 i32) + (local $child i32) + (local $byteLength i32) + (local $outBuffer i32) + (local $outArray i32) + (local $resultOffset i32) + (local $i|10 i32) + (local $child|11 i32) + (local $childDataLength i32) + (local $i|13 i32) + (local $ref i32) + (local $15 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -23187,97 +33232,53 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $value - i32.store $0 - local.get $value - i32.const 0 - i32.ne - if (result i32) - local.get $value - call $~lib/array/Array<~lib/array/Array>#toString - else - i32.const 10544 - end - 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 + drop + local.get $this + local.set $15 global.get $~lib/memory/__stack_pointer - i32.const 10544 - local.tee $result - i32.store $0 offset=4 - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen + local.get $15 + i32.store $0 + local.get $15 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart + local.set $ptr + local.get $this + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store $0 + local.get $15 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ + local.set $len + i32.const 0 + local.set $size i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $lastIndex + local.get $len i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $dataStart + local.get $ptr local.get $i i32.const 2 i32.shl i32.add i32.load $0 - local.tee $value - i32.store $0 - local.get $value + local.set $child + local.get $size + local.get $child i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $value - call $~lib/array/Array<~lib/array/Array>#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 - end - local.get $sepLen - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $separator - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 + i32.eq + if (result i32) + i32.const 0 + else + local.get $child + i32.load $0 offset=12 end + i32.add + local.set $size local.get $i i32.const 1 i32.add @@ -23285,43 +33286,122 @@ br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex + local.get $size i32.const 2 i32.shl - i32.add - i32.load $0 - local.tee $value + local.set $byteLength + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $outBuffer + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 34 + call $~lib/rt/itcms/__new + local.tee $outArray + i32.store $0 offset=8 + local.get $outArray + local.get $size + i32.store $0 offset=12 + local.get $outArray + local.get $byteLength + i32.store $0 offset=8 + local.get $outArray + local.get $outBuffer + i32.store $0 offset=4 + local.get $outArray + local.get $outBuffer i32.store $0 - local.get $value + local.get $outArray + local.get $outBuffer i32.const 0 - i32.ne - if - global.get $~lib/memory/__stack_pointer - local.get $result - local.get $value - call $~lib/array/Array<~lib/array/Array>#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $8 - call $~lib/string/String.__concat - local.tee $result - i32.store $0 offset=4 + call $~lib/rt/itcms/__link + i32.const 0 + local.set $resultOffset + i32.const 0 + local.set $i|10 + loop $for-loop|1 + local.get $i|10 + local.get $len + i32.lt_s + if + block $for-continue|1 + local.get $ptr + local.get $i|10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $child|11 + local.get $child|11 + i32.eqz + if + br $for-continue|1 + end + local.get $child|11 + i32.load $0 offset=12 + i32.const 2 + i32.shl + local.set $childDataLength + local.get $outBuffer + local.get $resultOffset + i32.add + local.get $child|11 + i32.load $0 offset=4 + local.get $childDataLength + memory.copy $0 $0 + local.get $resultOffset + local.get $childDataLength + i32.add + local.set $resultOffset + end + local.get $i|10 + i32.const 1 + i32.add + local.set $i|10 + br $for-loop|1 + end end - local.get $result - local.set $8 + i32.const 1 + drop + i32.const 0 + local.set $i|13 + loop $for-loop|2 + local.get $i|13 + local.get $size + i32.lt_s + if + local.get $outBuffer + local.get $i|13 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $ref + local.get $outBuffer + local.get $ref + i32.const 1 + call $~lib/rt/itcms/__link + local.get $i|13 + i32.const 1 + i32.add + local.set $i|13 + br $for-loop|2 + end + end + local.get $outArray + local.set $15 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $15 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $start:std/array~anonymous|54 (type $i32_i32_i32_=>_i32) (param $nestedArray i32) (param $$1 i32) (param $$2 i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23330,20 +33410,58 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.const 10832 - local.set $1 + local.get $nestedArray + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#join - local.set $1 + local.get $3 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1267 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $nestedArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 3 + call $~lib/array/Array#push + drop + local.get $nestedArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1269 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $nestedArray + 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 return ) (func $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) @@ -23356,7 +33474,7 @@ (local $result i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -23364,9 +33482,14 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $~lib/array/Array<~lib/array/Array>#get:length_ local.set $len global.get $~lib/memory/__stack_pointer @@ -23376,8 +33499,13 @@ i32.const 0 call $~lib/rt/__newArray local.tee $out - i32.store $0 + i32.store $0 offset=4 local.get $out + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.set $outStart i32.const 0 @@ -23387,6 +33515,11 @@ local.get $len local.tee $6 local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $~lib/array/Array<~lib/array/Array>#get:length_ local.tee $7 local.get $6 @@ -23397,6 +33530,11 @@ if global.get $~lib/memory/__stack_pointer local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 call $~lib/array/Array<~lib/array/Array>#get:dataStart local.get $i i32.const 2 @@ -23406,17 +33544,22 @@ local.set $9 global.get $~lib/memory/__stack_pointer local.get $9 - i32.store $0 offset=4 + i32.store $0 local.get $9 local.get $i local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 i32.const 3 global.set $~argumentsLength local.get $fn i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) local.tee $result - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $outStart local.get $i i32.const 2 @@ -23440,7 +33583,7 @@ local.get $out local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer local.get $9 @@ -24072,12 +34215,22 @@ local.tee $2 i32.store $0 offset=4 local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24100,6 +34253,11 @@ unreachable end local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 0 i32.const 1 @@ -24108,6 +34266,11 @@ call $~lib/array/Array#fill@varargs drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24130,12 +34293,22 @@ unreachable end local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24158,6 +34331,11 @@ unreachable end local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const -2 i32.const 2 @@ -24166,6 +34344,11 @@ call $~lib/array/Array#fill@varargs drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24188,12 +34371,22 @@ unreachable end local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24216,6 +34409,11 @@ unreachable end local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -1 i32.const 0 i32.const 1 @@ -24224,6 +34422,11 @@ call $~lib/array/Array#fill@varargs drop local.get $2 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 0 i32.const 7 @@ -24254,12 +34457,22 @@ local.tee $17 i32.store $0 offset=12 local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24282,6 +34495,11 @@ unreachable end local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 0 i32.const 1 @@ -24290,6 +34508,11 @@ call $~lib/array/Array#fill@varargs drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24312,12 +34535,22 @@ unreachable end local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24340,6 +34573,11 @@ unreachable end local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const -2 i32.const 2 @@ -24348,6 +34586,11 @@ call $~lib/array/Array#fill@varargs drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24370,12 +34613,22 @@ unreachable end local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24398,6 +34651,11 @@ unreachable end local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -1 i32.const 0 i32.const 1 @@ -24406,6 +34664,11 @@ call $~lib/array/Array#fill@varargs drop local.get $17 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 8 @@ -24436,12 +34699,22 @@ local.tee $32 i32.store $0 offset=16 local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const 1 i32.const 1 i32.const 3 call $~lib/array/Array#fill drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24464,6 +34737,11 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const 0 i32.const 0 i32.const 1 @@ -24472,6 +34750,11 @@ call $~lib/array/Array#fill@varargs drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24494,12 +34777,22 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const 1 i32.const 0 i32.const -3 call $~lib/array/Array#fill drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24522,6 +34815,11 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const 2 i32.const -2 i32.const 2 @@ -24530,6 +34828,11 @@ call $~lib/array/Array#fill@varargs drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24552,12 +34855,22 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const 0 i32.const 1 i32.const 0 call $~lib/array/Array#fill drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24580,6 +34893,11 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const -1 i32.const 0 i32.const 1 @@ -24588,6 +34906,11 @@ call $~lib/array/Array#fill@varargs drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -24610,6 +34933,11 @@ unreachable end local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 f32.const -0 i32.const 0 i32.const 1 @@ -24618,6 +34946,11 @@ call $~lib/array/Array#fill@varargs drop local.get $32 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 9 @@ -25074,9 +35407,19 @@ local.tee $50 i32.store $0 offset=28 local.get $50 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#set:length local.get $50 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -25098,6 +35441,11 @@ local.tee $53 i32.store $0 offset=32 local.get $53 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#at i32.const 1 @@ -25112,6 +35460,11 @@ unreachable end local.get $53 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 3 call $~lib/array/Array#at i32.const 4 @@ -25126,6 +35479,11 @@ unreachable end local.get $53 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -1 call $~lib/array/Array#at i32.const 4 @@ -25140,6 +35498,11 @@ unreachable end local.get $53 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -4 call $~lib/array/Array#at i32.const 1 @@ -25167,6 +35530,11 @@ i32.store $0 local.get $478 local.get $54 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 call $~lib/array/Array#concat local.tee $55 i32.store $0 offset=40 @@ -25207,6 +35575,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -25220,6 +35593,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 2 i32.const 4 @@ -25251,6 +35629,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -25265,6 +35648,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -25279,6 +35667,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -25293,10 +35686,20 @@ unreachable end local.get $54 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 46 call $~lib/array/Array#push drop local.get $54 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 47 call $~lib/array/Array#push drop @@ -25308,6 +35711,11 @@ i32.store $0 local.get $478 local.get $54 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 call $~lib/array/Array#concat local.tee $55 i32.store $0 offset=40 @@ -25330,6 +35738,11 @@ unreachable end local.get $54 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -25343,6 +35756,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 5 i32.eq @@ -25356,6 +35774,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 43 @@ -25370,6 +35793,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 call $~lib/array/Array#__get i32.const 44 @@ -25384,6 +35812,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 call $~lib/array/Array#__get i32.const 45 @@ -25398,6 +35831,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 3 call $~lib/array/Array#__get i32.const 46 @@ -25412,6 +35850,11 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 call $~lib/array/Array#__get i32.const 47 @@ -25426,9 +35869,19 @@ unreachable end local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#pop drop local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -25450,6 +35903,11 @@ local.tee $60 i32.store $0 offset=44 local.get $60 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -25464,6 +35922,11 @@ end global.get $~lib/memory/__stack_pointer local.get $60 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 global.get $std/array/arr local.set $478 global.get $~lib/memory/__stack_pointer @@ -25474,6 +35937,11 @@ local.tee $55 i32.store $0 offset=40 local.get $55 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -25487,6 +35955,11 @@ unreachable end local.get $60 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -25508,6 +35981,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const 3 i32.const 2 @@ -25549,6 +36027,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 1 i32.const 3 i32.const 2 @@ -25590,6 +36073,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 1 i32.const 2 i32.const 2 @@ -25631,6 +36119,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 2 i32.const 2 i32.const 2 @@ -25672,6 +36165,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const 3 i32.const 4 @@ -25711,6 +36209,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 1 i32.const 3 i32.const 4 @@ -25750,6 +36253,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 1 i32.const 2 i32.const 4 @@ -25789,6 +36297,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const -2 i32.const 2 @@ -25830,6 +36343,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const -2 i32.const -1 @@ -25869,6 +36387,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -4 i32.const -3 i32.const -2 @@ -25908,6 +36431,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -4 i32.const -3 i32.const -1 @@ -25947,6 +36475,11 @@ local.tee $63 i32.store $0 offset=48 local.get $63 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -4 i32.const -3 i32.const 2 @@ -26492,17 +37025,27 @@ i32.const 2928 call $~lib/rt/__newArray local.tee $113 - i32.store $0 offset=52 + i32.store $0 offset=56 global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 3 i32.const 2 i32.const 4 @@ -26526,12 +37069,22 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 4 call $~lib/array/Array#slice local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 i32.const 4 @@ -26555,12 +37108,22 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 5 call $~lib/array/Array#slice local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 i32.const 2 i32.const 4 @@ -26584,15 +37147,30 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 0 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 0 call $std/array/isArraysEqual i32.eqz @@ -26606,14 +37184,24 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -2 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/array/Array#slice@varargs local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 i32.const 4 @@ -26637,12 +37225,22 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const -1 call $~lib/array/Array#slice local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 i32.const 4 @@ -26666,12 +37264,22 @@ end global.get $~lib/memory/__stack_pointer local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const -3 i32.const -1 call $~lib/array/Array#slice local.tee $110 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $110 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 i32.const 4 @@ -26694,6 +37302,11 @@ unreachable end local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const -1 i32.const -3 call $~lib/array/Array#slice @@ -26715,6 +37328,11 @@ unreachable end local.get $113 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 10 i32.const 1 global.set $~argumentsLength @@ -26869,10 +37487,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $128 - i32.store $0 offset=60 + i32.store $0 offset=64 i32.const 0 local.set $129 local.get $128 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $130 loop $for-loop|0 @@ -26881,9 +37504,19 @@ i32.lt_s if local.get $128 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $129 call $~lib/array/Array#__get local.get $128 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $129 i32.sub @@ -26919,10 +37552,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $133 - i32.store $0 offset=64 + i32.store $0 offset=68 i32.const 0 local.set $134 local.get $133 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $135 loop $for-loop|1 @@ -26931,9 +37569,19 @@ i32.lt_s if local.get $133 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $134 call $~lib/array/Array#__get local.get $133 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $134 i32.sub @@ -26969,10 +37617,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $138 - i32.store $0 offset=68 + i32.store $0 offset=72 i32.const 0 local.set $139 local.get $138 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $140 loop $for-loop|2 @@ -26981,9 +37634,19 @@ i32.lt_s if local.get $138 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $139 call $~lib/array/Array#__get local.get $138 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $139 i32.sub @@ -27019,10 +37682,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $143 - i32.store $0 offset=72 + i32.store $0 offset=76 i32.const 0 local.set $144 local.get $143 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $145 loop $for-loop|3 @@ -27031,9 +37699,19 @@ i32.lt_s if local.get $143 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $144 call $~lib/array/Array#__get local.get $143 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $144 i32.sub @@ -27069,10 +37747,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $148 - i32.store $0 offset=76 + i32.store $0 offset=80 i32.const 0 local.set $149 local.get $148 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $150 loop $for-loop|4 @@ -27081,9 +37764,19 @@ i32.lt_s if local.get $148 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $149 call $~lib/array/Array#__get local.get $148 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $149 i32.sub @@ -27119,10 +37812,15 @@ local.get $478 call $~lib/array/Array#reverse local.tee $153 - i32.store $0 offset=80 + i32.store $0 offset=84 i32.const 0 local.set $154 local.get $153 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.set $155 loop $for-loop|5 @@ -27131,9 +37829,19 @@ i32.lt_s if local.get $153 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 local.get $154 call $~lib/array/Array#__get local.get $153 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length local.get $154 i32.sub @@ -27431,8 +38139,13 @@ i32.const 3504 call $~lib/rt/__newArray local.tee $162 - i32.store $0 offset=84 + i32.store $0 offset=88 local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -27450,6 +38163,11 @@ unreachable end local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -27467,6 +38185,11 @@ unreachable end local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 3 call $~lib/array/Array#lastIndexOf @@ -27482,6 +38205,11 @@ unreachable end local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 call $~lib/array/Array#lastIndexOf @@ -27497,6 +38225,11 @@ unreachable end local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const -2 call $~lib/array/Array#lastIndexOf @@ -27512,6 +38245,11 @@ unreachable end local.get $162 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const -1 call $~lib/array/Array#lastIndexOf @@ -27881,8 +38619,13 @@ i32.const 3616 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const 1 global.set $~argumentsLength @@ -27915,6 +38658,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 2 i32.const 4 @@ -27943,8 +38691,13 @@ i32.const 3744 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const 0 call $~lib/array/Array#splice @@ -27975,6 +38728,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28003,8 +38761,13 @@ i32.const 3872 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -28037,6 +38800,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 i32.const 4 @@ -28065,8 +38833,13 @@ i32.const 3984 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 2 i32.const 2 call $~lib/array/Array#splice @@ -28097,6 +38870,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 3 i32.const 2 i32.const 4 @@ -28125,8 +38903,13 @@ i32.const 4096 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 0 i32.const 1 call $~lib/array/Array#splice @@ -28157,6 +38940,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 i32.const 2 i32.const 4 @@ -28185,8 +38973,13 @@ i32.const 4224 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -1 i32.const 1 global.set $~argumentsLength @@ -28219,6 +39012,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 i32.const 2 i32.const 4 @@ -28247,8 +39045,13 @@ i32.const 4352 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -2 i32.const 1 global.set $~argumentsLength @@ -28281,6 +39084,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 3 i32.const 2 i32.const 4 @@ -28309,8 +39117,13 @@ i32.const 4464 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -2 i32.const 1 call $~lib/array/Array#splice @@ -28341,6 +39154,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 i32.const 2 i32.const 4 @@ -28369,8 +39187,13 @@ i32.const 4592 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -7 i32.const 1 call $~lib/array/Array#splice @@ -28401,6 +39224,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 4 i32.const 2 i32.const 4 @@ -28429,8 +39257,13 @@ i32.const 4720 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const -2 i32.const -1 call $~lib/array/Array#splice @@ -28461,6 +39294,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28489,8 +39327,13 @@ i32.const 4848 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 1 i32.const -2 call $~lib/array/Array#splice @@ -28521,6 +39364,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28549,8 +39397,13 @@ i32.const 4976 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 4 i32.const 0 call $~lib/array/Array#splice @@ -28581,6 +39434,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28609,8 +39467,13 @@ i32.const 5104 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 7 i32.const 0 call $~lib/array/Array#splice @@ -28641,6 +39504,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28669,8 +39537,13 @@ i32.const 5232 call $~lib/rt/__newArray local.tee $170 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 i32.const 7 i32.const 5 call $~lib/array/Array#splice @@ -28701,6 +39574,11 @@ unreachable end local.get $170 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5 i32.const 2 i32.const 4 @@ -28729,15 +39607,25 @@ i32.const 5360 call $~lib/rt/__newArray local.tee $255 - i32.store $0 offset=92 + i32.store $0 offset=96 global.get $~lib/memory/__stack_pointer local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 i32.const 2 call $~lib/array/Array#splice local.tee $256 - i32.store $0 offset=96 + i32.store $0 offset=100 local.get $256 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28751,6 +39639,11 @@ unreachable end local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 0 i32.eq @@ -28771,12 +39664,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $257 - i32.store $0 offset=100 + i32.store $0 offset=104 global.get $~lib/memory/__stack_pointer local.get $257 i32.load $0 offset=4 local.tee $258 - i32.store $0 offset=104 + i32.store $0 offset=108 local.get $257 i32.const 0 i32.const 0 @@ -28809,15 +39702,25 @@ call $~lib/array/Array#__set local.get $257 local.tee $255 - i32.store $0 offset=92 + i32.store $0 offset=96 global.get $~lib/memory/__stack_pointer local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 2 i32.const 2 call $~lib/array/Array#splice local.tee $256 - i32.store $0 offset=96 + i32.store $0 offset=100 local.get $256 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -28831,6 +39734,11 @@ unreachable end local.get $256 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 0 call $~lib/array/Array#__get local.set $478 @@ -28851,6 +39759,11 @@ unreachable end local.get $256 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 1 call $~lib/array/Array#__get local.set $478 @@ -28871,6 +39784,11 @@ unreachable end local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 3 i32.eq @@ -28884,6 +39802,11 @@ unreachable end local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 0 call $~lib/array/Array#__get local.set $478 @@ -28904,6 +39827,11 @@ unreachable end local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 1 call $~lib/array/Array#__get local.set $478 @@ -28924,6 +39852,11 @@ unreachable end local.get $255 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 2 call $~lib/array/Array#__get local.set $478 @@ -28951,12 +39884,12 @@ i32.const 0 call $~lib/rt/__newArray local.tee $259 - i32.store $0 offset=108 + i32.store $0 offset=112 global.get $~lib/memory/__stack_pointer local.get $259 i32.load $0 offset=4 local.tee $260 - i32.store $0 offset=112 + i32.store $0 offset=116 local.get $259 i32.const 0 i32.const 0 @@ -28975,15 +39908,25 @@ call $~lib/array/Array#__set local.get $259 local.tee $261 - i32.store $0 offset=116 + i32.store $0 offset=120 global.get $~lib/memory/__stack_pointer local.get $261 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 i32.const 1 call $~lib/array/Array#splice local.tee $262 - i32.store $0 offset=120 + i32.store $0 offset=124 local.get $262 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 1 i32.eq @@ -28998,10 +39941,15 @@ end global.get $~lib/memory/__stack_pointer local.get $262 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 0 call $~lib/array/Array#__get local.tee $263 - i32.store $0 offset=124 + i32.store $0 offset=128 local.get $263 if (result i32) local.get $263 @@ -29031,6 +39979,11 @@ unreachable end local.get $261 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -29044,6 +39997,11 @@ unreachable end local.get $261 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#__get i32.const 0 @@ -29059,10 +40017,15 @@ end global.get $~lib/memory/__stack_pointer local.get $261 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 1 call $~lib/array/Array#__get local.tee $264 - i32.store $0 offset=128 + i32.store $0 offset=132 local.get $264 if (result i32) local.get $264 @@ -29376,8 +40339,13 @@ i32.const 5840 call $~lib/rt/__newArray local.tee $267 - i32.store $0 offset=132 + i32.store $0 offset=136 local.get $267 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5888 local.set $478 global.get $~lib/memory/__stack_pointer @@ -29399,6 +40367,11 @@ unreachable end local.get $267 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5920 local.set $478 global.get $~lib/memory/__stack_pointer @@ -29420,6 +40393,11 @@ unreachable end local.get $267 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5952 local.set $478 global.get $~lib/memory/__stack_pointer @@ -29441,6 +40419,11 @@ unreachable end local.get $267 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 5984 local.set $478 global.get $~lib/memory/__stack_pointer @@ -30191,7 +41174,7 @@ local.get $478 call $~lib/array/Array#map<~lib/string/String> local.tee $271 - i32.store $0 offset=136 + i32.store $0 offset=140 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.set $478 @@ -30207,8 +41190,13 @@ local.get $478 call $~lib/array/Array#map local.tee $272 - i32.store $0 offset=140 + i32.store $0 offset=144 local.get $272 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 4 i32.eq @@ -30222,6 +41210,11 @@ unreachable end local.get $272 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 0 call $~lib/array/Array#__get global.get $std/array/arr @@ -30428,8 +41421,13 @@ local.get $478 call $~lib/array/Array#filter local.tee $273 - i32.store $0 offset=144 + i32.store $0 offset=148 local.get $273 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -31198,23 +42196,33 @@ i32.const 0 call $~lib/rt/__newArray local.tee $276 - i32.store $0 offset=148 + i32.store $0 offset=152 global.get $~lib/memory/__stack_pointer local.get $276 i32.load $0 offset=4 local.tee $277 - i32.store $0 offset=152 + i32.store $0 offset=156 local.get $276 i32.const 0 global.get $~lib/memory/__stack_pointer i32.const 0 call $std/array/Dim#constructor local.tee $278 - i32.store $0 offset=156 + i32.store $0 offset=160 local.get $278 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 100 call $std/array/Dim#set:height local.get $278 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 80 call $std/array/Dim#set:width local.get $278 @@ -31225,11 +42233,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $279 - i32.store $0 offset=160 + i32.store $0 offset=164 local.get $279 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 90 call $std/array/Dim#set:height local.get $279 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 90 call $std/array/Dim#set:width local.get $279 @@ -31240,11 +42258,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $280 - i32.store $0 offset=164 + i32.store $0 offset=168 local.get $280 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 70 call $std/array/Dim#set:height local.get $280 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 95 call $std/array/Dim#set:width local.get $280 @@ -31255,11 +42283,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $281 - i32.store $0 offset=168 + i32.store $0 offset=172 local.get $281 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 100 call $std/array/Dim#set:height local.get $281 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 100 call $std/array/Dim#set:width local.get $281 @@ -31270,11 +42308,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $282 - i32.store $0 offset=172 + i32.store $0 offset=176 local.get $282 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 80 call $std/array/Dim#set:height local.get $282 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 110 call $std/array/Dim#set:width local.get $282 @@ -31285,11 +42333,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $283 - i32.store $0 offset=176 + i32.store $0 offset=180 local.get $283 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 110 call $std/array/Dim#set:height local.get $283 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 115 call $std/array/Dim#set:width local.get $283 @@ -31300,11 +42358,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $284 - i32.store $0 offset=180 + i32.store $0 offset=184 local.get $284 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 100 call $std/array/Dim#set:height local.get $284 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 120 call $std/array/Dim#set:width local.get $284 @@ -31315,11 +42383,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $285 - i32.store $0 offset=184 + i32.store $0 offset=188 local.get $285 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 70 call $std/array/Dim#set:height local.get $285 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 125 call $std/array/Dim#set:width local.get $285 @@ -31330,11 +42408,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $286 - i32.store $0 offset=188 + i32.store $0 offset=192 local.get $286 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 70 call $std/array/Dim#set:height local.get $286 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 130 call $std/array/Dim#set:width local.get $286 @@ -31345,11 +42433,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $287 - i32.store $0 offset=192 + i32.store $0 offset=196 local.get $287 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 100 call $std/array/Dim#set:height local.get $287 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 135 call $std/array/Dim#set:width local.get $287 @@ -31360,11 +42458,21 @@ i32.const 0 call $std/array/Dim#constructor local.tee $288 - i32.store $0 offset=196 + i32.store $0 offset=200 local.get $288 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 75 call $std/array/Dim#set:height local.get $288 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 140 call $std/array/Dim#set:width local.get $288 @@ -31375,1041 +42483,568 @@ i32.const 0 call $std/array/Dim#constructor local.tee $289 - i32.store $0 offset=200 - local.get $289 - i32.const 70 - call $std/array/Dim#set:height - local.get $289 - i32.const 140 - call $std/array/Dim#set:width - local.get $289 - call $~lib/array/Array#__set - local.get $276 - global.set $std/array/inputStabArr - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - i32.const 23 - i32.const 0 - call $~lib/rt/__newArray - local.tee $290 i32.store $0 offset=204 - global.get $~lib/memory/__stack_pointer - local.get $290 - i32.load $0 offset=4 - local.tee $291 - i32.store $0 offset=208 - local.get $290 - i32.const 0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $292 - i32.store $0 offset=212 - local.get $292 - i32.const 70 - call $std/array/Dim#set:height - local.get $292 - i32.const 95 - call $std/array/Dim#set:width - local.get $292 - call $~lib/array/Array#__set - local.get $290 - i32.const 1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $293 - i32.store $0 offset=216 - local.get $293 - i32.const 70 - call $std/array/Dim#set:height - local.get $293 - i32.const 125 - call $std/array/Dim#set:width - local.get $293 - call $~lib/array/Array#__set - local.get $290 - i32.const 2 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $294 - i32.store $0 offset=220 - local.get $294 - i32.const 70 - call $std/array/Dim#set:height - local.get $294 - i32.const 130 - call $std/array/Dim#set:width - local.get $294 - call $~lib/array/Array#__set - local.get $290 - i32.const 3 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $295 - i32.store $0 offset=224 - local.get $295 - i32.const 70 - call $std/array/Dim#set:height - local.get $295 - i32.const 140 - call $std/array/Dim#set:width - local.get $295 - call $~lib/array/Array#__set - local.get $290 - i32.const 4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $296 - i32.store $0 offset=228 - local.get $296 - i32.const 75 - call $std/array/Dim#set:height - local.get $296 - i32.const 140 - call $std/array/Dim#set:width - local.get $296 - call $~lib/array/Array#__set - local.get $290 - i32.const 5 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $297 - i32.store $0 offset=232 - local.get $297 - i32.const 80 - call $std/array/Dim#set:height - local.get $297 - i32.const 110 - call $std/array/Dim#set:width - local.get $297 - call $~lib/array/Array#__set - local.get $290 - i32.const 6 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $298 - i32.store $0 offset=236 - local.get $298 - i32.const 90 - call $std/array/Dim#set:height - local.get $298 - i32.const 90 - call $std/array/Dim#set:width - local.get $298 - call $~lib/array/Array#__set - local.get $290 - i32.const 7 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $299 - i32.store $0 offset=240 - local.get $299 - i32.const 100 - call $std/array/Dim#set:height - local.get $299 - i32.const 80 - call $std/array/Dim#set:width - local.get $299 - call $~lib/array/Array#__set - local.get $290 - i32.const 8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $300 - i32.store $0 offset=244 - local.get $300 - i32.const 100 - call $std/array/Dim#set:height - local.get $300 - i32.const 100 - call $std/array/Dim#set:width - local.get $300 - call $~lib/array/Array#__set - local.get $290 - i32.const 9 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $301 - i32.store $0 offset=248 - local.get $301 - i32.const 100 - call $std/array/Dim#set:height - local.get $301 - i32.const 120 - call $std/array/Dim#set:width - local.get $301 - call $~lib/array/Array#__set - local.get $290 - i32.const 10 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $302 - i32.store $0 offset=252 - local.get $302 - i32.const 100 - call $std/array/Dim#set:height - local.get $302 - i32.const 135 - call $std/array/Dim#set:width - local.get $302 - call $~lib/array/Array#__set - local.get $290 - i32.const 11 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $std/array/Dim#constructor - local.tee $303 - i32.store $0 offset=256 - local.get $303 - i32.const 110 - call $std/array/Dim#set:height - local.get $303 - i32.const 115 - call $std/array/Dim#set:width - local.get $303 - call $~lib/array/Array#__set - local.get $290 - global.set $std/array/outputStabArr - global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 2 - i32.const 9 - i32.const 9200 - call $~lib/rt/__newArray - local.tee $306 - i32.store $0 offset=260 - local.get $306 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/array/Array#sort@varargs - drop - local.get $306 - i32.const 3 - i32.const 2 - i32.const 9 - i32.const 9264 - call $~lib/rt/__newArray - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1091 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 2 - i32.const 9 - i32.const 9296 - call $~lib/rt/__newArray - local.tee $311 - i32.store $0 offset=264 - local.get $311 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/array/Array#sort@varargs - drop - local.get $311 - i32.const 8 - i32.const 2 - i32.const 9 - i32.const 9360 - call $~lib/rt/__newArray - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1095 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 3 - i32.const 12 - i32.const 9424 - call $~lib/rt/__newArray - local.tee $316 - i32.store $0 offset=268 - local.get $316 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/array/Array#sort@varargs - drop - local.get $316 - i32.const 8 - i32.const 3 - i32.const 12 - i32.const 9552 - call $~lib/rt/__newArray + local.get $289 local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1099 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 9648 - call $~lib/rt/__newArray - local.tee $321 - i32.store $0 offset=272 - local.get $321 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/array/Array#sort@varargs - drop - local.get $321 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 9728 - call $~lib/rt/__newArray + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 70 + call $std/array/Dim#set:height + local.get $289 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 140 + call $std/array/Dim#set:width + local.get $289 + call $~lib/array/Array#__set + local.get $276 + global.set $std/array/inputStabArr global.get $~lib/memory/__stack_pointer - i32.const 5 + i32.const 12 i32.const 2 - i32.const 8 - i32.const 9776 + i32.const 23 + i32.const 0 call $~lib/rt/__newArray - local.tee $326 - i32.store $0 offset=276 - local.get $326 + local.tee $290 + i32.store $0 offset=208 + global.get $~lib/memory/__stack_pointer + local.get $290 + i32.load $0 offset=4 + local.tee $291 + i32.store $0 offset=212 + local.get $290 i32.const 0 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/array/Array#sort@varargs - drop - local.get $326 - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 9856 - call $~lib/rt/__newArray + call $std/array/Dim#constructor + local.tee $292 + i32.store $0 offset=216 + local.get $292 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1107 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 9904 - call $~lib/rt/__newArray - local.tee $331 - i32.store $0 offset=280 + i32.const 70 + call $std/array/Dim#set:height + local.get $292 + local.set $478 global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 95 + call $std/array/Dim#set:width + local.get $292 + call $~lib/array/Array#__set + local.get $290 i32.const 1 - i32.const 2 - i32.const 4 - i32.const 9936 - call $~lib/rt/__newArray - local.tee $334 - i32.store $0 offset=284 global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 9968 - call $~lib/rt/__newArray - local.tee $337 - i32.store $0 offset=288 + i32.const 0 + call $std/array/Dim#constructor + local.tee $293 + i32.store $0 offset=220 + local.get $293 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 10000 - call $~lib/rt/__newArray - local.tee $340 - i32.store $0 offset=292 + local.get $478 + i32.store $0 + local.get $478 + i32.const 70 + call $std/array/Dim#set:height + local.get $293 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $478 + i32.store $0 + local.get $478 + i32.const 125 + call $std/array/Dim#set:width + local.get $293 + call $~lib/array/Array#__set + local.get $290 i32.const 2 - i32.const 4 - i32.const 10048 - call $~lib/rt/__newArray - local.tee $343 - i32.store $0 offset=296 - global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createReverseOrderedArray - local.tee $344 - i32.store $0 offset=300 global.get $~lib/memory/__stack_pointer - i32.const 128 - call $std/array/createReverseOrderedArray - local.tee $345 - i32.store $0 offset=304 + i32.const 0 + call $std/array/Dim#constructor + local.tee $294 + i32.store $0 offset=224 + local.get $294 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 1024 - call $std/array/createReverseOrderedArray - local.tee $346 - i32.store $0 offset=308 + local.get $478 + i32.store $0 + local.get $478 + i32.const 70 + call $std/array/Dim#set:height + local.get $294 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 10000 - call $std/array/createReverseOrderedArray - local.tee $347 - i32.store $0 offset=312 + local.get $478 + i32.store $0 + local.get $478 + i32.const 130 + call $std/array/Dim#set:width + local.get $294 + call $~lib/array/Array#__set + local.get $290 + i32.const 3 global.get $~lib/memory/__stack_pointer - i32.const 512 - call $std/array/createRandomOrderedArray - local.tee $348 - i32.store $0 offset=316 - local.get $331 - call $std/array/assertSortedDefault - local.get $334 - call $std/array/assertSortedDefault - local.get $334 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 10128 - call $~lib/rt/__newArray + i32.const 0 + call $std/array/Dim#constructor + local.tee $295 + i32.store $0 offset=228 + local.get $295 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1127 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $337 - call $std/array/assertSortedDefault - local.get $337 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 10160 - call $~lib/rt/__newArray + i32.const 70 + call $std/array/Dim#set:height + local.get $295 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1130 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $340 - call $std/array/assertSortedDefault - local.get $340 - local.get $343 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1133 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $344 - call $std/array/assertSortedDefault - local.get $344 - local.get $343 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $345 - call $std/array/assertSortedDefault - local.get $345 - local.get $343 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1139 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $346 - call $std/array/assertSortedDefault - local.get $346 - local.get $343 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1142 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $347 - call $std/array/assertSortedDefault - local.get $347 - local.get $343 + i32.const 140 + call $std/array/Dim#set:width + local.get $295 + call $~lib/array/Array#__set + local.get $290 i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1145 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $348 - call $std/array/assertSortedDefault - call $std/array/assertStableSortedForComplexObjects - global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createRandomOrderedArray - local.tee $353 - i32.store $0 offset=320 global.get $~lib/memory/__stack_pointer - i32.const 257 - call $std/array/createRandomOrderedArray - local.tee $354 - i32.store $0 offset=324 - local.get $353 - i32.const 10224 + i32.const 0 + call $std/array/Dim#constructor + local.tee $296 + i32.store $0 offset=232 + local.get $296 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted - local.get $353 - i32.const 10256 + i32.const 75 + call $std/array/Dim#set:height + local.get $296 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted - local.get $354 - i32.const 10288 + i32.const 140 + call $std/array/Dim#set:width + local.get $296 + call $~lib/array/Array#__set + local.get $290 + i32.const 5 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $std/array/Dim#constructor + local.tee $297 + i32.store $0 offset=236 + local.get $297 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted - local.get $354 - i32.const 10320 + i32.const 80 + call $std/array/Dim#set:height + local.get $297 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted + i32.const 110 + call $std/array/Dim#set:width + local.get $297 + call $~lib/array/Array#__set + local.get $290 + i32.const 6 global.get $~lib/memory/__stack_pointer - i32.const 2 - call $std/array/createReverseOrderedNestedArray - local.tee $355 - i32.store $0 offset=328 - local.get $355 - i32.const 10352 + i32.const 0 + call $std/array/Dim#constructor + local.tee $298 + i32.store $0 offset=240 + local.get $298 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted<~lib/array/Array> - global.get $~lib/memory/__stack_pointer - i32.const 512 - call $std/array/createReverseOrderedElementsArray - local.tee $356 - i32.store $0 offset=332 - local.get $356 - i32.const 10384 + i32.const 90 + call $std/array/Dim#set:height + local.get $298 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $std/array/assertSorted> - global.get $~lib/memory/__stack_pointer - i32.const 7 - i32.const 2 - i32.const 34 - i32.const 10576 - call $~lib/rt/__newArray - local.tee $359 - i32.store $0 offset=336 - global.get $~lib/memory/__stack_pointer + i32.const 90 + call $std/array/Dim#set:width + local.get $298 + call $~lib/array/Array#__set + local.get $290 i32.const 7 - i32.const 2 - i32.const 34 - i32.const 10624 - call $~lib/rt/__newArray - local.tee $362 - i32.store $0 offset=340 - local.get $359 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $std/array/assertSorted<~lib/string/String|null>@varargs - local.get $359 - local.get $362 - i32.const 0 - call $std/array/isArraysEqual<~lib/string/String|null> - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1184 - i32.const 3 - call $~lib/builtins/abort - unreachable - end global.get $~lib/memory/__stack_pointer - i32.const 400 - call $std/array/createRandomStringArray - local.tee $363 - i32.store $0 offset=344 - local.get $363 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $std/array/assertSorted<~lib/string/String>@varargs - i32.const 2 - i32.const 0 - i32.const 37 - i32.const 10736 - call $~lib/rt/__newArray + call $std/array/Dim#constructor + local.tee $299 + i32.store $0 offset=244 + local.get $299 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - i32.const 10832 + i32.const 100 + call $std/array/Dim#set:height + local.get $299 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 80 + call $std/array/Dim#set:width + local.get $299 + call $~lib/array/Array#__set + local.get $290 + i32.const 8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $std/array/Dim#constructor + local.tee $300 + i32.store $0 offset=248 + local.get $300 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 10864 + i32.const 100 + call $std/array/Dim#set:height + local.get $300 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 10912 - call $~lib/rt/__newArray - local.set $478 + i32.const 100 + call $std/array/Dim#set:width + local.get $300 + call $~lib/array/Array#__set + local.get $290 + i32.const 9 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=348 - local.get $478 - i32.const 10544 + i32.const 0 + call $std/array/Dim#constructor + local.tee $301 + i32.store $0 offset=252 + local.get $301 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 100 + call $std/array/Dim#set:height + local.get $301 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 10944 - local.set $478 + i32.const 120 + call $std/array/Dim#set:width + local.get $301 + call $~lib/array/Array#__set + local.get $290 + i32.const 10 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1194 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 8 - i32.const 10976 - call $~lib/rt/__newArray + i32.const 0 + call $std/array/Dim#constructor + local.tee $302 + i32.store $0 offset=256 + local.get $302 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - i32.const 11008 + i32.const 100 + call $std/array/Dim#set:height + local.get $302 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 135 + call $std/array/Dim#set:width + local.get $302 + call $~lib/array/Array#__set + local.get $290 + i32.const 11 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $std/array/Dim#constructor + local.tee $303 + i32.store $0 offset=260 + local.get $303 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 10944 + i32.const 110 + call $std/array/Dim#set:height + local.get $303 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=8 + i32.store $0 local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1195 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 + i32.const 115 + call $std/array/Dim#set:width + local.get $303 + call $~lib/array/Array#__set + local.get $290 + global.set $std/array/outputStabArr + global.get $~lib/memory/__stack_pointer + i32.const 3 i32.const 2 - i32.const 4 - i32.const 11040 + i32.const 9 + i32.const 9200 call $~lib/rt/__newArray + local.tee $306 + i32.store $0 offset=264 + local.get $306 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 - local.get $478 - i32.const 11072 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#sort@varargs + drop + local.get $306 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 11104 + i32.const 3 + i32.const 2 + i32.const 9 + i32.const 9264 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1196 + i32.const 1091 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 6 - i32.const 3 - i32.const 12 - i32.const 11184 - call $~lib/rt/__newArray - local.set $478 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=348 - local.get $478 - i32.const 11264 + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 9296 + call $~lib/rt/__newArray + local.tee $311 + i32.store $0 offset=268 + local.get $311 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#sort@varargs + drop + local.get $311 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 12432 + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 9360 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1197 + i32.const 1095 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.const 3 - i32.const 2 - i32.const 34 - i32.const 12576 + i32.const 12 + i32.const 9424 call $~lib/rt/__newArray + local.tee $316 + i32.store $0 offset=272 + local.get $316 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 - local.get $478 - i32.const 10544 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array<~lib/string/String|null>#join + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#sort@varargs + drop + local.get $316 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 12544 + i32.const 8 + i32.const 3 + i32.const 12 + i32.const 9552 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1198 + i32.const 1099 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 5 i32.const 2 - i32.const 13 - i32.const 0 + i32.const 4 + i32.const 9648 call $~lib/rt/__newArray - local.tee $376 - i32.store $0 offset=356 - global.get $~lib/memory/__stack_pointer - local.get $376 - i32.load $0 offset=4 - local.tee $377 - i32.store $0 offset=360 - local.get $376 - i32.const 0 - i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $376 - i32.const 1 - i32.const 0 - call $~lib/array/Array#__set - local.get $376 - i32.const 2 - i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $376 - local.tee $378 - i32.store $0 offset=364 - local.get $378 - i32.const 10832 + local.tee $321 + i32.store $0 offset=276 + local.get $321 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#sort@varargs + drop + local.get $321 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 12672 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 9728 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1200 + i32.const 1103 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 5 i32.const 2 - i32.const 10 - i32.const 0 + i32.const 8 + i32.const 9776 call $~lib/rt/__newArray - local.tee $379 - i32.store $0 offset=368 - global.get $~lib/memory/__stack_pointer - local.get $379 - i32.load $0 offset=4 - local.tee $380 - i32.store $0 offset=372 - local.get $379 - i32.const 0 - i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $379 - i32.const 1 - i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $379 - local.tee $381 - i32.store $0 offset=376 - local.get $381 - i32.const 10832 + local.tee $326 + i32.store $0 offset=280 + local.get $326 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=352 + i32.store $0 local.get $478 - call $~lib/array/Array#join + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/array/Array#sort@varargs + drop + local.get $326 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 12768 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 9856 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1203 + i32.const 1107 i32.const 3 call $~lib/builtins/abort unreachable @@ -32418,2589 +43053,1920 @@ i32.const 0 i32.const 2 i32.const 4 - i32.const 12864 + i32.const 9904 call $~lib/rt/__newArray - local.tee $384 - i32.store $0 offset=380 + local.tee $331 + i32.store $0 offset=284 global.get $~lib/memory/__stack_pointer i32.const 1 i32.const 2 i32.const 4 - i32.const 12896 + i32.const 9936 call $~lib/rt/__newArray - local.tee $387 - i32.store $0 offset=384 + local.tee $334 + i32.store $0 offset=288 global.get $~lib/memory/__stack_pointer i32.const 2 i32.const 2 i32.const 4 - i32.const 12928 + i32.const 9968 call $~lib/rt/__newArray - local.tee $390 - i32.store $0 offset=388 + local.tee $337 + i32.store $0 offset=292 global.get $~lib/memory/__stack_pointer i32.const 4 i32.const 2 i32.const 4 - i32.const 12960 + i32.const 10000 call $~lib/rt/__newArray - local.tee $393 - i32.store $0 offset=392 - local.get $384 - call $~lib/array/Array#toString - local.set $478 + local.tee $340 + i32.store $0 offset=296 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - i32.const 10544 - local.set $478 + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 10048 + call $~lib/rt/__newArray + local.tee $343 + i32.store $0 offset=300 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1213 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $387 - call $~lib/array/Array#toString - local.set $478 + i32.const 64 + call $std/array/createReverseOrderedArray + local.tee $344 + i32.store $0 offset=304 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - i32.const 12544 - local.set $478 + i32.const 128 + call $std/array/createReverseOrderedArray + local.tee $345 + i32.store $0 offset=308 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1214 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $390 - call $~lib/array/Array#toString - local.set $478 + i32.const 1024 + call $std/array/createReverseOrderedArray + local.tee $346 + i32.store $0 offset=312 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - i32.const 13008 - local.set $478 + i32.const 10000 + call $std/array/createReverseOrderedArray + local.tee $347 + i32.store $0 offset=316 global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1215 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $393 - call $~lib/array/Array#toString + i32.const 512 + call $std/array/createRandomOrderedArray + local.tee $348 + i32.store $0 offset=320 + local.get $331 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13040 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1216 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 38 - i32.const 13088 - call $~lib/rt/__newArray - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=348 - local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $334 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13120 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1218 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 38 - i32.const 13152 - call $~lib/rt/__newArray - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=348 - local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $334 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13184 - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1219 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 i32.const 1 - i32.const 11 - i32.const 13232 - call $~lib/rt/__newArray - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=348 - local.get $478 - call $~lib/array/Array#toString - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - i32.const 13264 + i32.const 2 + i32.const 4 + i32.const 10128 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1220 + i32.const 1127 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 1 - i32.const 39 - i32.const 13312 - call $~lib/rt/__newArray + local.get $337 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $337 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13344 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 10160 + call $~lib/rt/__newArray local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1221 + i32.const 1130 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 13392 - call $~lib/rt/__newArray + local.get $340 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $340 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13424 + local.get $343 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1222 + i32.const 1133 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 3 - i32.const 40 - i32.const 13488 - call $~lib/rt/__newArray + local.get $344 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $344 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13536 + local.get $343 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 4 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1223 + i32.const 1136 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 5 - i32.const 3 - i32.const 41 - i32.const 13616 - call $~lib/rt/__newArray + local.get $345 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - call $~lib/array/Array#toString + call $std/array/assertSortedDefault + local.get $345 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13680 + local.get $343 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 4 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1224 + i32.const 1139 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $346 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 7 - i32.const 2 - i32.const 34 - i32.const 13840 - call $~lib/rt/__newArray - local.tee $410 - i32.store $0 offset=396 - local.get $410 - call $~lib/array/Array<~lib/string/String|null>#toString + local.get $478 + i32.store $0 + local.get $478 + call $std/array/assertSortedDefault + local.get $346 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 13888 + local.get $343 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 4 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1231 + i32.const 1142 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 4 - i32.const 2 - i32.const 34 - i32.const 14000 - call $~lib/rt/__newArray + local.get $347 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 local.get $478 - call $~lib/array/Array<~lib/string/String|null>#toString + call $std/array/assertSortedDefault + local.get $347 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 14048 + local.get $343 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq + i32.const 4 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 528 - i32.const 1232 + i32.const 1145 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $348 + local.set $478 global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + call $std/array/assertSortedDefault + call $std/array/assertStableSortedForComplexObjects global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $413 - i32.store $0 offset=400 + i32.const 64 + call $std/array/createRandomOrderedArray + local.tee $353 + i32.store $0 offset=324 global.get $~lib/memory/__stack_pointer - local.get $413 - i32.load $0 offset=4 - local.tee $414 - i32.store $0 offset=404 - local.get $413 - i32.const 0 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 14080 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $413 - i32.const 1 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 14112 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $413 - local.tee $419 - i32.store $0 offset=408 - local.get $419 - call $~lib/array/Array<~lib/array/Array>#toString + i32.const 257 + call $std/array/createRandomOrderedArray + local.tee $354 + i32.store $0 offset=328 + local.get $353 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 14144 + i32.const 10224 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1235 - 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 42 - i32.const 0 - call $~lib/rt/__newArray - local.tee $420 - i32.store $0 offset=412 - global.get $~lib/memory/__stack_pointer - local.get $420 - i32.load $0 offset=4 - local.tee $421 - i32.store $0 offset=416 - local.get $420 - i32.const 0 - i32.const 2 - i32.const 0 - i32.const 7 - i32.const 14192 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $420 - i32.const 1 - i32.const 2 - i32.const 0 - i32.const 7 - i32.const 14224 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $420 - local.tee $426 - i32.store $0 offset=420 - local.get $426 - call $~lib/array/Array<~lib/array/Array>#toString + call $std/array/assertSorted + local.get $353 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 14144 + i32.const 10256 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1238 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 44 - i32.const 0 - call $~lib/rt/__newArray - local.tee $427 - i32.store $0 offset=424 - global.get $~lib/memory/__stack_pointer - local.get $427 - i32.load $0 offset=4 - local.tee $428 - i32.store $0 offset=428 - local.get $427 - i32.const 0 - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 43 - i32.const 0 - call $~lib/rt/__newArray - local.tee $429 - i32.store $0 offset=432 - global.get $~lib/memory/__stack_pointer - local.get $429 - i32.load $0 offset=4 - local.tee $430 - i32.store $0 offset=436 - local.get $429 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 8 - i32.const 14256 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $429 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__set - local.get $427 - local.tee $433 - i32.store $0 offset=440 - local.get $433 - call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString + call $std/array/assertSorted + local.get $354 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - i32.const 12544 + i32.const 10288 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 offset=8 local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1241 - 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.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $434 - i32.store $0 offset=444 - global.get $~lib/memory/__stack_pointer - local.get $434 - i32.load $0 offset=4 - local.tee $435 - i32.store $0 offset=448 - local.get $434 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 14288 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 - i32.const 1 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 14320 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 14352 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 - i32.const 3 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 14384 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $434 - local.tee $444 - i32.store $0 offset=452 - global.get $~lib/memory/__stack_pointer - local.get $444 - call $~lib/array/Array<~lib/array/Array>#flat - local.tee $445 - i32.store $0 offset=456 - local.get $445 - call $~lib/array/Array#get:length - i32.const 10 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1248 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $446 - loop $for-loop|7 - local.get $446 - i32.const 10 - i32.lt_s - if - local.get $445 - local.get $446 - call $~lib/array/Array#__get - local.get $446 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1250 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $446 - i32.const 1 - i32.add - local.set $446 - br $for-loop|7 - end - end - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 45 - i32.const 0 - call $~lib/rt/__newArray - local.tee $447 - i32.store $0 offset=460 + call $std/array/assertSorted + local.get $354 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $447 - i32.load $0 offset=4 - local.tee $448 - i32.store $0 offset=464 - local.get $447 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 34 - i32.const 14448 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 - i32.const 1 - i32.const 3 - i32.const 2 - i32.const 34 - i32.const 14544 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 34 - i32.const 14672 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 - i32.const 3 - i32.const 1 - i32.const 2 - i32.const 34 - i32.const 14736 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set - local.get $447 - local.tee $457 - i32.store $0 offset=468 + local.get $478 + i32.store $0 + local.get $478 + i32.const 10320 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $457 - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat - local.tee $458 - i32.store $0 offset=472 + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - i32.const 8 i32.const 2 - i32.const 34 - i32.const 14768 - call $~lib/rt/__newArray - local.tee $461 - i32.store $0 offset=476 - local.get $458 - call $~lib/array/Array<~lib/string/String|null>#get:length - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1256 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $462 - loop $for-loop|8 - local.get $462 - local.get $461 - call $~lib/array/Array<~lib/string/String|null>#get:length - i32.lt_s - if - local.get $458 - local.get $462 - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 - local.get $478 - local.get $461 - local.get $462 - call $~lib/array/Array<~lib/string/String|null>#__get - local.set $478 - global.get $~lib/memory/__stack_pointer - local.get $478 - i32.store $0 offset=8 - local.get $478 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 528 - i32.const 1258 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $462 - i32.const 1 - i32.add - local.set $462 - br $for-loop|8 - end - end + call $std/array/createReverseOrderedNestedArray + local.tee $355 + i32.store $0 offset=332 + local.get $355 + local.set $478 global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 10352 + local.set $478 global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + i32.const 512 + call $std/array/createReverseOrderedElementsArray + local.tee $356 + i32.store $0 offset=336 + local.get $356 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 10384 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $std/array/assertSorted> + global.get $~lib/memory/__stack_pointer + i32.const 7 i32.const 2 - i32.const 2 - i32.const 29 - i32.const 0 + i32.const 34 + i32.const 10576 call $~lib/rt/__newArray - local.tee $463 - i32.store $0 offset=480 + local.tee $359 + i32.store $0 offset=340 global.get $~lib/memory/__stack_pointer - local.get $463 - i32.load $0 offset=4 - local.tee $464 - i32.store $0 offset=484 - local.get $463 - i32.const 0 - i32.const 0 + i32.const 7 i32.const 2 - i32.const 4 - i32.const 14832 + i32.const 34 + i32.const 10624 call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $463 + local.tee $362 + i32.store $0 offset=344 + local.get $359 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.const 2 - i32.const 4 - i32.const 14864 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $463 - local.tee $469 - i32.store $0 offset=488 - local.get $469 - call $~lib/array/Array<~lib/array/Array>#flat + call $std/array/assertSorted<~lib/string/String|null>@varargs + local.get $359 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - call $~lib/array/Array#get:length + local.get $362 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 i32.const 0 - i32.eq + call $std/array/isArraysEqual<~lib/string/String|null> i32.eqz if i32.const 0 i32.const 528 - i32.const 1262 + i32.const 1184 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 400 + call $std/array/createRandomStringArray + local.tee $363 + i32.store $0 offset=348 + local.get $363 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $470 - i32.store $0 offset=492 - global.get $~lib/memory/__stack_pointer - local.get $470 - i32.load $0 offset=4 - local.tee $471 - i32.store $0 offset=496 - local.get $470 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 14896 - call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $470 - i32.const 1 + local.get $478 + i32.store $0 + local.get $478 i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $std/array/assertSorted<~lib/string/String>@varargs i32.const 2 - i32.const 4 - i32.const 14928 + i32.const 0 + i32.const 37 + i32.const 10736 call $~lib/rt/__newArray - call $~lib/array/Array<~lib/array/Array>#__set - local.get $470 - local.tee $476 - i32.store $0 offset=500 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $476 - i32.const 14960 + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 10832 local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 - i32.store $0 offset=348 + i32.store $0 offset=352 local.get $478 - call $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> + call $~lib/array/Array#join local.set $478 global.get $~lib/memory/__stack_pointer local.get $478 i32.store $0 local.get $478 - call $~lib/array/Array<~lib/array/Array>#flat - local.tee $477 - i32.store $0 offset=504 - local.get $477 - call $~lib/array/Array#get:length - i32.const 4 - i32.eq + i32.const 10864 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 1272 + i32.const 1193 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $477 - i32.const 0 - call $~lib/array/Array#__get - i32.const 1 - i32.eq + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 10912 + call $~lib/rt/__newArray + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 10544 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 10944 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 1273 + i32.const 1194 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $477 - i32.const 1 - call $~lib/array/Array#__get i32.const 3 - i32.eq + i32.const 2 + i32.const 8 + i32.const 10976 + call $~lib/rt/__newArray + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 11008 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 10944 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 1274 + i32.const 1195 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $477 i32.const 2 - call $~lib/array/Array#__get i32.const 2 - i32.eq + i32.const 4 + i32.const 11040 + call $~lib/rt/__newArray + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 11072 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 11104 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 1275 + i32.const 1196 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $477 - i32.const 3 - call $~lib/array/Array#__get + i32.const 6 i32.const 3 - i32.eq + i32.const 12 + i32.const 11184 + call $~lib/rt/__newArray + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 11264 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 12432 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 528 - i32.const 1276 + i32.const 1197 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - global.set $std/array/arr - i32.const 0 - global.set $std/array/inputStabArr - i32.const 0 - global.set $std/array/outputStabArr - global.get $~lib/memory/__heap_base - global.set $~lib/memory/__stack_pointer - call $~lib/rt/itcms/__collect + i32.const 3 + i32.const 2 + i32.const 34 + i32.const 12576 + call $~lib/rt/__newArray + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 508 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 10544 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array<~lib/string/String|null>#join + local.set $478 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $478 + i32.store $0 + local.get $478 + i32.const 12544 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 70 - i32.const 60 + i32.const 0 + i32.const 528 + i32.const 1198 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3 i32.const 2 - i32.shl - local.set $bufferSize + i32.const 13 + i32.const 0 + call $~lib/rt/__newArray + local.tee $376 + i32.store $0 offset=356 global.get $~lib/memory/__stack_pointer - local.get $bufferSize + local.get $376 + i32.load $0 offset=4 + local.tee $377 + i32.store $0 offset=360 + local.get $376 + i32.const 0 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $376 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 + i32.const 0 + call $~lib/array/Array#__set + local.get $376 i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $376 + local.tee $378 + i32.store $0 offset=364 + local.get $378 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $std/array/Ref#constructor (type $i32_i32_=>_i32) (param $this i32) (param $v i32) (result i32) - (local $2 i32) + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 10832 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this + local.get $478 + i32.const 12672 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 528 + i32.const 1200 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.get $v - call $std/array/Ref#set:v - local.get $this - 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer i32) - (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 2 + i32.const 2 + i32.const 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $379 + i32.store $0 offset=368 + global.get $~lib/memory/__stack_pointer + local.get $379 + i32.load $0 offset=4 + local.tee $380 + i32.store $0 offset=372 + local.get $379 + i32.const 0 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $379 + i32.const 1 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $379 + local.tee $381 + i32.store $0 offset=376 + local.get $381 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + i32.const 10832 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=352 + local.get $478 + call $~lib/array/Array#join + local.set $478 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $478 + i32.store $0 + local.get $478 + i32.const 12768 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 0 + i32.const 528 + i32.const 1203 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $length - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 576 - i32.const 19 - i32.const 57 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $length - local.get $alignLog2 - i32.shl - local.tee $length + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 12864 + call $~lib/rt/__newArray + local.tee $384 + i32.store $0 offset=380 + global.get $~lib/memory/__stack_pointer i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.get $length - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $this - local.set $4 + i32.const 4 + i32.const 12896 + call $~lib/rt/__newArray + local.tee $387 + i32.store $0 offset=384 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 12928 + call $~lib/rt/__newArray + local.tee $390 + i32.store $0 offset=388 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 4 + i32.const 12960 + call $~lib/rt/__newArray + local.tee $393 + i32.store $0 offset=392 + local.get $384 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $this + local.get $478 + i32.const 10544 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 528 + i32.const 1213 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $387 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $this - local.set $2 + local.get $478 + i32.const 12544 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) - (local $bufferSize i32) - (local $buffer i32) - (local $array i32) - (local $7 i32) + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1214 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $390 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $length - local.get $alignLog2 - i32.shl - local.set $bufferSize + local.get $478 + i32.const 13008 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - local.get $data - call $~lib/rt/__newBuffer - local.tee $buffer - i32.store $0 - i32.const 16 - local.get $id - call $~lib/rt/itcms/__new - local.set $array - local.get $array - local.get $buffer - i32.store $0 - local.get $array - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - local.get $array - local.get $buffer - i32.store $0 offset=4 - local.get $array - local.get $bufferSize + local.get $478 i32.store $0 offset=8 - local.get $array - local.get $length - i32.store $0 offset=12 - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - ) - (func $std/array/internalCapacity (type $i32_=>_i32) (param $array i32) (result i32) - (local $buffer i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1215 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $393 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/array/Array#get:buffer - local.tee $buffer + local.get $478 i32.store $0 - local.get $buffer - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 2 - i32.shr_s - local.set $2 + local.get $478 + i32.const 13040 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - ) - (func $~lib/array/Array#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisLen i32) - (local $otherLen i32) - (local $outLen i32) - (local $out i32) - (local $outStart i32) - (local $thisSize i32) - (local $8 i32) + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1216 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 0 + i32.const 38 + i32.const 13088 + call $~lib/rt/__newArray + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $thisLen - local.get $other - call $~lib/array/Array#get:length_ - local.set $otherLen - local.get $thisLen - local.get $otherLen - i32.add - local.set $outLen - local.get $outLen - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.get $478 + i32.const 13120 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz if - i32.const 32 - i32.const 80 - i32.const 224 - i32.const 60 + i32.const 0 + i32.const 528 + i32.const 1218 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $outLen - i32.const 2 - i32.const 4 + i32.const 3 i32.const 0 + i32.const 38 + i32.const 13152 call $~lib/rt/__newArray - local.tee $out - i32.store $0 - local.get $out - call $~lib/array/Array#get:dataStart - local.set $outStart - local.get $thisLen - i32.const 2 - i32.shl - local.set $thisSize - i32.const 0 - drop - local.get $outStart - local.get $this - call $~lib/array/Array#get:dataStart - local.get $thisSize - memory.copy $0 $0 - local.get $outStart - local.get $thisSize - i32.add - local.get $other - call $~lib/array/Array#get:dataStart - local.get $otherLen - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $out - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len 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 $slice i32) - (local $sliceBase i32) - (local $thisBase i32) - (local $17 i32) + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $start - local.get $len - i32.add - local.tee $4 + local.get $478 + i32.const 13184 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select + i32.const 528 + i32.const 1219 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $start - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $end - local.get $len - i32.add - local.tee $8 + i32.const 3 + i32.const 1 + i32.const 11 + i32.const 13232 + call $~lib/rt/__newArray + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 13264 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select + i32.const 528 + i32.const 1220 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $end - local.get $end - local.get $start - i32.sub - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - local.set $len - global.get $~lib/memory/__stack_pointer - local.get $len i32.const 2 - i32.const 4 - i32.const 0 + i32.const 1 + i32.const 39 + i32.const 13312 call $~lib/rt/__newArray - local.tee $slice + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $slice - call $~lib/array/Array#get:dataStart - local.set $sliceBase - local.get $this - call $~lib/array/Array#get:dataStart - local.get $start + local.get $478 + i32.const 13344 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1221 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 2 - i32.shl - i32.add - local.set $thisBase - i32.const 0 - drop - local.get $sliceBase - local.get $thisBase - local.get $len i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $slice - local.set $17 - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $17 - return - ) - (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) - (local $len 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 $result i32) - (local $resultStart i32) - (local $thisStart i32) - (local $thisBase i32) - (local $offset i32) - (local $17 i32) + i32.const 13392 + call $~lib/rt/__newArray + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $4 + local.get $478 + i32.const 13424 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select + i32.const 528 + i32.const 1222 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $start - local.get $deleteCount - local.tee $8 - local.get $len - local.get $start - i32.sub - local.tee $9 - local.get $8 - local.get $9 - i32.lt_s - select - local.tee $10 - i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - local.set $deleteCount + i32.const 3 + i32.const 3 + i32.const 40 + i32.const 13488 + call $~lib/rt/__newArray + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $deleteCount - i32.const 2 - i32.const 4 - i32.const 0 + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 13536 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1223 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 5 + i32.const 3 + i32.const 41 + i32.const 13616 call $~lib/rt/__newArray - local.tee $result + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $result - call $~lib/array/Array#get:dataStart - local.set $resultStart - local.get $this - call $~lib/array/Array#get:dataStart - local.set $thisStart - local.get $thisStart - local.get $start - i32.const 2 - i32.shl - i32.add - local.set $thisBase - local.get $resultStart - local.get $thisBase - local.get $deleteCount - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $start - local.get $deleteCount - i32.add - local.set $offset - local.get $len - local.get $offset - i32.ne + local.get $478 + i32.const 13680 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz if - local.get $thisBase - local.get $thisStart - local.get $offset - i32.const 2 - i32.shl - i32.add - local.get $len - local.get $offset - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 + i32.const 0 + i32.const 528 + i32.const 1224 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.get $len - local.get $deleteCount - i32.sub - call $~lib/array/Array#set:length_ - local.get $result - local.set $17 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $17 - return - ) - (func $~lib/array/Array#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) - (local $len 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 $result i32) - (local $resultStart i32) - (local $thisStart i32) - (local $thisBase i32) - (local $offset i32) - (local $17 i32) + i32.const 7 + i32.const 2 + i32.const 34 + i32.const 13840 + call $~lib/rt/__newArray + local.tee $410 + i32.store $0 offset=396 + local.get $410 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/string/String|null>#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 13888 + local.set $478 global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1231 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 2 + i32.const 34 + i32.const 14000 + call $~lib/rt/__newArray + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/string/String|null>#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $4 + local.get $478 + i32.const 14048 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select + i32.const 528 + i32.const 1232 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $start - local.get $deleteCount - local.tee $8 - local.get $len - local.get $start - i32.sub - local.tee $9 - local.get $8 - local.get $9 - i32.lt_s - select - local.tee $10 - i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - local.set $deleteCount global.get $~lib/memory/__stack_pointer - local.get $deleteCount + global.get $~lib/memory/__stack_pointer i32.const 2 - i32.const 10 + i32.const 2 + i32.const 29 i32.const 0 call $~lib/rt/__newArray - local.tee $result - i32.store $0 - local.get $result - call $~lib/array/Array#get:dataStart - local.set $resultStart - local.get $this - call $~lib/array/Array#get:dataStart - local.set $thisStart - local.get $thisStart - local.get $start + local.tee $413 + i32.store $0 offset=400 + global.get $~lib/memory/__stack_pointer + local.get $413 + i32.load $0 offset=4 + local.tee $414 + i32.store $0 offset=404 + local.get $413 + i32.const 0 i32.const 2 - i32.shl - i32.add - local.set $thisBase - local.get $resultStart - local.get $thisBase - local.get $deleteCount i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $start - local.get $deleteCount - i32.add - local.set $offset - local.get $len - local.get $offset - i32.ne - if - local.get $thisBase - local.get $thisStart - local.get $offset - i32.const 2 - i32.shl - i32.add - local.get $len - local.get $offset - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 - end - local.get $this - local.get $len - local.get $deleteCount - i32.sub - call $~lib/array/Array#set:length_ - local.get $result - local.set $17 - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $17 - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) - global.get $~lib/memory/__stack_pointer + i32.const 14080 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $413 + i32.const 1 + i32.const 2 + i32.const 2 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 14112 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $413 + local.tee $419 + i32.store $0 offset=408 + local.get $419 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.get $478 + i32.const 14144 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 528 + i32.const 1235 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + global.get $~lib/memory/__stack_pointer i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 + i32.const 2 + i32.const 42 + i32.const 0 + call $~lib/rt/__newArray + local.tee $420 + i32.store $0 offset=412 + global.get $~lib/memory/__stack_pointer + local.get $420 + i32.load $0 offset=4 + local.tee $421 + i32.store $0 offset=416 + local.get $420 + i32.const 0 + i32.const 2 + i32.const 0 + i32.const 7 + i32.const 14192 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $420 i32.const 1 - drop + i32.const 2 i32.const 0 - i32.eqz - drop - local.get $value + i32.const 7 + i32.const 14224 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $420 + local.tee $426 + i32.store $0 offset=420 + local.get $426 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + i32.const 14144 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq i32.eqz if - i32.const 5392 - i32.const 80 - i32.const 118 - i32.const 40 + i32.const 0 + i32.const 528 + i32.const 1238 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $value - 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#splice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $deleteCount i32) (result i32) - (local $len 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 $result i32) - (local $resultStart i32) - (local $thisStart i32) - (local $thisBase i32) - (local $offset i32) - (local $17 i32) global.get $~lib/memory/__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 2 + i32.const 44 i32.const 0 - i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $start - local.get $deleteCount - local.tee $8 - local.get $len - local.get $start - i32.sub - local.tee $9 - local.get $8 - local.get $9 - i32.lt_s - select - local.tee $10 + call $~lib/rt/__newArray + local.tee $427 + i32.store $0 offset=424 + global.get $~lib/memory/__stack_pointer + local.get $427 + i32.load $0 offset=4 + local.tee $428 + i32.store $0 offset=428 + local.get $427 i32.const 0 - local.tee $11 - local.get $10 - local.get $11 - i32.gt_s - select - local.set $deleteCount global.get $~lib/memory/__stack_pointer - local.get $deleteCount + i32.const 1 i32.const 2 - i32.const 13 + i32.const 43 i32.const 0 call $~lib/rt/__newArray - local.tee $result - i32.store $0 - local.get $result - call $~lib/array/Array#get:dataStart - local.set $resultStart - local.get $this - call $~lib/array/Array#get:dataStart - local.set $thisStart - local.get $thisStart - local.get $start - i32.const 2 - i32.shl - i32.add - local.set $thisBase - local.get $resultStart - local.get $thisBase - local.get $deleteCount - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $start - local.get $deleteCount - i32.add - local.set $offset - local.get $len - local.get $offset - i32.ne - if - local.get $thisBase - local.get $thisStart - local.get $offset - i32.const 2 - i32.shl - i32.add - local.get $len - local.get $offset - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 - end - local.get $this - local.get $len - local.get $deleteCount - i32.sub - call $~lib/array/Array#set:length_ - local.get $result - local.set $17 + local.tee $429 + i32.store $0 offset=432 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $17 - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + local.get $429 + i32.load $0 offset=4 + local.tee $430 + i32.store $0 offset=436 + local.get $429 + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 8 + i32.const 14256 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $429 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__set + local.get $427 + local.tee $433 + i32.store $0 offset=440 + local.get $433 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#toString + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.get $478 + i32.const 12544 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 528 + i32.const 1241 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $value - 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/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - (local $sign i32) - (local $out i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|8 i32) - (local $buffer|9 i32) - (local $num|10 i32) - (local $offset|11 i32) - (local $val32 i32) - (local $decimals|13 i32) - (local $14 i32) 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 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $434 + i32.store $0 offset=444 global.get $~lib/memory/__stack_pointer + local.get $434 + i32.load $0 offset=4 + local.tee $435 + i32.store $0 offset=448 + local.get $434 i32.const 0 - i32.store $0 - local.get $radix + i32.const 1 i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6496 - i32.const 6624 - i32.const 373 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i32.eqz - if - i32.const 6688 - local.set $14 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - end - local.get $value - i32.const 31 - i32.shr_u + i32.const 4 + i32.const 14288 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $434 i32.const 1 - i32.shl - local.set $sign - local.get $sign - if - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $radix - i32.const 10 - i32.eq - if - local.get $value - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer - local.get $value - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 31 - local.get $value - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|8 - global.get $~lib/memory/__stack_pointer - local.get $decimals|8 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|9 - local.get $value - local.set $num|10 - local.get $decimals|8 - local.set $offset|11 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|9 - local.get $num|10 - i64.extend_i32_u - local.get $offset|11 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - local.set $val32 - local.get $val32 - i64.extend_i32_u - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|13 - global.get $~lib/memory/__stack_pointer - local.get $decimals|13 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.get $val32 - i64.extend_i32_u - local.get $decimals|13 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $sign - if - local.get $out - i32.const 45 - i32.store16 $0 - end - local.get $out - local.set $14 - global.get $~lib/memory/__stack_pointer + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 14320 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $434 + i32.const 2 + i32.const 3 + i32.const 2 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/array/Array#map<~lib/string/String> (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $len i32) - (local $out i32) - (local $outStart i32) - (local $i i32) - (local $6 i32) - (local $7 i32) - (local $result i32) - (local $9 i32) + i32.const 14352 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $434 + i32.const 3 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 14384 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $434 + local.tee $444 + i32.store $0 offset=452 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $444 + local.set $478 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len + local.get $478 + i32.store $0 + local.get $478 + call $~lib/array/Array<~lib/array/Array>#flat + local.tee $445 + i32.store $0 offset=456 + local.get $445 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.const 16 - i32.const 0 - call $~lib/rt/__newArray - local.tee $out + local.get $478 i32.store $0 - local.get $out - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $outStart + local.get $478 + call $~lib/array/Array#get:length + i32.const 10 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1248 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select + local.set $446 + loop $for-loop|7 + local.get $446 + i32.const 10 i32.lt_s if + local.get $445 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $result - i32.store $0 offset=4 - local.get $outStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $result + local.get $478 i32.store $0 - i32.const 1 - drop - local.get $out - local.get $result - i32.const 1 - call $~lib/rt/itcms/__link - local.get $i + local.get $478 + local.get $446 + call $~lib/array/Array#__get + local.get $446 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1250 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $446 i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $446 + br $for-loop|7 end end - local.get $out - local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - ) - (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $len i32) - (local $out i32) - (local $outStart i32) - (local $i i32) - (local $6 i32) - (local $7 i32) - (local $result f32) - (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 $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - global.get $~lib/memory/__stack_pointer - local.get $len i32.const 2 - i32.const 9 + i32.const 45 i32.const 0 call $~lib/rt/__newArray - local.tee $out - i32.store $0 - local.get $out - call $~lib/array/Array#get:dataStart - local.set $outStart - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - i32.lt_s - if - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_f32) - local.set $result - local.get $outStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $result - f32.store $0 - i32.const 0 - drop - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.set $9 + local.tee $447 + i32.store $0 offset=460 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - ) - (func $~lib/array/Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $len i32) - (local $out i32) - (local $outStart i32) - (local $i i32) - (local $6 i32) - (local $7 i32) - (local $result i32) - (local $9 i32) + local.get $447 + i32.load $0 offset=4 + local.tee $448 + i32.store $0 offset=464 + local.get $447 + i32.const 0 + i32.const 1 + i32.const 2 + i32.const 34 + i32.const 14448 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set + local.get $447 + i32.const 1 + i32.const 3 + i32.const 2 + i32.const 34 + i32.const 14544 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set + local.get $447 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 34 + i32.const 14672 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set + local.get $447 + i32.const 3 + i32.const 1 + i32.const 2 + i32.const 34 + i32.const 14736 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__set + local.get $447 + local.tee $457 + i32.store $0 offset=468 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $457 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len + local.get $478 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat + local.tee $458 + i32.store $0 offset=472 global.get $~lib/memory/__stack_pointer - local.get $len + i32.const 8 i32.const 2 - i32.const 4 - i32.const 0 + i32.const 34 + i32.const 14768 call $~lib/rt/__newArray - local.tee $out + local.tee $461 + i32.store $0 offset=476 + local.get $458 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $out - call $~lib/array/Array#get:dataStart - local.set $outStart + local.get $478 + call $~lib/array/Array<~lib/string/String|null>#get:length + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1256 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - local.tee $6 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select + local.set $462 + loop $for-loop|8 + local.get $462 + local.get $461 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + call $~lib/array/Array<~lib/string/String|null>#get:length i32.lt_s if - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.set $result - local.get $outStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $result + local.get $458 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + local.get $462 + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - i32.const 0 - drop - local.get $i + local.get $478 + local.get $461 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + local.get $462 + call $~lib/array/Array<~lib/string/String|null>#__get + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1258 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $462 i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $462 + br $for-loop|8 end end - local.get $out - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - ) - (func $~lib/array/Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $result i32) - (local $i i32) - (local $len i32) - (local $5 i32) - (local $6 i32) - (local $value 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 2 + i32.const 2 + i32.const 29 i32.const 0 - i32.store $0 + call $~lib/rt/__newArray + local.tee $463 + i32.store $0 offset=480 global.get $~lib/memory/__stack_pointer + local.get $463 + i32.load $0 offset=4 + local.tee $464 + i32.store $0 offset=484 + local.get $463 + i32.const 0 i32.const 0 i32.const 2 i32.const 4 + i32.const 14832 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $463 + i32.const 1 i32.const 0 + i32.const 2 + i32.const 4 + i32.const 14864 call $~lib/rt/__newArray - local.tee $result + call $~lib/array/Array<~lib/array/Array>#__set + local.get $463 + local.tee $469 + i32.store $0 offset=488 + local.get $469 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + call $~lib/array/Array<~lib/array/Array>#flat + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 + local.get $478 + call $~lib/array/Array#get:length i32.const 0 - local.set $i - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - local.tee $5 - local.get $this - call $~lib/array/Array#get:length_ - local.tee $6 - local.get $5 - local.get $6 - i32.lt_s - select - i32.lt_s - if - local.get $this - call $~lib/array/Array#get:dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $result - local.get $value - call $~lib/array/Array#push - drop - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1262 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $result - local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 + i32.const 2 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $470 + i32.store $0 offset=492 global.get $~lib/memory/__stack_pointer + local.get $470 + i32.load $0 offset=4 + local.tee $471 + i32.store $0 offset=496 + local.get $470 i32.const 0 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 14896 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $470 + i32.const 1 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 14928 + call $~lib/rt/__newArray + call $~lib/array/Array<~lib/array/Array>#__set + local.get $470 + local.tee $476 + i32.store $0 offset=500 + global.get $~lib/memory/__stack_pointer + local.get $476 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=8 + local.get $478 + i32.const 14960 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 offset=52 + local.get $478 + call $~lib/array/Array<~lib/array/Array>#map<~lib/array/Array> + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 i32.store $0 - local.get $this + local.get $478 + call $~lib/array/Array<~lib/array/Array>#flat + local.tee $477 + i32.store $0 offset=504 + local.get $477 + local.set $478 + global.get $~lib/memory/__stack_pointer + local.get $478 + i32.store $0 + local.get $478 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 528 + i32.const 1272 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.set $1 + local.get $477 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $std/array/Dim#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $478 + i32.store $0 + local.get $478 + i32.const 0 + call $~lib/array/Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1273 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $477 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $478 + i32.store $0 + local.get $478 + i32.const 1 + call $~lib/array/Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1274 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $477 + local.set $478 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $478 i32.store $0 - local.get $this + local.get $478 + i32.const 2 + call $~lib/array/Array#__get + i32.const 2 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 528 + i32.const 1275 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $477 + local.set $478 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this + local.get $478 i32.store $0 - local.get $this + local.get $478 + i32.const 3 + call $~lib/array/Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 528 + i32.const 1276 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - call $std/array/Dim#set:height - local.get $this + global.set $std/array/arr i32.const 0 - call $std/array/Dim#set:width - local.get $this - local.set $1 + global.set $std/array/inputStabArr + i32.const 0 + global.set $std/array/outputStabArr + 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 4 + i32.const 508 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/array/Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35010,85 +44976,23 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 4 - i32.const 4 - i32.eq - drop - i32.const 9232 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end + i32.const 0 + drop local.get $this - local.get $comparator - 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 (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 - 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 9520 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/array/Array#sort - local.set $2 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit 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 (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35098,39 +45002,23 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 4 - i32.const 4 - i32.le_u - drop - i32.const 9696 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end + i32.const 0 + drop local.get $this - local.get $comparator - call $~lib/array/Array#sort local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + 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 (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35140,89 +45028,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 - drop - i32.const 9824 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end + i32.const 0 + drop local.get $this - local.get $comparator - 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 $std/array/createReverseOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) - (local $arr i32) - (local $i 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $arr i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $arr - local.get $i - local.get $size - i32.const 1 - i32.sub - local.get $i - i32.sub - call $~lib/array/Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $arr - local.set $3 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $std/array/createRandomOrderedArray (type $i32_=>_i32) (param $size i32) (result i32) - (local $arr i32) - (local $i i32) - (local $3 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35231,198 +45054,94 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $arr + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $arr - local.get $i - call $~lib/math/NativeMath.random - local.get $size - f64.convert_i32_s - f64.mul - i32.trunc_sat_f64_s - call $~lib/array/Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $arr - local.set $3 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit 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#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len 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 $slice i32) - (local $sliceBase i32) - (local $thisBase i32) - (local $off i32) - (local $end|18 i32) - (local $ref i32) - (local $20 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/array/Array#get:length_ - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $start - local.get $len - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $start - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $end - local.get $len - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $end - local.get $end - local.get $start + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - local.set $len + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.const 23 i32.const 0 - call $~lib/rt/__newArray - local.tee $slice i32.store $0 - local.get $slice - call $~lib/array/Array#get:dataStart - local.set $sliceBase - local.get $this - call $~lib/array/Array#get:dataStart - local.get $start - i32.const 2 - i32.shl - i32.add - local.set $thisBase i32.const 1 drop - i32.const 0 - local.set $off - local.get $len + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ i32.const 2 i32.shl - local.set $end|18 + i32.add + local.set $end loop $while-continue|0 - local.get $off - local.get $end|18 + local.get $cur + local.get $end i32.lt_u if - local.get $thisBase - local.get $off - i32.add + local.get $cur i32.load $0 - local.set $ref - local.get $sliceBase - local.get $off - i32.add - local.get $ref - i32.store $0 - local.get $slice - local.get $ref - i32.const 1 - call $~lib/rt/itcms/__link - local.get $off + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur i32.const 4 i32.add - local.set $off + local.set $cur br $while-continue|0 end end - local.get $slice - local.set $20 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 - return ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35431,205 +45150,120 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index + i32.const 0 + drop local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.get $2 i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5392 - i32.const 80 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit 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<~lib/array/Array>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $this + i32.store $0 i32.const 0 - call $~lib/array/Array<~lib/array/Array>#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne drop local.get $this - local.get $buffer - call $~lib/array/Array<~lib/array/Array>#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array<~lib/array/Array>#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array<~lib/array/Array>#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array<~lib/array/Array>#set:length_ - local.get $this - local.set $6 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $std/array/createReverseOrderedNestedArray (type $i32_=>_i32) (param $size i32) (result i32) - (local $arr i32) - (local $i i32) - (local $inner i32) - (local $4 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $size - call $~lib/array/Array<~lib/array/Array>#constructor - local.tee $arr i32.store $0 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 1 - call $~lib/array/Array#constructor - local.tee $inner - i32.store $0 offset=4 - local.get $inner - i32.const 0 - local.get $size - i32.const 1 - i32.sub - local.get $i - i32.sub - call $~lib/array/Array#__set - local.get $arr - local.get $i - local.get $inner - call $~lib/array/Array<~lib/array/Array>#__set - local.get $i - i32.const 1 + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|0 + local.set $cur + br $while-continue|0 end end - local.get $arr - local.set $4 + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + 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>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35638,143 +45272,115 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.get $2 i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5392 - i32.const 80 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit 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>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 32 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array>#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array>#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array>#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array>#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.get $bufferSize + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne drop local.get $this - local.get $buffer - call $~lib/array/Array>#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array>#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array>#set:byteLength + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur local.get $this - local.get $length - call $~lib/array/Array>#set:length_ + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end local.get $this - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $std/array/Proxy#constructor (type $i32_i32_=>_i32) (param $this i32) (param $x i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -35785,29 +45391,21 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 31 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $std/array/Proxy#set:x - local.get $this local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>~lib/string/String>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 ) - (func $~lib/array/Array>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35816,55 +45414,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index local.get $this - call $~lib/array/Array>#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.get $2 i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5392 - i32.const 80 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>f32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit 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<~lib/string/String|null>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -35873,135 +45438,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/string/String|null>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.get $2 i32.store $0 - i32.const 1 - drop - i32.const 1 - i32.eqz - drop - local.get $value - local.set $3 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit 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<~lib/string/String>#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array<~lib/string/String>#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array<~lib/string/String>#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array<~lib/string/String>#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $this - 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#charAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - (local $out i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36010,49 +45462,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $pos local.get $this - call $~lib/string/String#get:length - i32.ge_u - if - i32.const 10544 - 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.set $2 global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $2 i32.store $0 - local.get $out - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $out - local.set $3 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/array/Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out i32) - (local $6 i32) + (func $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36062,60 +45487,24 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize - i32.const 0 - i32.eq - if - i32.const 10544 - 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.set $2 global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $2 i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 + local.get $2 + call $~lib/function/Function<%28bool%2Ci32%2Ci32%2C~lib/array/Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - return ) - (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36124,206 +45513,113 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index + i32.const 1 + drop local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u - if - i32.const 320 - i32.const 80 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $5 global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $cur + local.get $cur local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length_ i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5392 - i32.const 80 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end end - local.get $value - local.set $3 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $finalStart i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $finalEnd i32) - (local $14 i32) - (local $15 i32) - (local $fromPos i32) - (local $17 i32) - (local $18 i32) - (local $toPos i32) - (local $size i32) - (local $out i32) - (local $22 i32) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $finalStart - local.get $end - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_s - select - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - local.set $finalEnd - local.get $finalStart - local.tee $14 - local.get $finalEnd - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $fromPos - local.get $finalStart - local.tee $17 - local.get $finalEnd - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $toPos - local.get $toPos - local.get $fromPos - i32.sub - local.set $size - local.get $size - i32.eqz - if - i32.const 10544 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $fromPos - i32.eqz - if (result i32) - local.get $toPos - local.get $len - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 0 i32.store $0 - local.get $out local.get $this - local.get $fromPos + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $size - memory.copy $0 $0 - local.get $out - local.set $22 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 - return ) - (func $~lib/util/string/joinBooleanArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $sepLen i32) - (local $valueLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36332,182 +45628,167 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - i32.const 10768 - i32.const 10800 - local.get $dataStart - i32.load8_u $0 - select - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 5 - local.set $valueLen - local.get $valueLen - local.get $sepLen + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $lastIndex - i32.mul - local.get $valueLen + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28std/array/Dim%2Cstd/array/Dim%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $estLen + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer - local.get $estLen + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lastIndex - i32.lt_s + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $dataStart - local.get $i - i32.add - i32.load8_u $0 - local.set $value - i32.const 4 - local.get $value - i32.eqz - i32.add - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 10768 - i32.const 10800 - local.get $value - select - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen - i32.add - local.set $offset - local.get $sepLen + local.get $cur + i32.load $0 + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|1 + local.set $cur + br $while-continue|0 end end - local.get $dataStart - local.get $lastIndex - i32.add - i32.load8_u $0 - local.set $value + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer i32.const 4 - local.get $value - i32.eqz - i32.add - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 10768 - i32.const 10800 - local.get $value - select - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28~lib/array/Array%2C~lib/array/Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36516,169 +45797,65 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load $0 - local.set $value - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s + local.get $5 + call $~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add + local.get $cur i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end end - local.get $result - local.set $11 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - (local $out i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|7 i32) - (local $buffer|8 i32) - (local $num|9 i32) - (local $offset|10 i32) - (local $decimals|11 i32) - (local $12 i32) + (func $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36687,143 +45864,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6496 - i32.const 6624 - i32.const 350 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i32.eqz - if - i32.const 6688 - 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 $radix - i32.const 10 - i32.eq - if - local.get $value - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer - local.get $value - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 31 - local.get $value - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|7 - global.get $~lib/memory/__stack_pointer - local.get $decimals|7 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer|8 - local.get $value - local.set $num|9 - local.get $decimals|7 - local.set $offset|10 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|8 - local.get $num|9 - i64.extend_i32_u - local.get $offset|10 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - i64.extend_i32_u - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|11 - global.get $~lib/memory/__stack_pointer - local.get $decimals|11 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $value - i64.extend_i32_u - local.get $decimals|11 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $out - local.set $12 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28std/array/Proxy%2Cstd/array/Proxy%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/array/Array<~lib/string/String|null>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36832,161 +45891,139 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 10 - i32.add - local.set $estLen + drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s + local.get $5 + call $~lib/array/Array<~lib/string/String|null>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String|null>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add + local.get $cur i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|0 + local.set $cur + br $while-continue|0 end end - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String|null>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28~lib/string/String|null%2C~lib/string/String|null%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28~lib/string/String%2C~lib/string/String%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) - (local $size i32) - (local $result i32) - (local $3 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -36995,87 +46032,50 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 11296 - 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 $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value - local.get $value - f64.ne - if - i32.const 11328 - 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 11360 - i32.const 11408 - local.get $value - 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 11440 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size + i32.const 0 + drop + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - local.get $result - i32.const 11440 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value f64) - (local $i i32) - (local $10 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37084,368 +46084,53 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - f64.load $0 - call $~lib/util/number/dtoa - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 28 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 28 - i32.add - local.set $estLen + drop + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - call $~lib/string/String#substring - 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 $result - local.set $10 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 - return ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $4 i32) - (local $estLen i32) - (local $value i32) - (local $i i32) - (local $offset i32) - (local $sepLen i32) - (local $result i32) - (local $i|11 i32) - (local $valueLen i32) - (local $13 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - local.get $lastIndex - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if (result i32) - local.get $4 - else - i32.const 10544 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - i32.const 0 - local.set $estLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $estLen - local.get $value - call $~lib/string/String#get:length - i32.add - local.set $estLen - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end i32.const 0 - local.set $offset - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen - global.get $~lib/memory/__stack_pointer - local.get $estLen - local.get $sepLen - local.get $lastIndex - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 offset=8 + i32.store $0 i32.const 0 - local.set $i|11 - loop $for-loop|1 - local.get $i|11 - local.get $lastIndex - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $value - call $~lib/string/String#get:length - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen - i32.add - local.set $offset - end - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i|11 - i32.const 1 - i32.add - local.set $i|11 - br $for-loop|1 - end - end + drop + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $value - call $~lib/string/String#get:length - i32.const 1 - i32.shl - memory.copy $0 $0 - end - local.get $result - local.set $13 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37454,167 +46139,68 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load8_s $0 - local.set $value - i32.const 1 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|0 + local.set $cur + br $while-continue|0 end end - local.get $dataStart - local.get $lastIndex - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/array/Array<~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37623,167 +46209,138 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load16_u $0 - local.set $value - i32.const 0 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 10 - i32.add - local.set $estLen + drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen + local.get $cur + i32.load $0 + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|0 + local.set $cur + br $while-continue|0 end end - local.get $dataStart - local.get $lastIndex - i32.const 1 - i32.shl + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load16_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 i32.const 1 + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:length_ + i32.const 2 i32.shl i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end end - local.get $result - local.set $11 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/array/Array>>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37792,174 +46349,154 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load16_s $0 - local.set $value - i32.const 1 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $5 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ + i32.const 2 + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen + local.get $cur + i32.load $0 + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|0 + local.set $cur + br $while-continue|0 end end - local.get $dataStart - local.get $lastIndex - i32.const 1 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28~lib/array/Array%2Ci32%2C~lib/array/Array<~lib/array/Array>%29=>~lib/array/Array>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array 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 $0 + local.get $length + local.get $alignLog2 i32.shl - i32.add - i32.load16_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store $0 + i32.const 16 + local.get $id + call $~lib/rt/itcms/__new + local.set $array + local.get $array + local.get $buffer + i32.store $0 + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store $0 offset=4 + local.get $array + local.get $bufferSize + i32.store $0 offset=8 + local.get $array + local.get $length + i32.store $0 offset=12 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $7 return ) - (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) + (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) + (local $sign i32) (local $out i32) - (local $val32 i32) (local $decimals i32) (local $buffer i32) (local $num i32) (local $offset i32) (local $decimals|8 i32) (local $buffer|9 i32) - (local $num|10 i64) + (local $num|10 i32) (local $offset|11 i32) - (local $decimals|12 i32) - (local $buffer|13 i32) - (local $num|14 i64) - (local $offset|15 i32) - (local $decimals|16 i32) - (local $17 i32) + (local $val32 i32) + (local $decimals|13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -37981,75 +46518,96 @@ if i32.const 6496 i32.const 6624 - i32.const 401 + i32.const 373 i32.const 5 call $~lib/builtins/abort unreachable end local.get $value - i64.const 0 - i64.ne i32.eqz if i32.const 6688 - local.set $17 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $17 + local.get $14 return end + local.get $value + i32.const 31 + i32.shr_u + i32.const 1 + i32.shl + local.set $sign + local.get $sign + if + i32.const 0 + local.get $value + i32.sub + local.set $value + end local.get $radix i32.const 10 i32.eq if local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $radix + i32.const 16 + i32.eq if + i32.const 31 local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl + i32.clz + i32.sub i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 + i32.shr_s i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - call $~lib/util/number/decimalCount64High + i32.add local.set $decimals|8 global.get $~lib/memory/__stack_pointer local.get $decimals|8 i32.const 1 i32.shl + local.get $sign + i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 local.get $out + local.get $sign + i32.add local.set $buffer|9 local.get $value local.set $num|10 @@ -38061,85 +46619,54 @@ drop local.get $buffer|9 local.get $num|10 + i64.extend_i32_u local.get $offset|11 - call $~lib/util/number/utoa64_dec_lut - end - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 63 - local.get $value - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|12 - global.get $~lib/memory/__stack_pointer - local.get $decimals|12 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer|13 - local.get $value - local.set $num|14 - local.get $decimals|12 - local.set $offset|15 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|13 - local.get $num|14 - local.get $offset|15 call $~lib/util/number/utoa_hex_lut else local.get $value + local.set $val32 + local.get $val32 + i64.extend_i32_u local.get $radix call $~lib/util/number/ulog_base - local.set $decimals|16 + local.set $decimals|13 global.get $~lib/memory/__stack_pointer - local.get $decimals|16 + local.get $decimals|13 i32.const 1 i32.shl + local.get $sign + i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 local.get $out - local.get $value - local.get $decimals|16 + local.get $sign + i32.add + local.get $val32 + i64.extend_i32_u + local.get $decimals|13 local.get $radix call $~lib/util/number/utoa64_any_core end end + local.get $sign + if + local.get $out + i32.const 45 + i32.store16 $0 + end local.get $out - local.set $17 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $17 + local.get $14 return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i64) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i64) - (local $i i32) - (local $11 i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38148,175 +46675,36 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 10544 - 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 $lastIndex + local.get $this i32.eqz if - local.get $dataStart - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 10 - call $~lib/util/number/utoa64 - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 20 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 20 - i32.add - local.set $estLen - global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result i32.const 0 - local.get $offset - 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 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $result - local.set $11 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return + local.get $1 ) - (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) - (local $sign i32) + (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $out i32) - (local $val32 i32) (local $decimals i32) (local $buffer i32) (local $num i32) (local $offset i32) - (local $decimals|9 i32) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - (local $decimals|13 i32) - (local $buffer|14 i32) - (local $num|15 i64) - (local $offset|16 i32) - (local $decimals|17 i32) - (local $18 i32) + (local $decimals|7 i32) + (local $buffer|8 i32) + (local $num|9 i32) + (local $offset|10 i32) + (local $decimals|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38338,201 +46726,124 @@ if i32.const 6496 i32.const 6624 - i32.const 431 + i32.const 350 i32.const 5 call $~lib/builtins/abort unreachable end local.get $value - i64.const 0 - i64.ne i32.eqz if i32.const 6688 - local.set $18 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $18 + local.get $12 return end - local.get $value - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.const 1 - i32.shl - local.set $sign - local.get $sign - if - i64.const 0 - local.get $value - i64.sub - local.set $value - end local.get $radix i32.const 10 i32.eq if local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - call $~lib/util/number/decimalCount64High - local.set $decimals|9 - global.get $~lib/memory/__stack_pointer - local.get $decimals|9 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|10 - local.get $value - local.set $num|11 - local.get $decimals|9 - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut - end + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut else local.get $radix i32.const 16 i32.eq if - i32.const 63 + i32.const 31 local.get $value - i64.clz - i32.wrap_i64 + i32.clz i32.sub i32.const 2 i32.shr_s i32.const 1 i32.add - local.set $decimals|13 + local.set $decimals|7 global.get $~lib/memory/__stack_pointer - local.get $decimals|13 + local.get $decimals|7 i32.const 1 i32.shl - local.get $sign - i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 local.get $out - local.get $sign - i32.add - local.set $buffer|14 + local.set $buffer|8 local.get $value - local.set $num|15 - local.get $decimals|13 - local.set $offset|16 + local.set $num|9 + local.get $decimals|7 + local.set $offset|10 i32.const 0 i32.const 1 i32.ge_s drop - local.get $buffer|14 - local.get $num|15 - local.get $offset|16 + local.get $buffer|8 + local.get $num|9 + i64.extend_i32_u + local.get $offset|10 call $~lib/util/number/utoa_hex_lut else local.get $value + i64.extend_i32_u local.get $radix call $~lib/util/number/ulog_base - local.set $decimals|17 + local.set $decimals|11 global.get $~lib/memory/__stack_pointer - local.get $decimals|17 + local.get $decimals|11 i32.const 1 i32.shl - local.get $sign - i32.add i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 local.get $out - local.get $sign - i32.add local.get $value - local.get $decimals|17 + i64.extend_i32_u + local.get $decimals|11 local.get $radix call $~lib/util/number/utoa64_any_core end end - local.get $sign - if - local.get $out - i32.const 45 - i32.store16 $0 - end local.get $out - local.set $18 + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $18 + local.get $12 return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i64) - (local $sepLen i32) - (local $estLen i32) + (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) + (local $size i32) (local $result i32) - (local $offset i32) - (local $value|9 i64) - (local $i i32) - (local $11 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38541,169 +46852,95 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s + local.get $value + f64.const 0 + f64.eq if - i32.const 10544 - local.set $11 + i32.const 11296 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $3 return end - local.get $lastIndex + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq i32.eqz if - local.get $dataStart - i64.load $0 - local.set $value - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop local.get $value - i32.wrap_i64 - i64.extend_i32_s - i32.const 10 - call $~lib/util/number/itoa64 - local.set $11 + local.get $value + f64.ne + if + i32.const 11328 + 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 11360 + i32.const 11408 + local.get $value + 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 $11 + local.get $3 return end - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 21 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 21 - i32.add - local.set $estLen - global.get $~lib/memory/__stack_pointer - local.get $estLen + i32.const 11440 + local.get $value + call $~lib/util/number/dtoa_core i32.const 1 i32.shl + local.set $size + global.get $~lib/memory/__stack_pointer + local.get $size i32.const 2 call $~lib/rt/itcms/__new local.tee $result i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 + i32.const 11440 + local.get $size + memory.copy $0 $0 local.get $result - local.set $11 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $3 return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) + (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) + (local $out i32) + (local $val32 i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i64) + (local $offset|11 i32) + (local $decimals|12 i32) + (local $buffer|13 i32) + (local $num|14 i64) + (local $offset|15 i32) + (local $decimals|16 i32) + (local $17 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -38712,492 +46949,390 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 + local.get $radix + i32.const 2 i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end if - i32.const 10544 - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 6496 + i32.const 6624 + i32.const 401 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $lastIndex + local.get $value + i64.const 0 + i64.ne i32.eqz if - local.get $dataStart - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 10 - call $~lib/util/number/utoa32 - local.set $11 + i32.const 6688 + local.set $17 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 + local.get $17 return end - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul + local.get $radix i32.const 10 - i32.add - local.set $estLen - global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s + i32.eq + if + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals i32.const 1 i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer + local.get $val32 + local.set $num + local.get $decimals local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + call $~lib/util/number/decimalCount64High + local.set $decimals|8 + global.get $~lib/memory/__stack_pointer + local.get $decimals|8 i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - ) - (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (param $this i32) (result i32) - (local $ptr i32) - (local $len i32) - (local $size i32) - (local $i i32) - (local $child i32) - (local $byteLength i32) - (local $outBuffer i32) - (local $outArray i32) - (local $resultOffset i32) - (local $i|10 i32) - (local $child|11 i32) - (local $childDataLength 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 $0 - i32.const 1 - i32.eqz - drop - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/array/Array>#get:length_ - local.set $len - i32.const 0 - local.set $size - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 2 i32.shl - i32.add - i32.load $0 - local.set $child - local.get $size - local.get $child + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer|9 + local.get $value + local.set $num|10 + local.get $decimals|8 + local.set $offset|11 i32.const 0 - i32.eq - if (result i32) - i32.const 0 - else - local.get $child - i32.load $0 offset=12 - end - i32.add - local.set $size - local.get $i i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.ge_s + drop + local.get $buffer|9 + local.get $num|10 + local.get $offset|11 + call $~lib/util/number/utoa64_dec_lut end - end - local.get $size - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $outBuffer - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $outArray - i32.store $0 offset=4 - local.get $outArray - local.get $size - i32.store $0 offset=12 - local.get $outArray - local.get $byteLength - i32.store $0 offset=8 - local.get $outArray - local.get $outBuffer - i32.store $0 offset=4 - local.get $outArray - local.get $outBuffer - i32.store $0 - local.get $outArray - local.get $outBuffer - i32.const 0 - call $~lib/rt/itcms/__link - i32.const 0 - local.set $resultOffset - i32.const 0 - local.set $i|10 - loop $for-loop|1 - local.get $i|10 - local.get $len - i32.lt_s + else + local.get $radix + i32.const 16 + i32.eq if - block $for-continue|1 - local.get $ptr - local.get $i|10 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $child|11 - local.get $child|11 - i32.eqz - if - br $for-continue|1 - end - local.get $child|11 - i32.load $0 offset=12 - i32.const 2 - i32.shl - local.set $childDataLength - local.get $outBuffer - local.get $resultOffset - i32.add - local.get $child|11 - i32.load $0 offset=4 - local.get $childDataLength - memory.copy $0 $0 - local.get $resultOffset - local.get $childDataLength - i32.add - local.set $resultOffset - end - local.get $i|10 + i32.const 63 + local.get $value + i64.clz + i32.wrap_i64 + i32.sub + i32.const 2 + i32.shr_s i32.const 1 i32.add - local.set $i|10 - br $for-loop|1 + local.set $decimals|12 + global.get $~lib/memory/__stack_pointer + local.get $decimals|12 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer|13 + local.get $value + local.set $num|14 + local.get $decimals|12 + local.set $offset|15 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|13 + local.get $num|14 + local.get $offset|15 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|16 + global.get $~lib/memory/__stack_pointer + local.get $decimals|16 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $value + local.get $decimals|16 + local.get $radix + call $~lib/util/number/utoa64_any_core end end - i32.const 0 - drop - local.get $outArray - local.set $13 + local.get $out + local.set $17 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 + local.get $17 return ) - (func $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#flat (type $i32_=>_i32) (param $this i32) (result i32) - (local $ptr i32) - (local $len i32) - (local $size i32) - (local $i i32) - (local $child i32) - (local $byteLength i32) - (local $outBuffer i32) - (local $outArray i32) - (local $resultOffset i32) - (local $i|10 i32) - (local $child|11 i32) - (local $childDataLength i32) - (local $i|13 i32) - (local $ref i32) - (local $15 i32) + (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $val32 i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|9 i32) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) + (local $decimals|13 i32) + (local $buffer|14 i32) + (local $num|15 i64) + (local $offset|16 i32) + (local $decimals|17 i32) + (local $18 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 $0 + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 6496 + i32.const 6624 + i32.const 431 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value i64.const 0 - i64.store $0 - i32.const 1 + i64.ne i32.eqz - drop - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:dataStart - local.set $ptr - local.get $this - call $~lib/array/Array<~lib/array/Array<~lib/string/String|null>>#get:length_ - local.set $len - i32.const 0 - local.set $size - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s + if + i32.const 6688 + local.set $18 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $18 + return + end + local.get $value + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.set $sign + local.get $sign + if + i64.const 0 + local.get $value + i64.sub + local.set $value + end + local.get $radix + i32.const 10 + i32.eq + if + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if - local.get $ptr - local.get $i - i32.const 2 + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 i32.shl + local.get $sign i32.add - i32.load $0 - local.set $child - local.get $size - local.get $child - i32.const 0 - i32.eq - if (result i32) - i32.const 0 - else - local.get $child - i32.load $0 offset=12 - end + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign i32.add - local.set $size - local.get $i + local.set $buffer + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $size - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $outBuffer - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 34 - call $~lib/rt/itcms/__new - local.tee $outArray - i32.store $0 offset=4 - local.get $outArray - local.get $size - i32.store $0 offset=12 - local.get $outArray - local.get $byteLength - i32.store $0 offset=8 - local.get $outArray - local.get $outBuffer - i32.store $0 offset=4 - local.get $outArray - local.get $outBuffer - i32.store $0 - local.get $outArray - local.get $outBuffer - i32.const 0 - call $~lib/rt/itcms/__link - i32.const 0 - local.set $resultOffset - i32.const 0 - local.set $i|10 - loop $for-loop|1 - local.get $i|10 - local.get $len - i32.lt_s - if - block $for-continue|1 - local.get $ptr - local.get $i|10 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $child|11 - local.get $child|11 - i32.eqz - if - br $for-continue|1 - end - local.get $child|11 - i32.load $0 offset=12 - i32.const 2 - i32.shl - local.set $childDataLength - local.get $outBuffer - local.get $resultOffset - i32.add - local.get $child|11 - i32.load $0 offset=4 - local.get $childDataLength - memory.copy $0 $0 - local.get $resultOffset - local.get $childDataLength - i32.add - local.set $resultOffset - end - local.get $i|10 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + call $~lib/util/number/decimalCount64High + local.set $decimals|9 + global.get $~lib/memory/__stack_pointer + local.get $decimals|9 i32.const 1 + i32.shl + local.get $sign i32.add - local.set $i|10 - br $for-loop|1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|10 + local.get $value + local.set $num|11 + local.get $decimals|9 + local.set $offset|12 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut end - end - i32.const 1 - drop - i32.const 0 - local.set $i|13 - loop $for-loop|2 - local.get $i|13 - local.get $size - i32.lt_s + else + local.get $radix + i32.const 16 + i32.eq if - local.get $outBuffer - local.get $i|13 + i32.const 63 + local.get $value + i64.clz + i32.wrap_i64 + i32.sub i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $decimals|13 + global.get $~lib/memory/__stack_pointer + local.get $decimals|13 + i32.const 1 i32.shl + local.get $sign i32.add - i32.load $0 - local.set $ref - local.get $outBuffer - local.get $ref + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|14 + local.get $value + local.set $num|15 + local.get $decimals|13 + local.set $offset|16 + i32.const 0 i32.const 1 - call $~lib/rt/itcms/__link - local.get $i|13 + i32.ge_s + drop + local.get $buffer|14 + local.get $num|15 + local.get $offset|16 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|17 + global.get $~lib/memory/__stack_pointer + local.get $decimals|17 i32.const 1 + i32.shl + local.get $sign i32.add - local.set $i|13 - br $for-loop|2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.get $value + local.get $decimals|17 + local.get $radix + call $~lib/util/number/utoa64_any_core end end - local.get $outArray - local.set $15 + local.get $sign + if + local.get $out + i32.const 45 + i32.store16 $0 + end + local.get $out + local.set $18 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 + local.get $18 return ) ) diff --git a/tests/compiler/std/array.release.wat b/tests/compiler/std/array.release.wat index cc013b5860..368a3f956f 100644 --- a/tests/compiler/std/array.release.wat +++ b/tests/compiler/std/array.release.wat @@ -1,9 +1,9 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) - (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $f32_f32_=>_i32 (func_subtype (param f32 f32) (result i32) func)) (type $f64_f64_=>_i32 (func_subtype (param f64 f64) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) @@ -11,18 +11,18 @@ (type $i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32 i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_f64 (func_subtype (result f64) func)) - (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_f32 (func_subtype (param i32 i32 i32) (result f32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) + (type $i32_i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i64 i32 i64 i32) (result i32) func)) + (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_f32_i32_i32_=>_none (func_subtype (param i32 f32 i32 i32) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i32_f32_i32_=>_none (func_subtype (param i32 f32 i32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) - (type $i32_i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i64 i32 i64 i32) (result i32) func)) - (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "Math.random" (func $~lib/bindings/dom/Math.random (result f64))) (import "env" "seed" (func $~lib/builtins/seed (result f64))) @@ -2164,1844 +2164,1295 @@ memory.fill $0 local.get $1 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + (func $start:std/array~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_u $0 + i32.eqz ) - (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + (func $start:std/array~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=12 - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - return - end + i32.const 1 + i32.eq + ) + (func $start:std/array~anonymous|2 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 + i32.const 100 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 (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) + (func $start:std/array~anonymous|10 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.set $5 + i32.const 0 + i32.ge_s + ) + (func $start:std/array~anonymous|11 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=12 - local.tee $4 - local.get $2 - i32.add - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s - select - local.get $2 i32.const 0 + i32.le_s + ) + (func $start:std/array~anonymous|13 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 10 i32.lt_s - select - local.set $0 - local.get $3 - local.get $4 - i32.add - local.get $3 - local.get $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.get $3 + ) + (func $start:std/array~anonymous|15 (type $i32_i32_i32_=>_i32) (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|16 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 0 i32.lt_s - select - local.set $2 - block $__inlined_func$~lib/util/bytes/FILL - local.get $1 - i32.eqz - local.get $1 - i32.const -1 - i32.eq - i32.or - if - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - local.get $0 - i32.sub - i32.const 2 - i32.shl - memory.fill $0 - end - br $__inlined_func$~lib/util/bytes/FILL - end - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - end ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $start:std/array~anonymous|18 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + i32.const 10 + i32.gt_s + ) + (func $start:std/array~anonymous|20 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + global.get $std/array/i local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl i32.add - i32.load $0 + global.set $std/array/i ) - (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - local.get $0 - i32.load $0 offset=12 - local.tee $3 - local.get $1 - i32.load $0 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 + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u if - local.get $0 - local.get $2 - call $~lib/array/Array#__get local.get $1 + i32.const 10000 + i32.rem_u + local.set $3 + local.get $1 + i32.const 10000 + i32.div_u + local.set $1 + local.get $0 local.get $2 - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end - local.get $2 + i32.const 4 + i32.sub + local.tee $2 i32.const 1 + i32.shl i32.add - local.set $2 - br $for-loop|0 - end - end - i32.const 1 - ) - (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 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 + local.get $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 7724 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 7724 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end - i32.const 2147483647 - local.set $3 end - local.get $0 local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#fill + i32.const 100 + i32.ge_u + if + local.get $0 + local.get $2 + i32.const 2 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 7724 + i32.add + i32.load $0 + i32.store $0 + local.get $1 + i32.const 100 + i32.div_u + local.set $1 + end + local.get $1 + i32.const 10 + i32.ge_u + if + local.get $0 + local.get $2 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 2 + i32.shl + i32.const 7724 + i32.add + i32.load $0 + i32.store $0 + else + local.get $0 + local.get $2 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.add + i32.store16 $0 + end ) - (func $~lib/array/Array#fill (type $i32_f32_i32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) + (func $start:std/array~anonymous|25 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.set $5 + call $~lib/util/number/itoa32 + ) + (func $start:std/array~anonymous|26 (type $i32_i32_i32_=>_f32) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + local.get $0 + f32.convert_i32_s + ) + (func $start:std/array~anonymous|28 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + global.get $std/array/i local.get $0 - i32.load $0 offset=12 - local.tee $4 - local.get $2 i32.add - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s + global.set $std/array/i + local.get $0 + ) + (func $start:std/array~anonymous|30 (type $i32_i32_i32_=>_i32) (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|32 (type $i32_i32_i32_=>_i32) (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|34 (type $i32_i32_i32_i32_=>_i32) (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|36 (type $i32_i32_i32_i32_=>_i32) (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 - local.get $2 - i32.const 0 - i32.lt_s + ) + (func $start:std/array~anonymous|37 (type $i32_i32_i32_i32_=>_i32) (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 - local.set $0 + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 f32) + (local $6 f32) + (local $7 i32) + (local $8 f32) + local.get $1 local.get $3 - local.get $4 + local.get $2 + local.get $1 + i32.sub + i32.const 1 i32.add + local.tee $7 local.get $3 - local.get $4 - local.get $3 - local.get $4 - i32.lt_s - select + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $7 + i32.const 1 + i32.and local.get $3 - i32.const 0 - i32.lt_s select - local.set $2 - block $__inlined_func$~lib/util/bytes/FILL - local.get $1 - i32.reinterpret_f32 - i32.eqz + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s if local.get $0 - local.get $2 - i32.lt_s + local.get $7 + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load $0 offset=4 + local.tee $8 + local.set $6 + local.get $3 + f32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s if local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.const 0 - local.get $2 - local.get $0 - i32.sub - i32.const 2 - i32.shl - memory.fill $0 + local.set $6 + local.get $8 + local.set $5 end - br $__inlined_func$~lib/util/bytes/FILL - end - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 local.get $1 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - end - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + local.get $3 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store $0 offset=8 + loop $while-continue|2 + local.get $1 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + end + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $6 + f32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f32) + local.get $1 + local.get $2 + i32.eq if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $1 + return end local.get $0 - i32.load $0 offset=4 local.get $1 i32.const 2 i32.shl i32.add f32.load $0 - ) - (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 f32) - (local $4 i32) - local.get $0 - i32.load $0 offset=12 - local.tee $4 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - return - end + local.set $5 local.get $0 local.get $1 - i32.eq + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s if - i32.const 1 - return - end - loop $for-loop|0 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $0 + loop $while-continue|0 local.get $2 - call $~lib/array/Array#__get - local.tee $3 - local.get $3 - f32.ne + local.get $4 + i32.gt_s if (result i32) - local.get $1 - local.get $2 - call $~lib/array/Array#__get - local.tee $3 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $6 + f32.load $0 offset=4 + local.set $5 + local.get $6 + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 local.get $3 - f32.ne + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 31 + i32.shr_u else i32.const 0 end - i32.eqz + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 + local.get $2 + i32.lt_s if local.get $0 - local.get $2 - call $~lib/array/Array#__get - f64.promote_f32 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 local.get $1 - local.get $2 - call $~lib/array/Array#__get - f64.promote_f32 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.ne - if - i32.const 0 - return - end + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load $0 + local.set $5 + local.get $3 local.get $0 local.get $2 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load $0 + f32.store $0 local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $3 + local.get $5 + f32.store $0 local.get $2 - call $~lib/array/Array#__get - f32.ne - if - i32.const 0 - return - end + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 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@varargs (type $i32_f32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) - (local $3 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 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $1 + f32.load $0 offset=4 + local.set $5 + local.get $1 + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|2 + end end - i32.const 2147483647 - local.set $3 end - local.get $0 - local.get $1 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f32) + (local $9 i32) + (local $10 i32) local.get $2 + i32.const 1 + i32.sub + local.tee $6 local.get $3 - call $~lib/array/Array#fill - ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 - local.set $3 - i32.const 8 - local.get $1 + i32.add + local.set $9 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 local.get $1 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.set $1 local.get $2 + i32.lt_s if - i32.const 1073741820 - local.get $4 - i32.const 1 - i32.shl - local.tee $2 - local.get $2 - i32.const 1073741820 - i32.ge_u - select - local.tee $2 - local.get $1 - local.get $1 local.get $2 - i32.lt_u - select - local.set $1 - end - block $__inlined_func$~lib/rt/itcms/__renew - local.get $3 - i32.const 20 - i32.sub - local.tee $4 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 + i32.const 1 i32.sub - local.get $1 - i32.ge_u - if - local.get $4 - local.get $1 - i32.store $0 offset=16 - local.get $3 - local.set $2 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $1 - local.get $4 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new local.tee $2 - local.get $3 - local.get $1 - local.get $4 - i32.load $0 offset=16 - local.tee $4 - local.get $1 + i32.const 2 + i32.shl + local.tee $10 local.get $4 - i32.lt_u - select - memory.copy $0 $0 + i32.add + local.get $0 + local.get $10 + i32.add + f32.load $0 + f32.store $0 + br $for-loop|0 end - local.get $2 + end + loop $for-loop|1 local.get $3 - i32.ne + local.get $6 + i32.gt_s if + local.get $4 + local.get $9 + local.get $6 + i32.sub + i32.const 2 + i32.shl + i32.add local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + f32.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $7 + local.get $4 local.get $2 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s if local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $7 + f32.store $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store $0 local.get $2 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1 + i32.add + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - local.get $0 - local.get $1 - i32.store $0 offset=8 end ) - (func $~lib/array/Array#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) local.get $0 - local.get $0 - i32.load $0 offset=12 + i32.reinterpret_f32 local.tee $2 + i32.const 31 + i32.shr_s i32.const 1 - i32.add - local.tee $3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $0 - i32.load $0 offset=4 + i32.shr_u local.get $2 - i32.const 2 - i32.shl - i32.add + i32.xor + local.tee $2 local.get $1 - i32.store $0 - local.get $0 + i32.reinterpret_f32 + local.tee $3 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u local.get $3 - i32.store $0 offset=12 + i32.xor + local.tee $3 + i32.gt_s + local.get $2 + local.get $3 + i32.lt_s + i32.sub ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 i32) + (local $8 f64) local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 + local.get $3 + local.get $2 local.get $1 - i32.const 2 - i32.shl + i32.sub + i32.const 1 i32.add - i32.load $0 - ) - (func $~lib/array/Array#pop (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 0 - i32.le_s - if - i32.const 2640 - i32.const 1104 - i32.const 271 - i32.const 18 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 + local.tee $7 + local.get $3 + i32.sub i32.const 1 + i32.and i32.sub - local.tee $1 - i32.const 2 - i32.shl + local.get $7 + i32.const 1 + i32.and + local.get $3 + select i32.add - i32.load $0 - local.set $2 - local.get $0 - local.get $1 - i32.store $0 offset=12 - local.get $2 + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s + if + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.tee $3 + f64.load $0 offset=8 + local.tee $8 + local.set $6 + local.get $3 + f64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $5 + local.set $6 + local.get $8 + local.set $5 + end + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 + local.get $1 + local.get $3 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $8 + f64.store $0 offset=16 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store $0 offset=16 + loop $while-continue|2 + local.get $1 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $6 + f64.store $0 offset=8 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 + end + end ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 f64) local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + local.get $2 + i32.eq if local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1344 - i32.const 1104 - i32.const 130 - 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/ensureCapacity - local.get $0 - local.get $3 - i32.store $0 offset=12 + return end local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - local.get $2 - i32.store $0 - local.get $2 - if - local.get $0 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - ) - (func $~lib/array/Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.const 0 - local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 143 - i32.const 33 - call $~lib/builtins/abort - unreachable - end + f64.load $0 + local.set $5 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 - i32.shl + i32.const 1 i32.add - i32.load $0 - ) - (func $~lib/array/Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (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 $0 offset=12 local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $5 - local.get $0 - i32.load $0 offset=4 - local.tee $3 - 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.const 2 + i32.const 3 i32.shl i32.add - local.get $3 - 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 + f64.load $0 + local.set $7 i32.const 2 - i32.shl - i32.add + global.set $~argumentsLength local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) i32.const 0 - i32.lt_s - if (result i32) - local.get $4 - local.get $5 - i32.add - local.tee $3 - i32.const 0 - local.get $3 - 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 $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 - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $0 - ) - (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 3 + i32.shl + i32.add + local.tee $6 + f64.load $0 offset=8 + local.set $5 + local.get $6 + f64.load $0 + local.set $7 i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 end - unreachable - end - i32.const 2147483647 - local.set $3 - end - local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/array/Array#copyWithin - ) - (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (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 $0 offset=12 - local.tee $2 - local.get $1 - i32.load $0 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 + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|0 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 (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $0 - i32.load $0 offset=12 - i32.const 1 - i32.add - local.tee $2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $0 - i32.load $0 offset=4 - local.tee $3 - i32.const 4 - i32.add - local.get $3 - local.get $2 - i32.const 1 - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $1 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 offset=12 - ) - (func $~lib/array/Array#slice@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 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 - i32.const 2147483647 + local.get $4 local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/array/Array#slice - ) - (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $4 - local.get $5 - i32.const 8 - i32.sub - local.set $6 - loop $while-continue|0 + loop $while-continue|1 local.get $1 - i32.const 7 - i32.add - local.get $4 - i32.lt_u + local.get $2 + i32.lt_s if + local.get $0 local.get $1 - local.get $2 + i32.const 3 + i32.shl i32.add - local.tee $7 - i64.load $0 local.tee $3 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and + f64.load $0 + local.set $5 local.get $3 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.set $3 - local.get $7 + local.get $0 local.get $2 - local.get $6 + i32.const 3 + i32.shl i32.add + local.tee $3 + f64.load $0 + f64.store $0 local.get $1 - i32.sub - local.tee $7 - i64.load $0 - local.tee $8 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $8 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $8 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $8 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 - local.get $7 - local.get $3 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $3 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 - local.get $1 - i32.const 8 + i32.const 1 i32.add local.set $1 - br $while-continue|0 + local.get $3 + local.get $5 + f64.store $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|1 - local.get $1 + else + loop $while-continue|2 + local.get $2 local.get $4 - i32.lt_u - if - local.get $1 - local.get $2 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 3 + i32.shl i32.add - local.tee $6 - i32.load8_u $0 + local.tee $1 + f64.load $0 offset=8 + local.set $5 + local.get $1 + f64.load $0 local.set $7 - local.get $6 - local.get $2 + i32.const 2 + global.set $~argumentsLength local.get $5 - local.get $1 - i32.sub - i32.add - local.tee $6 - i32.load8_u $0 - i32.store8 $0 - local.get $6 local.get $7 - i32.store8 $0 - local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $1 - br $while-continue|1 + local.set $4 + br $while-continue|2 end end end - local.get $0 + local.get $4 ) - (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (local $6 i32) - (local $7 i32) - local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.tee $4 + (local $7 f64) + (local $8 f64) + (local $9 i32) + (local $10 i32) + local.get $2 i32.const 1 - i32.gt_u - if - local.get $4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $4 - i32.const 2 - i32.sub - local.set $5 - loop $while-continue|0 - local.get $1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $9 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $2 i32.const 1 - i32.add - local.get $3 - i32.lt_u - if - local.get $2 - local.get $5 - local.get $1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $6 - i32.load $0 - i32.const 16 - i32.rotr - local.set $7 - local.get $6 - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $6 - i32.load $0 - i32.const 16 - i32.rotr - i32.store $0 - local.get $6 - local.get $7 - i32.store $0 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|0 - end + i32.sub + local.tee $2 + i32.const 3 + i32.shl + local.tee $10 + local.get $4 + i32.add + local.get $0 + local.get $10 + i32.add + f64.load $0 + f64.store $0 + br $for-loop|0 end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.lt_u + end + loop $for-loop|1 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $9 + local.get $6 + i32.sub + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + f64.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s if - local.get $2 + local.get $0 local.get $1 - i32.const 1 + i32.const 3 i32.shl i32.add - local.tee $5 - i32.load16_u $0 + local.get $7 + f64.store $0 + local.get $6 + i32.const 1 + i32.sub local.set $6 - local.get $5 - local.get $2 - local.get $4 + else + local.get $0 local.get $1 - i32.sub - i32.const 1 + i32.const 3 i32.shl i32.add - local.tee $5 - i32.load16_u $0 - i32.store16 $0 - local.get $5 - local.get $6 - i32.store16 $0 - local.get $1 + local.get $8 + f64.store $0 + local.get $2 i32.const 1 i32.add - local.set $1 - br $while-continue|1 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end end - local.get $0 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 ) - (func $~lib/array/Array#splice@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 - end + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) local.get $0 + i64.reinterpret_f64 + local.tee $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + local.get $2 + i64.xor + local.tee $2 local.get $1 + i64.reinterpret_f64 + local.tee $3 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + local.get $3 + i64.xor + local.tee $3 + i64.gt_s local.get $2 - call $~lib/array/Array#splice + local.get $3 + i64.lt_s + i32.sub ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1344 - i32.const 1104 - i32.const 130 - 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/ensureCapacity - local.get $0 - local.get $3 - i32.store $0 offset=12 - end - local.get $0 - i32.load $0 offset=4 + local.get $3 + local.get $2 local.get $1 - i32.const 2 - i32.shl + i32.sub + i32.const 1 i32.add - local.get $2 - i32.store $0 - ) - (func $start:std/array~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.eqz - ) - (func $start:std/array~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + local.tee $5 + local.get $3 + i32.sub i32.const 1 - i32.eq - ) - (func $start:std/array~anonymous|2 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|3 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - local.get $0 - i32.const 100 - i32.eq - ) - (func $start:std/array~anonymous|5 (type $i32_i32_i32_=>_i32) (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 100 - i32.eq - ) - (func $start:std/array~anonymous|10 (type $i32_i32_i32_=>_i32) (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|11 (type $i32_i32_i32_=>_i32) (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|12 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - local.get $0 - i32.const 10 - i32.lt_s - ) - (func $start:std/array~anonymous|13 (type $i32_i32_i32_=>_i32) (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|14 (type $i32_i32_i32_=>_i32) (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 3 - i32.lt_s - ) - (func $start:std/array~anonymous|15 (type $i32_i32_i32_=>_i32) (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|16 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 0 - i32.lt_s - ) - (func $start:std/array~anonymous|17 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - local.get $0 - i32.const 10 - i32.gt_s - ) - (func $start:std/array~anonymous|18 (type $i32_i32_i32_=>_i32) (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|19 (type $i32_i32_i32_=>_i32) (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 3 - i32.gt_s - ) - (func $start:std/array~anonymous|20 (type $i32_i32_i32_=>_none) (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 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - ) - (func $start:std/array~anonymous|23 (type $i32_i32_i32_=>_none) (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|24 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $1 - i32.eqz - if - loop $for-loop|0 - local.get $5 - i32.const 4 - i32.lt_s - if - local.get $2 - call $~lib/array/Array#pop - drop - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $3 - i32.const 100 - i32.lt_s - if - local.get $2 - local.get $3 - i32.const 100 - i32.add - call $~lib/array/Array#push - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $6 - i32.const 100 - i32.lt_s - if - local.get $2 - call $~lib/array/Array#pop - drop - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|2 - end - end - loop $for-loop|3 - local.get $4 - i32.const 100 - i32.lt_s - if - local.get $2 - local.get $4 - i32.const 200 - i32.add - call $~lib/array/Array#push - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|3 - end - end - end - local.get $1 - i32.const 2 - i32.eq - local.get $0 - i32.const 202 - i32.ne i32.and - if - i32.const 0 - i32.const 1552 - i32.const 767 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s if - local.get $1 - i32.const 10000 - i32.rem_u - local.set $3 - local.get $1 - i32.const 10000 - i32.div_u - local.set $1 local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 100 - i32.div_u + local.get $7 i32.const 2 i32.shl - i32.const 7724 i32.add - i64.load32_u $0 + local.tee $3 + i32.load $0 offset=4 + local.tee $6 + local.set $5 local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i32.load $0 - i32.store $0 - local.get $1 - i32.const 100 - i32.div_u - local.set $1 - end - local.get $1 - i32.const 10 - i32.ge_u - if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i32.load $0 - i32.store $0 - else - local.get $0 - local.get $2 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 48 - i32.add - i32.store16 $0 - end - ) - (func $start:std/array~anonymous|25 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - call $~lib/util/number/itoa32 - ) - (func $start:std/array~anonymous|26 (type $i32_i32_i32_=>_f32) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - f32.convert_i32_s - ) - (func $start:std/array~anonymous|27 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - global.get $std/array/i - local.get $0 - i32.add - global.set $std/array/i - local.get $0 - ) - (func $start:std/array~anonymous|28 (type $i32_i32_i32_=>_i32) (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 - ) - (func $start:std/array~anonymous|29 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result 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 - local.get $0 - ) - (func $start:std/array~anonymous|30 (type $i32_i32_i32_=>_i32) (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|31 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $2 - i32.const 100 - call $~lib/array/Array#push - 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|32 (type $i32_i32_i32_=>_i32) (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|33 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result 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 - local.get $0 - i32.const 2 - i32.ge_s - ) - (func $start:std/array~anonymous|34 (type $i32_i32_i32_i32_=>_i32) (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|36 (type $i32_i32_i32_i32_=>_i32) (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|37 (type $i32_i32_i32_i32_=>_i32) (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|38 (type $i32_i32_i32_i32_=>_i32) (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 - local.get $0 - local.get $1 - i32.add - ) - (func $start:std/array~anonymous|40 (type $i32_i32_i32_i32_=>_i32) (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/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 f32) - (local $6 f32) - (local $7 i32) - (local $8 f32) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $7 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load $0 offset=4 - local.tee $8 - local.set $6 - local.get $3 - f32.load $0 - local.set $5 + i32.load $0 + local.set $3 i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $8 + local.get $3 + local.get $6 local.get $4 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s if - local.get $5 - local.set $6 - local.get $8 + local.get $3 local.set $5 + local.get $6 + local.set $3 end local.get $7 i32.const 1 i32.sub - local.set $3 + local.set $6 loop $while-continue|1 local.get $1 - local.get $3 + local.get $6 i32.le_s if block $while-break|1 local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $8 i32.const 2 global.set $~argumentsLength local.get $8 - local.get $5 + local.get $3 local.get $4 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s br_if $while-break|1 local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add local.get $8 - f32.store $0 offset=8 - local.get $3 + i32.store $0 offset=8 + local.get $6 i32.const 1 i32.sub - local.set $3 + local.set $6 br $while-continue|1 end end end local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add - local.get $5 - f32.store $0 offset=8 + local.get $3 + i32.store $0 offset=8 loop $while-continue|2 local.get $1 - local.get $3 + local.get $6 i32.le_s if block $while-break|2 local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add - f32.load $0 - local.set $5 + i32.load $0 + local.set $3 i32.const 2 global.set $~argumentsLength + local.get $3 local.get $5 - local.get $6 local.get $4 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.le_s br_if $while-break|2 local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add - local.get $5 - f32.store $0 offset=4 local.get $3 + i32.store $0 offset=4 + local.get $6 i32.const 1 i32.sub - local.set $3 + local.set $6 br $while-continue|2 end end end local.get $0 - local.get $3 + local.get $6 i32.const 2 i32.shl i32.add - local.get $6 - f32.store $0 offset=4 + local.get $5 + i32.store $0 offset=4 local.get $7 i32.const 2 i32.add @@ -4010,11 +3461,10 @@ end end ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - (local $5 f32) + (local $5 i32) (local $6 i32) - (local $7 f32) local.get $1 local.get $2 i32.eq @@ -4027,7 +3477,7 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $5 local.get $0 local.get $1 @@ -4037,15 +3487,15 @@ i32.const 2 i32.shl i32.add - f32.load $0 - local.set $7 + i32.load $0 + local.set $6 i32.const 2 global.set $~argumentsLength local.get $5 - local.get $7 + local.get $6 local.get $3 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.gt_s if @@ -4059,19 +3509,19 @@ i32.const 2 i32.shl i32.add - local.tee $6 - f32.load $0 offset=4 + local.tee $5 + i32.load $0 offset=4 + local.set $6 + local.get $5 + i32.load $0 local.set $5 - local.get $6 - f32.load $0 - local.set $7 i32.const 2 global.set $~argumentsLength + local.get $6 local.get $5 - local.get $7 local.get $3 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 31 i32.shr_u else @@ -4098,7 +3548,7 @@ i32.shl i32.add local.tee $3 - f32.load $0 + i32.load $0 local.set $5 local.get $3 local.get $0 @@ -4107,15 +3557,15 @@ i32.shl i32.add local.tee $3 - f32.load $0 - f32.store $0 + i32.load $0 + i32.store $0 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - f32.store $0 + i32.store $0 local.get $2 i32.const 1 i32.sub @@ -4135,18 +3585,18 @@ i32.shl i32.add local.tee $1 - f32.load $0 offset=4 + i32.load $0 offset=4 local.set $5 local.get $1 - f32.load $0 - local.set $7 + i32.load $0 + local.set $1 i32.const 2 global.set $~argumentsLength local.get $5 - local.get $7 + local.get $1 local.get $3 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.ge_s else @@ -4163,19 +3613,17 @@ end local.get $4 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 i32) - (local $10 i32) + (local $7 i32) + (local $8 i32) local.get $2 i32.const 1 i32.sub local.tee $6 local.get $3 i32.add - local.set $9 + local.set $7 local.get $6 i32.const 1 i32.add @@ -4191,14 +3639,14 @@ local.tee $2 i32.const 2 i32.shl - local.tee $10 + local.tee $8 local.get $4 i32.add local.get $0 - local.get $10 + local.get $8 i32.add - f32.load $0 - f32.store $0 + i32.load $0 + i32.store $0 br $for-loop|0 end end @@ -4208,7 +3656,7 @@ i32.gt_s if local.get $4 - local.get $9 + local.get $7 local.get $6 i32.sub i32.const 2 @@ -4219,8 +3667,8 @@ i32.const 2 i32.shl i32.add - f32.load $0 offset=4 - f32.store $0 + i32.load $0 offset=4 + i32.store $0 local.get $6 i32.const 1 i32.add @@ -4238,14 +3686,14 @@ i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $7 local.get $4 local.get $2 i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 local.set $8 i32.const 2 global.set $~argumentsLength @@ -4253,7 +3701,7 @@ local.get $8 local.get $5 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.lt_s if @@ -4263,7 +3711,7 @@ i32.shl i32.add local.get $7 - f32.store $0 + i32.store $0 local.get $6 i32.const 1 i32.sub @@ -4275,7 +3723,7 @@ i32.shl i32.add local.get $8 - f32.store $0 + i32.store $0 local.get $2 i32.const 1 i32.add @@ -4289,571 +3737,162 @@ end end ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $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 i32) - (local $13 f32) - (local $14 i32) - (local $15 i32) - (local $16 i64) local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - f32.load $0 - local.set $13 - local.get $0 - f32.load $0 offset=4 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - f32.load $0 offset=8 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f32.store $0 offset=4 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - f32.store $0 offset=8 - end - local.get $0 - f32.load $0 - local.set $10 - local.get $0 - f32.load $0 offset=4 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f32.store $0 offset=4 - return - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return - end - i32.const 33 + local.get $3 + local.get $2 local.get $1 - i32.clz i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 i32.add - local.tee $12 + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select i32.add - local.set $14 - loop $for-loop|1 + local.set $7 + loop $for-loop|0 + local.get $2 local.get $7 - local.get $8 - i32.gt_u + i32.ge_s if - local.get $12 - local.get $8 + local.get $0 + local.get $7 i32.const 2 i32.shl i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $15 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - local.get $0 - i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 - i32.ge_s - select - local.tee $6 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 - i32.lt_s - if - local.get $0 + local.tee $3 + i32.load $0 offset=4 + local.tee $6 + local.set $5 + local.get $3 + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 - i32.add - local.tee $8 - i32.const 32 - i32.lt_s + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort + local.get $3 + local.set $5 + local.get $6 + local.set $3 end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $16 - i64.div_u - local.get $5 local.get $7 - i32.add i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $16 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - local.get $8 - i32.lt_u + local.get $6 + i32.le_s if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if + block $while-break|1 local.get $0 - local.get $4 - local.get $8 + local.get $6 i32.const 2 i32.shl - local.tee $3 - local.get $14 i32.add i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 local.get $4 - local.set $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 offset=8 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 end end - local.get $1 + local.get $0 + local.get $6 i32.const 2 i32.shl - local.tee $4 - local.get $12 i32.add local.get $3 - i32.store $0 - local.get $4 - local.get $14 - i32.add + i32.store $0 offset=8 + loop $while-continue|2 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end + end + local.get $0 local.get $6 - i32.store $0 + i32.const 2 + i32.shl + i32.add local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end - end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - local.get $2 - i32.xor - local.tee $2 - local.get $1 - i32.reinterpret_f32 - local.tee $3 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - local.get $3 - i32.xor - local.tee $3 - i32.gt_s - local.get $2 - local.get $3 - i32.lt_s - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 i32) - (local $8 f64) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $7 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.tee $3 - f64.load $0 offset=8 - local.tee $8 - local.set $6 - local.get $3 - f64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $8 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $6 - local.get $8 - local.set $5 - end - local.get $7 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $8 - f64.store $0 offset=16 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store $0 offset=16 - loop $while-continue|2 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store $0 offset=8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $6 - f64.store $0 offset=8 + i32.store $0 offset=4 local.get $7 i32.const 2 i32.add @@ -4862,11 +3901,10 @@ end end ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) (local $4 i32) - (local $5 f64) + (local $5 i32) (local $6 i32) - (local $7 f64) local.get $1 local.get $2 i32.eq @@ -4876,28 +3914,28 @@ end local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + i32.load $0 local.set $5 local.get $0 local.get $1 i32.const 1 i32.add local.tee $4 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 - local.set $7 + i32.load $0 + local.set $6 i32.const 2 global.set $~argumentsLength local.get $5 - local.get $7 + local.get $6 local.get $3 i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.gt_s if @@ -4908,22 +3946,22 @@ if (result i32) local.get $0 local.get $4 - i32.const 3 + i32.const 2 i32.shl i32.add - local.tee $6 - f64.load $0 offset=8 + local.tee $5 + i32.load $0 offset=4 + local.set $6 + local.get $5 + i32.load $0 local.set $5 - local.get $6 - f64.load $0 - local.set $7 i32.const 2 global.set $~argumentsLength + local.get $6 local.get $5 - local.get $7 local.get $3 i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 31 i32.shr_u else @@ -4946,28 +3984,28 @@ if local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add local.tee $3 - f64.load $0 + i32.load $0 local.set $5 local.get $3 local.get $0 local.get $2 - i32.const 3 + i32.const 2 i32.shl i32.add local.tee $3 - f64.load $0 - f64.store $0 + i32.load $0 + i32.store $0 local.get $1 i32.const 1 i32.add local.set $1 local.get $3 local.get $5 - f64.store $0 + i32.store $0 local.get $2 i32.const 1 i32.sub @@ -4983,22 +4021,22 @@ if (result i32) local.get $0 local.get $4 - i32.const 3 + i32.const 2 i32.shl i32.add local.tee $1 - f64.load $0 offset=8 + i32.load $0 offset=4 local.set $5 local.get $1 - f64.load $0 - local.set $7 + i32.load $0 + local.set $1 i32.const 2 global.set $~argumentsLength local.get $5 - local.get $7 + local.get $1 local.get $3 i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.ge_s else @@ -5015,19 +4053,17 @@ end local.get $4 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (local $6 i32) - (local $7 f64) - (local $8 f64) - (local $9 i32) - (local $10 i32) + (local $7 i32) + (local $8 i32) local.get $2 i32.const 1 i32.sub local.tee $6 local.get $3 i32.add - local.set $9 + local.set $7 local.get $6 i32.const 1 i32.add @@ -5041,16 +4077,16 @@ i32.const 1 i32.sub local.tee $2 - i32.const 3 + i32.const 2 i32.shl - local.tee $10 + local.tee $8 local.get $4 i32.add local.get $0 - local.get $10 + local.get $8 i32.add - f64.load $0 - f64.store $0 + i32.load $0 + i32.store $0 br $for-loop|0 end end @@ -5060,19 +4096,19 @@ i32.gt_s if local.get $4 - local.get $9 + local.get $7 local.get $6 i32.sub - i32.const 3 + i32.const 2 i32.shl i32.add local.get $0 local.get $6 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 offset=8 - f64.store $0 + i32.load $0 offset=4 + i32.store $0 local.get $6 i32.const 1 i32.add @@ -5087,17 +4123,17 @@ if local.get $4 local.get $6 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + i32.load $0 local.set $7 local.get $4 local.get $2 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + i32.load $0 local.set $8 i32.const 2 global.set $~argumentsLength @@ -5105,17 +4141,17 @@ local.get $8 local.get $5 i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 i32.lt_s if local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $7 - f64.store $0 + i32.store $0 local.get $6 i32.const 1 i32.sub @@ -5123,11 +4159,11 @@ else local.get $0 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $8 - f64.store $0 + i32.store $0 local.get $2 i32.const 1 i32.add @@ -5141,3229 +4177,2348 @@ end end ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) - (local $13 f64) - (local $14 i32) - (local $15 i32) - (local $16 i64) - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - f64.load $0 - local.set $13 - local.get $0 - f64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f64.store $0 - local.get $0 - f64.load $0 offset=16 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f64.store $0 offset=8 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - f64.store $0 offset=16 - end - local.get $0 - f64.load $0 - local.set $10 - local.get $0 - f64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f64.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f64.store $0 offset=8 - return - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $12 - i32.add - local.set $14 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 - i32.const 3 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $15 + i32.gt_u local.get $0 - i32.const 0 local.get $1 - i32.const 1 + i32.lt_u i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + ) + (func $~lib/math/NativeMath.random (type $none_=>_f64) (result f64) + (local $0 i64) + (local $1 i64) + global.get $~lib/math/random_seeded + i32.eqz if + i64.const -7046029254386353131 + call $~lib/builtins/seed + i64.reinterpret_f64 + local.tee $0 local.get $0 - i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 - i32.ge_s + i64.eqz select - local.tee $6 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 - i32.lt_s - if - local.get $0 - local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 - i32.add - local.tee $8 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $16 - i64.div_u - local.get $5 - local.get $7 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $16 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $14 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $12 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $14 - i32.add - local.get $6 - i32.store $0 - local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + local.tee $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 + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + local.tee $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 + global.set $~lib/math/random_state1_64 + i32.const 1 + global.set $~lib/math/random_seeded end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - local.get $2 + global.get $~lib/math/random_state0_64 + local.set $1 + global.get $~lib/math/random_state1_64 + local.tee $0 + global.set $~lib/math/random_state0_64 + local.get $1 + local.get $1 + i64.const 23 + i64.shl i64.xor - local.tee $2 + local.tee $1 local.get $1 - i64.reinterpret_f64 - local.tee $3 - i64.const 63 - i64.shr_s - i64.const 1 + i64.const 17 i64.shr_u - local.get $3 i64.xor - local.tee $3 - i64.gt_s - local.get $2 - local.get $3 - i64.lt_s - i32.sub + local.get $0 + i64.xor + local.get $0 + i64.const 26 + i64.shr_u + i64.xor + global.set $~lib/math/random_state1_64 + local.get $0 + i64.const 12 + i64.shr_u + i64.const 4607182418800017408 + i64.or + f64.reinterpret_i64 + f64.const -1 + f64.add ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (func $start:std/array~anonymous|49 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $1 local.get $0 - i32.load $0 offset=12 - i32.ge_u + i32.sub + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + local.get $1 + i32.const 0 + i32.lt_s + local.tee $2 if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $1 + i32.sub + local.set $1 end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $5 i32.const 1 - i32.and - local.get $3 - select + i32.shl i32.add - local.set $7 - loop $for-loop|0 + local.set $0 + local.get $1 + i32.const 10 + i32.lt_u + if + local.get $0 + local.get $1 + i32.const 48 + i32.or + i32.store16 $0 local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 - local.get $3 - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 + i32.const 1 + i32.add + return + end + local.get $0 + local.get $1 + local.get $1 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u i32.add - local.set $7 - br $for-loop|0 end end + local.tee $0 + call $~lib/util/number/utoa32_dec_lut + local.get $0 + local.get $2 + i32.add ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $2 - i32.eq + i32.const 10 + i32.lt_u if + local.get $0 local.get $1 + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 return end local.get $0 local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - local.get $0 local.get $1 - i32.const 1 - i32.add - local.tee $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add end else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=4 - local.set $5 - local.get $1 - i32.load $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add end end - local.get $4 + local.tee $0 + call $~lib/util/number/utoa32_dec_lut + local.get $0 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (func $~lib/util/number/genDigits (type $i32_i64_i64_i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) (local $6 i32) (local $7 i32) - (local $8 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i64) + (local $12 i64) local.get $2 - i32.const 1 - i32.sub - local.tee $6 + local.get $1 + i64.sub + local.set $9 + i64.const 1 + i32.const 0 local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 + i32.sub + local.tee $10 + i64.extend_i32_s + local.tee $1 + i64.shl + local.tee $12 + i64.const 1 + i64.sub + local.tee $11 + local.get $2 + i64.and + local.set $8 + local.get $2 + local.get $1 + i64.shr_u + i32.wrap_i64 + local.tee $3 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 100 + i32.lt_u + if (result i32) + local.get $3 + i32.const 10 + i32.ge_u i32.const 1 - i32.sub - local.tee $2 - i32.const 2 - i32.shl - local.tee $8 - local.get $4 i32.add - local.get $0 - local.get $8 + else + local.get $3 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u i32.add - i32.load $0 - i32.store $0 - br $for-loop|0 end - end - loop $for-loop|1 + else local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 2 - i32.shl + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1000000 + i32.ge_u + i32.const 6 i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl + else + local.get $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 - i32.const 1 + local.get $3 + i32.const 100000000 + i32.ge_u i32.add - local.set $6 - br $for-loop|1 end end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s + local.set $7 + loop $while-continue|0 + local.get $7 + i32.const 0 + i32.gt_s if - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 + 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 $3 + i32.const 1000000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 100000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 10000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 1000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100000 + i32.div_u + local.set $6 + local.get $3 + i32.const 100000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10000 + i32.div_u + local.set $6 + local.get $3 + i32.const 10000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 1000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100 + i32.div_u + local.set $6 + local.get $3 + i32.const 100 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10 + i32.div_u + local.set $6 + local.get $3 + i32.const 10 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + local.set $6 + i32.const 0 + local.set $3 + br $break|1 + end + i32.const 0 + local.set $6 + end local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s + local.get $6 + i32.or if local.get $0 - local.get $1 - i32.const 2 + local.get $5 + i32.const 1 i32.shl i32.add - local.get $7 - i32.store $0 local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl + i32.const 65535 + i32.and + i32.const 48 i32.add - local.get $8 - i32.store $0 - local.get $2 + i32.store16 $0 + local.get $5 i32.const 1 i32.add - local.set $2 + local.set $5 end - local.get $1 + local.get $7 i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end - end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.sub + local.set $7 + local.get $4 + local.get $3 + i64.extend_i32_u + local.get $10 + i64.extend_i32_s + i64.shl + local.get $8 + i64.add + local.tee $1 + i64.ge_u + if + global.get $~lib/util/number/_K + local.get $7 + i32.add + global.set $~lib/util/number/_K + local.get $7 i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 + i32.shl + i32.const 13392 + i32.add + i64.load32_u $0 + local.get $10 + i64.extend_i32_s + i64.shl + local.set $2 local.get $0 local.get $5 - local.get $1 - local.get $3 - select - i32.store $0 offset=4 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u $0 + local.set $7 + loop $while-continue|3 + local.get $1 + local.get $9 + i64.lt_u + local.get $4 + local.get $1 + i64.sub + local.get $2 + i64.ge_u + i32.and + if (result i32) + local.get $9 + local.get $1 + local.get $2 + i64.add + local.tee $8 + i64.gt_u + local.get $9 + local.get $1 + i64.sub + local.get $8 + local.get $9 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $7 + i32.const 1 + i32.sub + local.set $7 + local.get $1 + local.get $2 + i64.add + local.set $1 + br $while-continue|3 + end + end local.get $0 - local.get $1 + local.get $7 + i32.store16 $0 local.get $5 - local.get $3 - select - i32.store $0 offset=8 + return end + br $while-continue|0 + end + end + loop $while-continue|4 + local.get $4 + i64.const 10 + i64.mul + local.set $4 + local.get $8 + i64.const 10 + i64.mul + local.tee $1 + local.get $10 + i64.extend_i32_s + i64.shr_u + local.tee $2 + local.get $5 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store $0 - local.get $0 - local.get $1 - local.get $3 + local.get $5 + i32.const 1 + i32.shl + i32.add local.get $2 - select - i32.store $0 offset=4 - return + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 $0 + local.get $5 + i32.const 1 + i32.add + local.set $5 end - local.get $0 - i32.const 0 - local.get $1 + local.get $7 i32.const 1 i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + local.set $7 + local.get $1 + local.get $11 + i64.and + local.tee $8 + local.get $4 + i64.ge_u + br_if $while-continue|4 end - i32.const 33 - local.get $1 - i32.clz + global.get $~lib/util/number/_K + local.get $7 + i32.add + global.set $~lib/util/number/_K + local.get $9 + i32.const 0 + local.get $7 i32.sub - local.tee $5 i32.const 2 i32.shl - local.tee $6 + i32.const 13392 + i32.add + i64.load32_u $0 + i64.mul + local.set $1 + local.get $0 + local.get $5 + i32.const 1 + i32.sub i32.const 1 i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 + local.tee $0 + i32.load16_u $0 + local.set $7 + loop $while-continue|6 + local.get $1 local.get $8 - i32.gt_u - if - local.get $10 + i64.gt_u + local.get $4 + local.get $8 + i64.sub + local.get $12 + i64.ge_u + i32.and + if (result i32) + local.get $1 local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 + local.get $12 + i64.add + local.tee $2 + i64.gt_u + local.get $1 local.get $8 + i64.sub + local.get $2 + local.get $1 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $7 i32.const 1 - i32.add + i32.sub + local.set $7 + local.get $8 + local.get $12 + i64.add local.set $8 - br $for-loop|1 + br $while-continue|6 end end - global.get $~lib/rt/tlsf/ROOT + local.get $0 + local.get $7 + i32.store16 $0 + local.get $5 + ) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $2 i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s if local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store $0 + local.get $1 + i32.const 2 + i32.add + return end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 + local.get $1 + local.get $2 + i32.add + local.tee $3 + i32.const 21 + i32.le_s + local.get $1 + local.get $3 + i32.le_s + i32.and + if (result i32) + loop $for-loop|0 + local.get $1 + local.get $3 i32.lt_s if local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 + local.get $1 + i32.const 1 + i32.shl i32.add - local.tee $1 + i32.const 48 + i32.store16 $0 local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort + 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 $0 + local.get $3 + i32.const 2 + i32.add + else + local.get $3 + i32.const 21 + i32.le_s + local.get $3 + i32.const 0 + i32.gt_s + i32.and + if (result i32) + local.get $0 local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 i32.const 1 + i32.shl i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 + local.tee $0 + i32.const 2 i32.add + local.get $0 + i32.const 0 + local.get $2 + i32.sub + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + i32.const 46 + i32.store16 $0 + local.get $1 i32.const 1 i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne + else + local.get $3 + i32.const 0 + i32.le_s + local.get $3 + i32.const -6 + i32.gt_s + i32.and + 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 + memory.copy $0 $0 + local.get $0 + i32.const 3014704 + i32.store $0 + 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 $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 + local.get $2 i32.const 1 + i32.shl i32.add - local.get $5 - local.get $12 + i32.const 48 + i32.store16 $0 local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 + i32.const 1 i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 + local.set $2 + br $for-loop|1 end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl + local.get $3 i32.add - i32.load $0 + else + local.get $1 i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end - end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $5 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 - local.get $3 - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s + i32.eq if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $2 + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $3 + if i32.const 0 - i32.le_s - br_if $while-break|1 local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 i32.sub - local.set $6 - br $while-continue|1 + local.set $0 end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 + local.get $0 + local.get $0 + i32.const 100000 + i32.lt_u + if (result i32) local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + i32.const 1 + i32.add + local.tee $1 + call $~lib/util/number/utoa32_dec_lut + local.get $2 + i32.const 45 + i32.const 43 + local.get $3 + select + i32.store16 $0 + 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 + memory.copy $0 $0 + local.get $0 + i32.const 46 + i32.store16 $0 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $4 + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $2 + if i32.const 0 - i32.le_s - br_if $while-break|2 local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=4 - local.get $6 - i32.const 1 i32.sub - local.set $6 - br $while-continue|2 + local.set $0 end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 + local.get $0 + local.get $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa32_dec_lut + local.get $4 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 $0 + local.get $0 + local.get $1 + i32.add + local.set $1 + end + local.get $1 + i32.const 2 + i32.add + end end end ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) local.get $1 - local.get $2 - i32.eq - if + f64.const 0 + f64.lt + local.tee $3 + if (result f64) + local.get $0 + i32.const 45 + i32.store16 $0 + local.get $1 + f64.neg + else local.get $1 - return end - local.get $0 - local.get $1 - i32.const 2 - i32.shl + i64.reinterpret_f64 + local.tee $2 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $7 + i32.const 1 + local.get $7 + select + i32.const 1075 + i32.sub + local.tee $8 + i32.const 1 + i32.sub + local.get $2 + i64.const 4503599627370495 + i64.and + local.get $7 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + i64.add + local.tee $2 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $4 + i64.clz + i32.wrap_i64 + local.tee $7 + i32.sub + local.set $9 + local.get $4 + local.get $7 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus + local.get $2 + local.get $2 + i64.const 4503599627370496 + i64.eq + i32.const 1 i32.add - i32.load $0 - local.set $5 - local.get $0 + local.tee $7 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $8 + local.get $7 + i32.sub + local.get $9 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $9 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp + local.tee $7 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.tee $1 + i32.trunc_sat_f64_s + local.tee $8 + local.get $8 + f64.convert_i32_s local.get $1 + f64.ne + i32.add + i32.const 3 + i32.shr_s i32.const 1 i32.add - local.tee $4 - i32.const 2 + local.tee $8 + i32.const 3 i32.shl + local.tee $9 + i32.sub + global.set $~lib/util/number/_K + local.get $9 + i32.const 12520 i32.add - i32.load $0 - local.set $6 - i32.const 2 - global.set $~argumentsLength + i64.load $0 + global.set $~lib/util/number/_frc_pow + local.get $8 + i32.const 1 + i32.shl + i32.const 13216 + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $2 + local.get $2 + i64.clz + i64.shl + local.tee $2 + i64.const 4294967295 + i64.and + local.set $5 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 + i64.mul local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 + local.get $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $12 + global.get $~lib/util/number/_frc_plus + local.tee $2 + i64.const 4294967295 + i64.and + local.set $13 + local.get $11 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $6 + i64.mul + local.get $11 + local.get $13 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $14 + global.get $~lib/util/number/_frc_minus + local.tee $15 + i64.const 4294967295 + i64.and + local.set $2 + local.get $11 + local.get $15 + i64.const 32 + i64.shr_u + local.tee $15 + i64.mul + local.get $2 + local.get $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $11 + local.get $10 + i64.const 32 + i64.shr_u + local.tee $10 + local.get $6 + i64.mul + local.get $14 + i64.const 32 + i64.shr_u + i64.add + local.get $10 + local.get $13 + i64.mul + local.get $14 + 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 $6 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $4 + local.get $10 + i64.mul + local.get $12 + i64.const 32 + i64.shr_u + i64.add + local.get $5 + local.get $10 + i64.mul + local.get $12 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + local.get $6 + local.get $7 + global.get $~lib/util/number/_exp_pow + i32.add + i32.const -64 + i32.sub + local.get $6 + local.get $10 + local.get $15 + i64.mul + local.get $11 + i64.const 32 + i64.shr_u + i64.add + local.get $2 + local.get $10 + i64.mul + local.get $11 + 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 $3 + call $~lib/util/number/genDigits + local.get $3 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.get $3 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (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 $0 + local.get $0 + i32.const 46 + i32.store16 $0 offset=2 + local.get $0 + i32.const 48 + i32.store16 $0 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 $0 + local.get $0 + i32.const 97 + i32.store16 $0 offset=2 + local.get $0 + i32.const 78 + i32.store16 $0 offset=4 + i32.const 3 + return + else local.get $1 - local.get $2 - i32.lt_s + f64.const 0 + f64.lt + local.tee $2 if local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.set $5 - local.get $3 + i32.const 45 + i32.store16 $0 local.get $0 - local.get $2 i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 - local.get $1 - i32.const 1 i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 + local.set $0 end - end - else - loop $while-continue|2 + local.get $0 + i64.const 29555310648492105 + i64.store $0 + local.get $0 + i64.const 34058970405077102 + i64.store $0 offset=8 local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=4 - local.set $5 - local.get $1 - i32.load $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end + i32.const 8 + i32.add + return end + unreachable end - local.get $4 + local.get $0 + local.get $1 + call $~lib/util/number/dtoa_core ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.extend8_s + i32.const 0 + i32.lt_s + local.tee $2 + if local.get $1 - local.get $2 - i32.lt_s + i32.const 255 + i32.and + i32.const 128 + i32.eq if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 2 - i32.shl - local.tee $8 - local.get $4 - i32.add local.get $0 - local.get $8 - i32.add - i32.load $0 - i32.store $0 - br $for-loop|0 + i64.const 15762813447372845 + i64.store $0 + i32.const 4 + return end + local.get $0 + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $1 + i32.sub + local.set $1 end - loop $for-loop|1 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.set $3 + local.get $1 + i32.extend8_s + i32.const 10 + i32.lt_u + if local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 2 - i32.shl + local.get $1 + i32.extend8_s + i32.const 48 + i32.or + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + return + end + local.get $1 + i32.extend8_s + local.tee $1 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 - i32.const 1 + local.get $1 + i32.const 1000 + i32.ge_u i32.add - local.set $6 - br $for-loop|1 end - end - loop $for-loop|2 + else local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 2 - i32.shl + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 i32.add - i32.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end local.get $1 - i32.const 1 + i32.const 100000000 + i32.ge_u i32.add - local.set $1 - br $for-loop|2 end end + local.set $0 + local.get $3 + local.get $1 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + local.get $0 + local.get $2 + i32.add ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) local.get $1 - i32.const 48 - i32.le_s + 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 $0 i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store $0 offset=4 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store $0 offset=8 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength + return + end + local.get $1 + i32.const 65535 + i32.and + local.set $2 + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add + end + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa32_dec_lut + local.get $1 + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + local.get $1 + i32.extend16_s + i32.const 0 + i32.lt_s + local.tee $2 + if + local.get $1 + i32.const 65535 + i32.and + i32.const 32768 + i32.eq + if local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store $0 + i64.const 15481338470793261 + i64.store $0 local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store $0 offset=4 + i32.const 3670070 + i32.store $0 offset=8 + i32.const 6 return end local.get $0 + i32.const 45 + i32.store16 $0 i32.const 0 local.get $1 - i32.const 1 i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + local.set $1 end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $5 - i32.const 2 - i32.shl - local.tee $6 + local.get $0 + local.get $2 i32.const 1 i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + i32.add + local.set $3 + local.get $1 + i32.extend16_s + i32.const 10 + i32.lt_u if - call $~lib/rt/tlsf/initialize + local.get $3 + local.get $1 + i32.extend16_s + i32.const 48 + i32.or + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + return end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 + local.get $1 + i32.extend16_s + local.tee $1 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u i32.const 1 i32.add - local.set $8 - br $for-loop|1 + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add end end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT + local.set $0 + local.get $3 local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $9 + call $~lib/util/number/utoa32_dec_lut + local.get $0 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 - i32.const 1 i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 + ) + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i32) + loop $while-continue|0 local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s + i64.const 100000000 + i64.ge_u if local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 + i32.const 4 i32.sub + local.tee $2 i32.const 1 + i32.shl i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 + local.get $1 + i64.const 100000000 i64.div_u - i64.xor + local.tee $1 + i64.const 100000000 + i64.mul + i64.sub i32.wrap_i64 - i32.clz - local.set $7 + local.tee $3 + i32.const 10000 + i32.rem_u + local.tee $4 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 7724 + i32.add + i64.load32_u $0 local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $7 + i32.const 100 + i32.rem_u i32.const 2 i32.shl - local.tee $4 - local.get $10 + i32.const 7724 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl i32.add local.get $3 - i32.store $0 - local.get $4 - local.get $11 + i32.const 10000 + i32.div_u + local.tee $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 7724 i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u i32.const 2 i32.shl + i32.const 7724 i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $0 local.get $1 - i32.gt_u + i32.wrap_i64 + local.get $2 + call $~lib/util/number/utoa32_dec_lut + ) + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) local.get $0 + local.set $2 local.get $1 - i32.lt_u - i32.sub - ) - (func $~lib/math/NativeMath.random (type $none_=>_f64) (result f64) - (local $0 i64) - (local $1 i64) - global.get $~lib/math/random_seeded - i32.eqz + i64.const 10 + i64.lt_u if - i64.const -7046029254386353131 - call $~lib/builtins/seed - i64.reinterpret_f64 - local.tee $0 - local.get $0 - i64.eqz - select - local.tee $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 - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - local.tee $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 - global.set $~lib/math/random_state1_64 + local.get $2 + local.get $1 + i64.const 48 + i64.or + i64.store16 $0 i32.const 1 - global.set $~lib/math/random_seeded + return end - global.get $~lib/math/random_state0_64 - local.set $1 - global.get $~lib/math/random_state1_64 - local.tee $0 - global.set $~lib/math/random_state0_64 - local.get $1 - local.get $1 - i64.const 23 - i64.shl - i64.xor - local.tee $1 local.get $1 - i64.const 17 - i64.shr_u - i64.xor - local.get $0 - i64.xor - local.get $0 - i64.const 26 - i64.shr_u - i64.xor - global.set $~lib/math/random_state1_64 + i64.const 4294967295 + i64.le_u + if + local.get $1 + i32.wrap_i64 + local.tee $3 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 100 + i32.lt_u + if (result i32) + local.get $3 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $3 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $3 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $3 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.set $0 + local.get $2 + local.get $3 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + else + local.get $2 + local.get $1 + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $1 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $1 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + call $~lib/util/number/utoa64_dec_lut + end local.get $0 - i64.const 12 - i64.shr_u - i64.const 4607182418800017408 - i64.or - f64.reinterpret_i64 - f64.const -1 - f64.add ) - (func $std/array/assertStableSortedForComplexObjects~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.load $0 + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $1 - i32.load $0 - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s + i64.const 0 + i64.lt_s + local.tee $3 if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 45 + i32.store16 $0 + i64.const 0 + local.get $1 + i64.sub + local.set $1 end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $5 + local.get $0 local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $5 i32.const 1 - i32.and - local.get $3 - select + i32.shl i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 - local.tee $6 - i32.store $0 - local.get $3 - local.get $5 - i32.load $0 offset=4 - local.tee $5 - i32.store $0 offset=4 - local.get $6 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $3 - local.get $6 - local.set $5 + local.set $4 + local.get $1 + i64.const 10 + i64.lt_u + if + local.get $4 + local.get $1 + i64.const 48 + i64.or + i64.store16 $0 + local.get $3 + i32.const 1 + i32.add + return + end + local.get $1 + i64.const 4294967295 + i64.le_u + if + local.get $1 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 + else + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.set $0 + local.get $4 + local.get $2 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + else + local.get $4 + local.get $1 + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 1000000000000 + i64.lt_u + if (result i32) local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $1 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 + else + local.get $1 + i64.const 100000000000000000 + i64.lt_u + if (result i32) local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $3 - i32.store $0 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 end + local.tee $0 + call $~lib/util/number/utoa64_dec_lut end - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + local.get $3 i32.add - global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (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 - i32.const 48992 - i32.const 49040 - i32.const 1 + local.get $0 + local.get $1 + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 $0 i32.const 1 - call $~lib/builtins/abort - unreachable + return end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $3 + local.get $1 + i32.const 255 + i32.and + local.set $2 + i32.const 3 local.get $2 + i32.const 10 + i32.ge_u i32.const 1 - i32.sub - local.tee $2 i32.add - local.set $7 local.get $2 - i32.const 1 - i32.add - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $6 - i32.lt_s - if - local.get $6 - i32.const 1 - i32.sub - local.tee $6 - i32.const 2 - i32.shl - local.tee $8 - local.get $4 - i32.add - local.get $0 - local.get $8 - i32.add - i32.load $0 - i32.store $0 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $4 - local.get $7 - local.get $2 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.tee $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - local.get $7 - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $7 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - 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.add - global.set $~lib/memory/__stack_pointer + i32.const 100 + i32.ge_u + select + local.set $1 + local.get $0 + local.get $2 + local.get $1 + call $~lib/util/number/utoa32_dec_lut + local.get $1 ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (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 i64) - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i64.const 0 - i64.store $0 offset=8 - block $folding-inner0 - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - br_if $folding-inner0 - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if + block $folding-inner5 + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $std/array/Proxy + block $std/array/Dim + block $std/array/Ref + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner4 $folding-inner0 $std/array/Ref $folding-inner4 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $std/array/Dim $folding-inner1 $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-inner2 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $invalid + end + return + end + return + end + return + end + return + end + return + end + return + end + unreachable + end + 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 16192 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 + local.get $0 + i32.store $0 + br $folding-inner5 end global.get $~lib/memory/__stack_pointer - local.tee $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 - local.tee $3 i32.store $0 - local.get $1 local.get $0 i32.load $0 offset=4 - local.tee $1 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength + local.set $1 + local.get $2 local.get $0 + i32.store $0 local.get $1 - local.get $3 - local.get $3 - local.get $1 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $1 - local.get $4 - select - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 offset=4 + i32.load $0 offset=12 i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 offset=4 + 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - local.get $3 - local.get $4 - select - i32.store $0 offset=8 + i32.store $0 + br $folding-inner5 end 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 16192 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 - i32.load $0 - local.tee $3 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.store $0 offset=12 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - local.get $3 - local.get $1 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.gt_s - local.tee $2 - select i32.store $0 - local.get $0 - local.get $3 local.get $1 - local.get $2 - select - i32.store $0 offset=4 - br $folding-inner0 - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - br $folding-inner0 - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $4 - i32.const 2 - i32.shl - local.tee $5 - i32.const 1 - i32.shl - local.set $6 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $5 - global.get $~lib/rt/tlsf/ROOT - local.get $6 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $3 - local.get $4 - i32.lt_u - if - local.get $10 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.const -1 + local.get $0 i32.store $0 - local.get $3 - i32.const 1 + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $3 - br $for-loop|1 + global.set $~lib/memory/__stack_pointer + return end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + local.get $0 + i32.load $0 + local.tee $0 if - call $~lib/rt/tlsf/initialize + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 + return + end + local.get $0 + i32.load $0 + local.tee $0 + if local.get $0 - i32.const 0 - local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~start (type $none_=>_none) + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std/array + ) + (func $~lib/array/Array#constructor (type $i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $4 i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $4 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $1 - i32.const 0 - local.set $3 - loop $while-continue|2 - local.get $4 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $5 - local.get $5 - local.get $9 - i32.gt_s - select - local.tee $5 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $5 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - loop $for-loop|3 - local.get $1 - local.get $7 - i32.gt_u - if - local.get $10 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.const -1 - i32.ne - if - local.get $0 - local.get $8 - local.get $1 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $4 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $8 - local.set $3 - end - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $1 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $1 - local.get $11 - i32.add - local.get $4 - i32.store $0 - local.get $6 - local.set $3 - local.get $5 - local.set $4 - local.get $7 - local.set $1 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $1 - if - local.get $10 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $3 - i32.const -1 - i32.ne - if - local.get $0 - local.get $3 - local.get $11 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|4 - end - end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $start:std/array~anonymous|49 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - local.get $0 - i32.sub - ) - (func $start:std/array~anonymous|52 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/array/Array#__get + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 local.get $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/array/Array#__get - i32.sub - ) - (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + i32.store $0 offset=8 local.get $1 - i32.eqz - local.get $0 - i32.eqz + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 local.get $0 - local.get $1 - i32.eq - i32.or - i32.or + i32.const 268435455 + i32.gt_u if - i32.const 0 - return + i32.const 1056 + i32.const 1104 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 8 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 + local.get $0 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 i32.const 1 - i32.shr_u - local.tee $5 - i32.or - i32.eqz - if - i32.const 0 - return - end - local.get $6 - i32.eqz - if - i32.const -1 - return - end - local.get $5 - i32.eqz - if - i32.const 1 - return - end - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $6 - local.get $5 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $3 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $0 - i64.load $0 - local.get $1 - i64.load $0 - 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 $3 - i32.const 4 - i32.sub - local.tee $3 - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - loop $while-continue|1 - local.get $3 - local.tee $2 - i32.const 1 - i32.sub - local.set $3 - local.get $2 - if - local.get $0 - i32.load16_u $0 - local.tee $4 - local.get $1 - i32.load16_u $0 - local.tee $2 - i32.ne - if - local.get $4 - local.get $2 - i32.sub - br $__inlined_func$~lib/util/string/compareImpl - 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 - end - local.tee $0 - local.get $6 - local.get $5 - i32.sub - local.get $0 - select - ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u + call $~lib/rt/itcms/__new local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $2 + local.get $3 + i32.store $0 + local.get $3 if - i32.const 0 - return - end - block $__inlined_func$~lib/util/string/compareImpl (result i32) - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz + local.get $2 local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|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 $2 - i32.load16_u $0 - local.tee $3 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.ne - if - local.get $3 - 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 $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=12 + local.get $4 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/array/Ref#constructor (type $i32_=>_i32) (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 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8378,160 +6533,140 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 i32.store $0 - block $__inlined_func$~lib/string/String#concat - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - i32.add - 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 11568 - local.set $2 - br $__inlined_func$~lib/string/String#concat - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - local.get $3 - memory.copy $0 $0 - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end local.get $2 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.const 0 + ) + (func $~lib/array/Array#fill (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s - local.tee $2 if - local.get $0 - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $1 - i32.sub - local.set $1 + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $0 + local.get $2 + i32.add + local.get $2 + local.get $0 local.get $0 local.get $2 - i32.const 1 - i32.shl + i32.gt_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.tee $2 + local.get $0 + local.get $3 i32.add - local.set $0 - local.get $1 - i32.const 10 - i32.lt_u + local.get $3 + local.get $0 + local.get $0 + local.get $3 + i32.gt_s + select + local.get $3 + i32.const 0 + i32.lt_s + select + local.tee $0 + i32.lt_s if - local.get $0 - local.get $1 - i32.const 48 - i32.or - i32.store16 $0 local.get $2 - i32.const 1 + local.get $4 i32.add - return - end - local.get $0 - local.get $1 - local.get $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end + local.get $0 + local.get $2 + i32.sub + memory.fill $0 end - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (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) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - i32.load $0 offset=4 - local.set $6 + i32.store $0 local.get $0 i32.load $0 offset=12 local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8548,215 +6683,128 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $7 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $7 - i32.eqz - if - local.get $6 - i32.load $0 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.shr_u - local.tee $5 - i32.const 11 - i32.add - local.get $7 - i32.mul - i32.const 11 - i32.add - local.tee $3 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $4 - local.get $7 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + block $folding-inner1 + block $folding-inner0 + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + 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 - i32.add - local.set $2 - local.get $5 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $2 - i32.const 1 - i32.shl - i32.add + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 local.get $2 - local.get $5 + 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 - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $for-loop|0 end - end - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $folding-inner1 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - end - local.get $0 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (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 $0 - i32.const 1 + i32.const 0 return end - local.get $0 - local.get $1 - local.get $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 ) - (func $~lib/array/Array#join (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#fill@varargs (type $i32_i32_i32_=>_none) (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 $0 - i32.load $0 offset=4 - local.set $6 - local.get $0 - i32.load $0 offset=12 - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8775,1491 +6823,1060 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $7 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $7 - i32.eqz - if - local.get $6 - i32.load $0 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + 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/memory/__stack_pointer - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 + i32.const 2147483647 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#fill (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.shr_u - local.tee $5 - i32.const 10 - i32.add - local.get $7 - i32.mul - i32.const 10 - i32.add - local.tee $3 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $4 - local.get $7 - i32.lt_s + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=12 + local.tee $0 + i32.add + local.get $2 + local.get $0 + local.get $0 + local.get $2 + i32.gt_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + local.get $3 + i32.add + local.get $3 + local.get $0 + local.get $0 + local.get $3 + i32.gt_s + select + local.get $3 + i32.const 0 + i32.lt_s + select + local.set $0 + block $__inlined_func$~lib/util/bytes/FILL + local.get $1 + i32.eqz + local.get $1 + i32.const -1 + i32.eq + i32.or + if + local.get $0 + local.get $2 + i32.gt_s if - local.get $0 + local.get $5 local.get $2 - i32.const 1 + i32.const 2 i32.shl i32.add - local.get $6 - local.get $4 + local.get $1 + local.get $0 + local.get $2 + i32.sub i32.const 2 i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + memory.fill $0 + end + br $__inlined_func$~lib/util/bytes/FILL + end + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_s + if + local.get $5 local.get $2 + i32.const 2 + i32.shl i32.add - local.set $2 - local.get $5 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $5 - i32.add - local.set $2 - end - local.get $4 + local.get $1 + i32.store $0 + 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 $2 - i32.const 1 - i32.shl - i32.add - local.get $6 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $2 - i32.add - local.tee $1 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/genDigits (type $i32_i64_i64_i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - (local $12 i64) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 local.get $2 + local.get $0 + i32.store $0 local.get $1 - i64.sub - local.set $9 - i64.const 1 - i32.const 0 - local.get $3 - i32.sub - local.tee $10 - i64.extend_i32_s - local.tee $1 - i64.shl - local.tee $12 - i64.const 1 - i64.sub - local.tee $11 - local.get $2 - i64.and - local.set $8 - local.get $2 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i64.shr_u - i32.wrap_i64 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + block $folding-inner1 + block $folding-inner0 + local.get $1 + call $~lib/array/Array#get:length local.get $3 - i32.const 1000 - i32.ge_u - i32.add + 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 $0 + 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 $0 + 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 - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add + 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#fill@varargs (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 + i32.const 2147483647 + local.set $3 end - local.set $7 - loop $while-continue|0 - local.get $7 - 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 $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 $3 - i32.const 1000000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 100000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 10000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 1000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100000 - i32.div_u - local.set $6 - local.get $3 - i32.const 100000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10000 - i32.div_u - local.set $6 - local.get $3 - i32.const 10000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 1000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100 - i32.div_u - local.set $6 - local.get $3 - i32.const 100 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10 - i32.div_u - local.set $6 - local.get $3 - i32.const 10 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - local.set $6 - i32.const 0 - local.set $3 - br $break|1 - end - i32.const 0 - local.set $6 - end - local.get $5 - local.get $6 - i32.or + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#fill (type $i32_f32_i32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=12 + local.tee $0 + i32.add + local.get $2 + local.get $0 + local.get $0 + local.get $2 + i32.gt_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + local.get $3 + i32.add + local.get $3 + local.get $0 + local.get $0 + local.get $3 + i32.gt_s + select + local.get $3 + i32.const 0 + i32.lt_s + select + local.set $0 + block $__inlined_func$~lib/util/bytes/FILL + local.get $1 + i32.reinterpret_f32 + i32.eqz + if + local.get $0 + local.get $2 + i32.gt_s if - local.get $0 local.get $5 - i32.const 1 + local.get $2 + i32.const 2 i32.shl i32.add - local.get $6 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 $0 - local.get $5 - i32.const 1 - i32.add - local.set $5 + i32.const 0 + local.get $0 + local.get $2 + i32.sub + i32.const 2 + i32.shl + memory.fill $0 end - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $4 - local.get $3 - i64.extend_i32_u - local.get $10 - i64.extend_i32_s - i64.shl - local.get $8 - i64.add - local.tee $1 - i64.ge_u + br $__inlined_func$~lib/util/bytes/FILL + end + loop $for-loop|0 + local.get $0 + local.get $2 + i32.gt_s if - global.get $~lib/util/number/_K - local.get $7 - i32.add - global.set $~lib/util/number/_K - local.get $7 + local.get $5 + local.get $2 i32.const 2 i32.shl - i32.const 13392 i32.add - i64.load32_u $0 - local.get $10 - i64.extend_i32_s - i64.shl - local.set $2 - local.get $0 - local.get $5 - i32.const 1 - i32.sub + local.get $1 + f32.store $0 + local.get $2 i32.const 1 - i32.shl i32.add - local.tee $0 - i32.load16_u $0 - local.set $7 - loop $while-continue|3 - local.get $1 - local.get $9 - i64.lt_u - local.get $4 - local.get $1 - i64.sub - local.get $2 - i64.ge_u - i32.and - if (result i32) - local.get $9 - local.get $1 - local.get $2 - i64.add - local.tee $8 - i64.gt_u - local.get $9 - local.get $1 - i64.sub - local.get $8 - local.get $9 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $1 - local.get $2 - i64.add - local.set $1 - br $while-continue|3 - end - end - local.get $0 - local.get $7 - i32.store16 $0 - local.get $5 - return + local.set $2 + br $for-loop|0 end - br $while-continue|0 end end - loop $while-continue|4 - local.get $4 - i64.const 10 - i64.mul - local.set $4 - local.get $8 - i64.const 10 - i64.mul - local.tee $1 - local.get $10 - i64.extend_i32_s - i64.shr_u - local.tee $2 - local.get $5 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 $0 - local.get $5 - i32.const 1 - i32.add - local.set $5 - end - local.get $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + (local $3 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.sub - local.set $7 - local.get $1 - local.get $11 - i64.and - local.tee $8 - local.get $4 - i64.ge_u - br_if $while-continue|4 + i32.const 1 + call $~lib/builtins/abort + unreachable end - global.get $~lib/util/number/_K - local.get $7 - i32.add - global.set $~lib/util/number/_K - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - local.get $7 - i32.sub + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 i32.shl - i32.const 13392 i32.add - i64.load32_u $0 - i64.mul - local.set $1 - local.get $0 - local.get $5 - i32.const 1 - i32.sub - i32.const 1 - i32.shl + f32.load $0 + local.set $2 + local.get $3 + i32.const 4 i32.add - local.tee $0 - i32.load16_u $0 - local.set $7 - loop $while-continue|6 - local.get $1 - local.get $8 - i64.gt_u - local.get $4 - local.get $8 - i64.sub - local.get $12 - i64.ge_u - i32.and - if (result i32) - local.get $1 - local.get $8 - local.get $12 - i64.add - local.tee $2 - i64.gt_u - local.get $1 - local.get $8 - i64.sub - local.get $2 - local.get $1 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $8 - local.get $12 - i64.add - local.set $8 - br $while-continue|6 - end - end - local.get $0 - local.get $7 - i32.store16 $0 - local.get $5 + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) + (func $std/array/isArraysEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 f32) (local $4 i32) - local.get $2 - i32.eqz + (local $5 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 16192 + i32.lt_s if - local.get $0 - local.get $1 + i32.const 48992 + i32.const 49040 i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store $0 - local.get $1 - i32.const 2 - i32.add - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.add - local.tee $3 - i32.const 21 - i32.le_s - local.get $1 - local.get $3 - i32.le_s - i32.and - if (result i32) - loop $for-loop|0 + i32.store $0 + block $folding-inner1 + block $folding-inner0 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 $0 - 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 $0 - local.get $3 - i32.const 2 - i32.add - else - local.get $3 - i32.const 21 - i32.le_s - local.get $3 - i32.const 0 - i32.gt_s - i32.and - if (result i32) + call $~lib/array/Array#get:length + local.get $4 + i32.ne + br_if $folding-inner0 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 - memory.copy $0 $0 - local.get $0 - i32.const 46 - i32.store16 $0 local.get $1 - i32.const 1 - i32.add - else - local.get $3 - i32.const 0 - i32.le_s - local.get $3 - i32.const -6 - i32.gt_s - i32.and - 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 - memory.copy $0 $0 - local.get $0 - i32.const 3014704 - i32.store $0 - 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 $0 - 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 + 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.const 101 - i32.store16 $0 offset=2 + i32.store $0 local.get $0 - i32.const 4 - i32.add - local.tee $2 - local.get $3 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - i32.lt_s + local.get $2 + call $~lib/array/Array#__get local.tee $3 - if + local.get $3 + f32.ne + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.tee $3 + local.get $3 + f32.ne + else i32.const 0 - local.get $0 - i32.sub - local.set $0 end - local.get $0 - local.get $0 - i32.const 100000 - i32.lt_u - if (result i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else + i32.store $0 local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end + local.get $2 + call $~lib/array/Array#__get + f64.promote_f32 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $5 + local.get $1 + local.get $2 + call $~lib/array/Array#__get + f64.promote_f32 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + 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 $0 + local.get $1 + local.get $2 + call $~lib/array/Array#__get + local.get $3 + f32.ne + br_if $folding-inner0 end - i32.const 1 - i32.add - local.tee $1 - call $~lib/util/number/utoa32_dec_lut local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 $0 - else - local.get $0 - i32.const 4 - i32.add - local.get $0 - i32.const 2 + i32.const 1 i32.add - local.get $1 + 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#fill@varargs (type $i32_f32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) + (local $3 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.shl - local.tee $2 - i32.const 2 i32.sub - memory.copy $0 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $0 - i32.const 101 - i32.store16 $0 offset=2 - local.get $0 - i32.const 4 - i32.add - local.tee $4 - 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 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end - end - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $4 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 $0 - local.get $0 - local.get $1 - i32.add - local.set $1 + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $1 - i32.const 2 - i32.add + unreachable end + i32.const 0 + local.set $2 end + i32.const 2147483647 + local.set $3 end - ) - (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - (local $11 i64) - (local $12 i64) - (local $13 i64) - (local $14 i64) - (local $15 i64) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 local.get $1 - f64.const 0 - f64.lt - local.tee $3 - if (result f64) - local.get $0 - i32.const 45 - i32.store16 $0 - 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 $7 - i32.const 1 - local.get $7 - select - i32.const 1075 - i32.sub - local.tee $8 - i32.const 1 - i32.sub - local.get $2 - i64.const 4503599627370495 - i64.and - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - i64.add - local.tee $2 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $4 - i64.clz - i32.wrap_i64 - local.tee $7 - i32.sub - local.set $9 - local.get $4 - local.get $7 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus local.get $2 - local.get $2 - i64.const 4503599627370496 - i64.eq - i32.const 1 + local.get $3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $7 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $8 - local.get $7 - i32.sub - local.get $9 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $9 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp - local.tee $7 + global.set $~lib/memory/__stack_pointer + ) + (func $std/array/internalCapacity (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 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 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.trunc_sat_f64_s - local.tee $8 - local.get $8 - f64.convert_i32_s + i64.const 0 + i64.store $0 local.get $1 - f64.ne - i32.add - i32.const 3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 i32.shr_s - i32.const 1 + local.set $0 + local.get $1 + i32.const 8 i32.add - local.tee $8 - i32.const 3 - i32.shl - local.tee $9 + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_=>_none) (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/util/number/_K - local.get $9 - i32.const 12520 - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - local.get $8 - i32.const 1 - i32.shl - i32.const 13216 - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $2 - local.get $2 - i64.clz - i64.shl - local.tee $2 - i64.const 4294967295 - i64.and - local.set $5 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $4 - global.get $~lib/util/number/_frc_pow - local.tee $10 - i64.const 4294967295 - i64.and - local.tee $11 - i64.mul - local.get $5 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $12 - global.get $~lib/util/number/_frc_plus - local.tee $2 - i64.const 4294967295 - i64.and - local.set $13 - local.get $11 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $6 - i64.mul - local.get $11 - local.get $13 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $14 - global.get $~lib/util/number/_frc_minus - local.tee $15 - i64.const 4294967295 - i64.and - local.set $2 - local.get $11 - local.get $15 - i64.const 32 - i64.shr_u - local.tee $15 - i64.mul - local.get $2 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $11 - local.get $10 - i64.const 32 - i64.shr_u - local.tee $10 - local.get $6 - i64.mul - local.get $14 - i64.const 32 - i64.shr_u - i64.add - local.get $10 - local.get $13 - i64.mul - local.get $14 - 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 $6 - local.get $0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 - i32.const 1 - i32.shl - i32.add local.get $0 - local.get $4 - local.get $10 - i64.mul - local.get $12 - i64.const 32 - i64.shr_u - i64.add - local.get $5 - local.get $10 - i64.mul - local.get $12 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - local.get $6 - local.get $7 - global.get $~lib/util/number/_exp_pow - i32.add - i32.const -64 - i32.sub - local.get $6 - local.get $10 - local.get $15 - i64.mul - local.get $11 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - local.get $10 - i64.mul - local.get $11 - 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 $3 - call $~lib/util/number/genDigits - local.get $3 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.get $3 - i32.add - ) - (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) + i32.store $0 local.get $1 - f64.const 0 - f64.eq + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.const 2 + i32.shr_u + i32.gt_u if + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 48 - i32.store16 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 + i32.store $0 local.get $0 - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.ne - if + i32.load $0 + local.set $3 + i32.const 8 local.get $1 local.get $1 - f64.ne + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.set $1 + local.get $2 if - local.get $0 - i32.const 78 - i32.store16 $0 - local.get $0 - i32.const 97 - i32.store16 $0 offset=2 - local.get $0 - i32.const 78 - i32.store16 $0 offset=4 - i32.const 3 - return - else - local.get $1 - f64.const 0 - f64.lt + i32.const 1073741820 + local.get $4 + i32.const 1 + i32.shl local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 $0 - local.get $0 - i32.const 2 - i32.add - local.set $0 - end - local.get $0 - i64.const 29555310648492105 - i64.store $0 + local.get $2 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + local.get $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.set $1 + end + block $__inlined_func$~lib/rt/itcms/__renew + local.get $3 + i32.const 20 + i32.sub + local.tee $4 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + local.get $1 + i32.ge_u + if + local.get $4 + local.get $1 + i32.store $0 offset=16 + local.get $3 + local.set $2 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $1 + local.get $4 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $2 + local.get $3 + local.get $1 + local.get $4 + i32.load $0 offset=16 + local.tee $4 + local.get $1 + local.get $4 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $2 + local.get $3 + i32.ne + if local.get $0 - i64.const 34058970405077102 - i64.store $0 offset=8 local.get $2 - i32.const 8 - i32.add - return + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end end + local.get $0 + local.get $1 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#push (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.load $0 offset=12 + local.tee $2 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add local.get $1 - call $~lib/util/number/dtoa_core + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/array/Array#pop (type $i32_=>_i32) (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 f64) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - i32.load $0 offset=4 - local.set $5 + i32.store $0 local.get $0 i32.load $0 offset=12 - local.set $0 + local.tee $2 + i32.const 0 + i32.le_s + if + i32.const 2640 + i32.const 1104 + i32.const 271 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=12 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray - end - local.get $6 - i32.eqz - if - local.get $5 - f64.load $0 - local.set $7 - 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 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/dtoa - local.get $7 - 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 12320 - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - local.get $7 - local.get $7 - f64.sub - f64.const 0 - f64.ne - if - local.get $7 - local.get $7 - f64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 12352 - 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 12384 - i32.const 12432 - local.get $7 - f64.const 0 - f64.lt - select - local.set $0 - br $__inlined_func$~lib/util/number/dtoa - end - i32.const 12464 - local.get $7 - 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 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - i32.const 12464 - local.get $1 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 12284 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - local.get $6 - i32.mul - i32.const 28 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 12288 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - 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 $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $0 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array<~lib/string/String|null>#join (type $i32_i32_=>_i32) (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 - i32.load $0 offset=4 - local.set $4 - local.get $0 - i32.load $0 offset=12 - local.set $6 - 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 16192 i32.lt_s @@ -10272,210 +7889,135 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + local.tee $3 i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinStringArray - local.get $6 - i32.const 1 - i32.sub - local.tee $5 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray + i32.const 1344 + i32.const 1104 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end - local.get $5 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $4 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $0 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - i32.const 11568 - local.get $1 - select - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray - end - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $6 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - local.get $7 - if - local.get $2 - local.get $7 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $2 - end - 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 $2 + local.get $0 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - i32.shr_u - local.tee $6 - local.get $5 - i32.mul i32.add + local.tee $3 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=8 - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $7 - i32.store $0 offset=4 - local.get $7 - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $7 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $7 - i32.add - local.set $3 - end - local.get $6 - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $6 - i32.add - local.set $3 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $5 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.store $0 offset=4 - local.get $1 - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end + call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 offset=4 - local.set $2 + i32.store $0 + local.get $1 local.get $0 i32.load $0 offset=12 + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 143 + i32.const 33 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#concat (type $i32_i32_=>_i32) (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.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10490,1253 +8032,1029 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 i64.const 0 i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=12 + local.tee $2 local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray - local.get $0 + i32.add + local.tee $4 + i32.const 268435455 + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 224 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.load $0 offset=4 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + local.tee $0 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $5 + i32.add + local.get $1 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.sub - local.tee $3 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray - end - local.get $3 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $2 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $0 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 13632 - i32.const 11568 - local.get $1 - select - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray - end - i32.const 11568 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=4 - i32.const 11852 - i32.load $0 i32.const 1 - i32.shr_u - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $5 - i32.store $0 - local.get $5 - if - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 13632 - i32.store $0 offset=8 - local.get $5 - local.get $0 - i32.const 13632 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 - end - local.get $4 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 11856 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 - end - 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 $2 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 13632 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.const 13632 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 local.get $0 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=12 + local.tee $5 + local.get $3 + local.get $5 + i32.lt_s + select + local.set $3 + local.get $4 local.get $1 - i32.extend8_s i32.const 0 i32.lt_s - local.tee $2 - if + if (result i32) local.get $1 - i32.const 255 - i32.and - i32.const 128 - i32.eq - if - local.get $0 - i64.const 15762813447372845 - i64.store $0 - i32.const 4 - return - end - local.get $0 - i32.const 45 - i32.store16 $0 + local.get $5 + i32.add + local.tee $1 i32.const 0 local.get $1 - i32.sub - local.set $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $5 + local.get $1 + local.get $5 + i32.lt_s + select end - local.get $0 - local.get $2 - i32.const 1 + local.tee $1 + i32.const 2 i32.shl i32.add - local.set $3 - local.get $1 - i32.extend8_s - i32.const 10 - i32.lt_u - if - local.get $3 - local.get $1 - i32.extend8_s - i32.const 48 - i32.or - i32.store16 $0 + local.get $4 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) local.get $2 - i32.const 1 + local.get $5 i32.add - return - end - local.get $1 - i32.extend8_s - local.tee $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end + local.get $2 + local.get $5 + local.get $2 + local.get $5 + i32.lt_s + select end - local.set $0 - local.get $3 - local.get $1 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - local.get $0 - local.get $2 + local.tee $2 + i32.const 2 + i32.shl i32.add - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - 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 $0 - i32.const 1 - return - end - local.get $1 - i32.const 65535 - i32.and - local.set $2 - local.get $2 - i32.const 100 - i32.lt_u + local.get $3 + i32.const 0 + i32.lt_s if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 + local.get $3 + local.get $5 i32.add + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add + local.get $3 + local.get $5 + local.get $3 + local.get $5 + i32.lt_s + select end - local.set $1 - local.get $0 local.get $2 + i32.sub + local.tee $2 + local.get $5 local.get $1 - call $~lib/util/number/utoa32_dec_lut + i32.sub + local.tee $1 local.get $1 + local.get $2 + i32.gt_s + select + i32.const 2 + i32.shl + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) - local.get $1 - i32.extend16_s - i32.const 0 + 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 16192 i32.lt_s - local.tee $2 if - local.get $1 - i32.const 65535 - i32.and - i32.const 32768 - i32.eq - if - local.get $0 - i64.const 15481338470793261 - i64.store $0 - local.get $0 - i32.const 3670070 - i32.store $0 offset=8 - i32.const 6 - return + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable end - local.get $0 - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $1 - i32.sub - local.set $1 + i32.const 2147483647 + local.set $3 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + local.get $1 local.get $2 - i32.const 1 - i32.shl + local.get $3 + call $~lib/array/Array#copyWithin + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $3 - local.get $1 - i32.extend16_s - i32.const 10 - i32.lt_u + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/array/isArraysEqual (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s if - local.get $3 - local.get $1 - i32.extend16_s - i32.const 48 - i32.or - i32.store16 $0 - local.get $2 + i32.const 48992 + i32.const 49040 i32.const 1 - i32.add - return + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.extend16_s - local.tee $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $folding-inner1 + block $folding-inner0 + local.get $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $2 + 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 $0 + 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 $0 + 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 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + ) + (func $~lib/array/Array#unshift (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.load $0 offset=12 + i32.const 1 + i32.add + local.tee $2 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $3 + i32.const 4 + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 local.get $3 local.get $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/util/number/utoa32_dec_lut + i32.store $0 local.get $0 local.get $2 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) - loop $while-continue|0 - local.get $1 - i64.const 100000000 - i64.ge_u - if - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i64.const 100000000 - i64.div_u - local.tee $1 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.tee $3 - i32.const 10000 - i32.rem_u - local.tee $4 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i64.load32_u $0 - local.get $4 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 10000 - i32.div_u - local.tee $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 7724 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 local.get $1 - i32.wrap_i64 - local.get $2 - call $~lib/util/number/utoa32_dec_lut - ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.set $2 - local.get $1 - i64.const 10 - i64.lt_u - if - local.get $2 + i32.const 0 + i32.lt_s + if (result i32) local.get $1 - i64.const 48 - i64.or - i64.store16 $0 - i32.const 1 - return - end - local.get $1 - i64.const 4294967295 - i64.le_u - if + local.get $3 + i32.add + local.tee $1 + i32.const 0 local.get $1 - i32.wrap_i64 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $0 + 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 - local.get $0 - call $~lib/util/number/utoa32_dec_lut + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select else local.get $2 - local.get $1 - local.get $1 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $1 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $1 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $1 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $0 - call $~lib/util/number/utoa64_dec_lut + 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 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $4 + i32.store $0 + local.get $4 + i32.load $0 offset=4 + local.set $5 + local.get $2 + local.get $0 + i32.store $0 + local.get $5 local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $2 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $~lib/array/Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#slice@varargs (type $i32_i32_=>_i32) (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 i64) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 + i32.const 2147483647 + local.set $2 + end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.set $2 + i32.store $0 local.get $0 - i32.load $0 offset=12 + local.get $1 + local.get $2 + call $~lib/array/Array#slice local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 - i32.lt_s + local.get $0 + ) + (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $4 + i32.const 1 + i32.gt_u + if + local.get $4 + i32.const 1 + i32.shr_u + local.set $5 + local.get $4 + i32.const 8 + i32.sub + local.set $6 + loop $while-continue|0 + local.get $1 + i32.const 7 + i32.add + local.get $5 + i32.lt_u if - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray + local.tee $7 + i64.load $0 + local.tee $3 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $3 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.set $3 + local.get $7 + local.get $2 + local.get $6 + i32.add + local.get $1 + i32.sub + local.tee $7 + i64.load $0 + local.tee $8 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $8 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.tee $8 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $8 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + i64.store $0 + local.get $7 + local.get $3 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $3 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + i64.store $0 + local.get $1 + i32.const 8 + i32.add + local.set $1 + br $while-continue|0 end - local.get $3 - i32.eqz + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + loop $while-continue|1 + local.get $1 + local.get $5 + i32.lt_u if - block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $2 - i64.load $0 - local.set $7 - 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 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $7 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7712 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $7 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.wrap_i64 - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $7 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $7 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $7 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $7 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $7 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $7 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $7 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $7 - local.get $1 - call $~lib/util/number/utoa64_dec_lut - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + local.get $2 i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 20 - i32.add - local.get $3 - i32.mul - i32.const 20 - i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $6 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end - end - local.get $4 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 + local.tee $6 + i32.load8_u $0 + local.set $7 + local.get $6 + local.get $2 + local.get $4 local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.sub i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + local.tee $6 + i32.load8_u $0 + i32.store8 $0 + local.get $6 + local.get $7 + i32.store8 $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|1 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 - return end - i32.const 48992 - i32.const 49040 - i32.const 1 - 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 ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/array/Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i64.const 0 - i64.lt_s - local.tee $3 + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s if - local.get $0 - i32.const 45 - i32.store16 $0 - i64.const 0 - local.get $1 - i64.sub - local.set $1 + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 + i32.load $0 offset=4 + local.set $2 local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $3 i32.const 1 - i32.shl - i32.add - local.set $4 - local.get $1 - i64.const 10 - i64.lt_u + i32.gt_u if - local.get $4 - local.get $1 - i64.const 48 - i64.or - i64.store16 $0 local.get $3 i32.const 1 - i32.add - return - end - local.get $1 - i64.const 4294967295 - i64.le_u - if - local.get $1 - i32.wrap_i64 - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 + i32.shr_u + local.set $4 + local.get $3 + i32.const 2 + i32.sub + local.set $5 + loop $while-continue|0 + local.get $1 + i32.const 1 + i32.add + local.get $4 i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add + if local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $0 - local.get $4 - local.get $2 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - else - local.get $4 - local.get $1 - local.get $1 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add + local.get $5 local.get $1 - i64.const 10000000000 - i64.ge_u + i32.sub + i32.const 1 + i32.shl i32.add - else + local.tee $6 + i32.load $0 + i32.const 16 + i32.rotr + local.set $7 + local.get $6 + local.get $2 local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 + i32.const 1 + i32.shl i32.add + local.tee $6 + i32.load $0 + i32.const 16 + i32.rotr + i32.store $0 + local.get $6 + local.get $7 + i32.store $0 local.get $1 - i64.const 10000000000000 - i64.ge_u + i32.const 2 i32.add + local.set $1 + br $while-continue|0 end - else + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) + local.get $4 + i32.lt_u + if + local.get $2 local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 + i32.const 1 + i32.shl i32.add - else + local.tee $5 + i32.load16_u $0 + local.set $6 + local.get $5 + local.get $2 + local.get $3 local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 + i32.sub + i32.const 1 + i32.shl i32.add + local.tee $5 + i32.load16_u $0 + i32.store16 $0 + local.get $5 + local.get $6 + i32.store16 $0 local.get $1 - i64.const 1000000000000000000 - i64.ge_u + i32.const 1 i32.add + local.set $1 + br $while-continue|1 end end - local.tee $0 - call $~lib/util/number/utoa64_dec_lut end - local.get $0 - 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/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + 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 16192 + i32.lt_s if - local.get $0 - local.get $1 - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 $0 + i32.const 48992 + i32.const 49040 i32.const 1 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.const 255 - i32.and - local.set $2 - i32.const 3 - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 local.get $2 - i32.const 100 - i32.ge_u - select - local.set $1 local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut + i32.store $0 local.get $1 - ) - (func $start:std/array~anonymous|54 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 i32.load $0 offset=12 - i32.const 1 - i32.ne + i32.ge_u if - i32.const 0 - i32.const 1552 - i32.const 1267 - i32.const 5 + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.const 3 - call $~lib/array/Array#push + i32.store $0 local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.ne + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#indexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 1269 - i32.const 5 + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner3 - block $folding-inner2 - block $folding-inner1 - block $invalid - block $std/array/Proxy - block $std/array/Dim - block $std/array/Ref - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner3 $folding-inner3 $std/array/Ref $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner1 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $std/array/Dim $folding-inner1 $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-inner2 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner3 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner2 $invalid - end - return - end - return - end - return - end - return - end - return - end - return - end - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + 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 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s + if local.get $0 - i32.load $0 offset=12 + local.get $2 i32.const 2 i32.shl i32.add - local.set $2 - loop $while-continue|0 - local.get $1 + i32.load $0 + local.get $1 + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end + return end - br $folding-inner3 - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - global.get $~started - if - return end - i32.const 1 - global.set $~started - call $start:std/array + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 ) - (func $std/array/assertSorted (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/array/Array#lastIndexOf (type $i32_i32_i32_=>_i32) (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 @@ -11753,75 +9071,82 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 - block $__inlined_func$std/array/isSorted (result i32) - i32.const 1 - local.set $2 - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 - local.get $1 - call $~lib/util/sort/SORT + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $3 + i32.eqz + if global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $3 - loop $for-loop|0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + return + end + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 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.get $3 - i32.lt_s + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $1 + i32.eq 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 $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - br_if $__inlined_func$std/array/isSorted - drop - local.get $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $2 - br $for-loop|0 + global.set $~lib/memory/__stack_pointer + local.get $2 + return end + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 end - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1080 - 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 + i32.const -1 ) - (func $std/array/assertSortedDefault (type $i32_=>_none) (param $0 i32) - (local $1 i32) + (func $~lib/array/Array#lastIndexOf@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -11838,27 +9163,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 i32.store $0 - local.get $1 - i32.const 11120 - i32.store $0 - local.get $0 - i32.const 11120 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 12 + 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 $0 + local.get $0 + i32.load $0 offset=12 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#includes (type $i32_i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -11873,543 +9214,213 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 + local.tee $3 i32.const 0 - i32.store $0 offset=8 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 local.get $1 local.get $2 - i32.eq + call $~lib/array/Array#indexOf + i32.const 0 + i32.ge_s + local.set $0 + 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 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.tee $4 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 local.get $0 + i32.load $0 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 + 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.shl - i32.add - i32.load $0 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.tee $5 + local.get $4 i32.store $0 local.get $4 + i32.load $0 offset=4 + local.set $6 + local.get $5 + local.get $0 + i32.store $0 + local.get $6 local.get $0 + i32.load $0 offset=4 + local.tee $5 local.get $1 - i32.const 1 - i32.add - local.tee $4 i32.const 2 i32.shl i32.add - i32.load $0 local.tee $6 - i32.store $0 offset=4 + local.get $2 i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.add + local.tee $1 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $6 - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $7 - i32.load $0 offset=4 - local.tee $5 - i32.store $0 - local.get $6 - local.get $7 - i32.load $0 - local.tee $6 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 + 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 + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + local.get $2 + i32.sub + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/array/Array#splice@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $4 - br $while-continue|0 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - local.get $4 + i32.const 2147483647 local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.tee $5 - i32.store $0 offset=8 - local.get $3 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 offset=4 - local.tee $6 - i32.store $0 - local.get $1 - local.get $5 - i32.load $0 - local.tee $1 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end end global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/array/Array#splice + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$std/array/isSorted<~lib/array/Array> (result i32) - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 - local.get $1 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.store $0 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 1 - local.set $2 - local.get $0 - i32.load $0 offset=12 - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - 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 $0 offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $4 - local.get $1 - i32.load $0 - call_indirect $0 (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/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 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1080 - 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 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $0 ) - (func $std/array/createRandomStringArray (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/array/Array#splice (type $i32_i32_=>_i32) (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 i32) - (local $8 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $7 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $7 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $7 - local.get $1 - i32.store $0 offset=4 - local.get $7 - i32.const 1600 - i32.store $0 offset=8 - local.get $7 - i32.const 400 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $7 - i32.store $0 - loop $for-loop|0 - local.get $2 - i32.const 400 - i32.lt_s - if - call $~lib/math/NativeMath.random - f64.const 32 - f64.mul - i32.trunc_sat_f64_s - local.set $5 - 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 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - i32.const 11568 - local.set $0 - local.get $1 - i32.const 11568 - i32.store $0 - i32.const 0 - local.set $3 - loop $for-loop|02 - local.get $3 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $8 - i32.const 10032 - i32.store $0 offset=4 - call $~lib/math/NativeMath.random - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 10032 - i32.store $0 offset=8 - local.get $6 - i32.const 10028 - i32.load $0 - i32.const 1 - i32.shr_u - f64.convert_i32_s - f64.mul - f64.floor - i32.trunc_sat_f64_s - local.set $4 - 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 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/string/String#charAt - local.get $4 - i32.const 10028 - i32.load $0 - 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 11568 - local.set $1 - br $__inlined_func$~lib/string/String#charAt - end - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $4 - i32.const 1 - i32.shl - i32.const 10032 - i32.add - i32.load16_u $0 - i32.store16 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $8 - local.get $0 - local.get $1 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|02 - 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 $0 offset=4 - local.get $7 - local.get $2 - local.get $0 - 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 $7 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s @@ -12422,201 +9433,120 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 11856 - i32.store $0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.const 11856 - call $~lib/array/Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 + local.get $2 + i32.const 2 local.get $0 - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 + i32.load $0 offset=12 + local.tee $2 + 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 - i32.store $0 + local.get $1 + i32.const 0 + i32.gt_s + select + else + local.get $1 local.get $2 - i32.const 11856 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.load $0 offset=12 - local.set $0 + local.get $1 local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $4 - i32.eqz - if - local.get $3 - i32.load8_s $0 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 11 - i32.add - local.get $4 - i32.mul - i32.const 11 - i32.add - local.tee $5 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $6 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $2 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $2 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $2 - i32.add - local.set $1 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $5 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $4 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 + select + end + local.tee $3 + i32.sub + local.tee $1 + local.get $1 + i32.const 2 + 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 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 + local.get $4 + i32.load $0 offset=4 + local.set $6 + local.get $5 + local.get $0 + i32.store $0 + local.get $6 + local.get $0 + i32.load $0 offset=4 + local.tee $5 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.tee $6 + local.get $1 + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $1 + local.get $3 + i32.add + local.tee $3 + i32.ne + if + local.get $6 + local.get $5 + local.get $3 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + local.get $2 + local.get $3 + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + local.get $1 + i32.sub + i32.store $0 offset=12 + local.get $3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 ) - (func $~lib/array/Array<~lib/string/String|null>#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -12631,201 +9561,58 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 local.get $1 - i32.const 11856 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 i32.store $0 + local.get $2 local.get $0 - i32.const 11856 - call $~lib/array/Array<~lib/string/String|null>#join - local.set $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 6416 + i32.const 1104 + i32.const 118 + i32.const 40 + 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 $0 ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 11856 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $2 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $4 - i32.eqz - if - local.get $3 - i32.load8_u $0 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 10 - i32.add - local.get $4 - i32.mul - i32.const 10 - i32.add - local.tee $5 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $4 - local.get $6 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $6 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $2 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $2 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $2 - i32.add - local.set $1 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|0 - end - end - local.get $5 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $4 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -12840,6087 +9627,13042 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 local.get $1 - i32.const 11856 - i32.store $0 local.get $0 - i32.const 11856 - call $~lib/array/Array#join - local.set $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $2 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/array/Array<~lib/array/Array>#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 i32.const 0 - i32.store $0 - local.get $2 - i32.const 11856 - i32.store $0 - local.get $0 - i32.load $0 offset=4 - local.set $3 + i32.lt_s + if + i32.const 1344 + i32.const 1104 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load $0 offset=12 - local.set $0 - local.get $2 - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 + local.get $0 + i32.store $0 local.get $2 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $0 - i32.const 1 - i32.sub - local.tee $4 - 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 11568 - local.set $0 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - end - local.get $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array#toString - else - i32.const 11568 - end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - end - i32.const 11568 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=4 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.set $5 - loop $for-loop|0 - local.get $1 - local.get $4 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $6 - i32.store $0 - local.get $6 - if - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $6 - call $~lib/array/Array#toString - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $2 - local.get $0 - local.get $6 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 - end - local.get $5 - if - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 11856 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end + local.get $3 + local.get $0 + i32.load $0 offset=12 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + i32.lt_s + if global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $4 + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.tee $1 - i32.store $0 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) if global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $1 - call $~lib/array/Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - local.get $0 - local.get $1 - call $~lib/string/String.__concat - local.tee $0 - i32.store $0 offset=4 + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 ) - (func $start:std/array (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 f64) - (local $5 f32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) + (func $start:std/array~anonymous|3 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) global.get $~lib/memory/__stack_pointer - i32.const 508 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 508 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 48960 - i32.sub + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1268 - i32.const 1264 - i32.store $0 - i32.const 1272 - i32.const 1264 - i32.store $0 - i32.const 1264 - global.set $~lib/rt/itcms/pinSpace - i32.const 1300 - i32.const 1296 - i32.store $0 - i32.const 1304 - i32.const 1296 - i32.store $0 - i32.const 1296 - global.set $~lib/rt/itcms/toSpace - i32.const 1444 - i32.const 1440 - i32.store $0 - i32.const 1448 - i32.const 1440 - i32.store $0 - i32.const 1440 - global.set $~lib/rt/itcms/fromSpace - i32.const 0 - call $~lib/array/Array#constructor - global.set $std/array/arr - i32.const 0 - call $std/array/Ref#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - 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 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + 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#findLastIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + i32.const 1 + i32.sub + local.set $2 + loop $for-loop|0 + local.get $2 i32.const 0 - i32.store $0 - local.get $0 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $1 - i32.eqz + i32.ge_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - end - local.get $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 offset=4 - local.get $1 - local.get $8 - i32.store $0 - local.get $8 - if + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 - local.get $8 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + 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 - local.get $1 - local.get $8 - i32.store $0 offset=4 - local.get $1 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + ) + (func $~lib/array/Array#every (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.store $0 offset=8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + loop $for-loop|0 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 $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 $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1664 - i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 i32.store $0 - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 53 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1696 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.set $1 - i32.const 1 + local.get $2 + local.get $3 local.get $0 i32.load $0 offset=12 - local.tee $8 - local.get $8 - i32.const 1 - i32.gt_s - select - local.tee $9 - i32.const 3 - local.get $8 - local.get $8 - i32.const 3 - i32.gt_s - select - local.tee $8 + local.tee $4 + local.get $3 + local.get $4 i32.lt_s - if - local.get $1 - local.get $9 - i32.add - i32.const 1 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1728 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 61 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.le_s select - local.tee $9 - local.get $8 - local.tee $8 i32.lt_s if - local.get $1 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl i32.add - i32.const 0 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1760 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 64 + i32.load $0 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.le_s - select - local.tee $9 - local.get $8 - i32.const 3 - i32.sub - local.tee $8 - i32.lt_s - if + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 - local.get $9 - i32.add + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + return + end + local.get $2 i32.const 1 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1792 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 67 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.add + local.set $2 + br $for-loop|0 end - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - i32.const 2 - i32.sub - local.tee $9 - local.get $8 - local.tee $8 - i32.lt_s - if - local.get $1 - local.get $9 - i32.add - i32.const 2 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1824 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 70 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.set $1 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + ) + (func $start:std/array~anonymous|12 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $8 i32.const 1 - i32.gt_s - select - local.tee $9 - local.get $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.le_s - select - local.tee $8 - i32.lt_s - if - local.get $1 - local.get $9 - i32.add - i32.const 0 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1856 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 73 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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|14 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - global.set $~argumentsLength + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.set $1 + i32.store $0 + local.get $2 + local.get $3 local.get $0 i32.load $0 offset=12 - local.tee $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.le_s + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s select - local.tee $9 - local.get $8 - local.tee $8 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 - local.get $9 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return + end + local.get $2 + i32.const 1 i32.add - i32.const -1 - local.get $8 - local.get $9 - i32.sub - memory.fill $0 + local.set $2 + br $for-loop|0 end - i32.const 5 - i32.const 0 - i32.const 7 - i32.const 1888 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 76 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 1920 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=12 - local.get $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $start:std/array~anonymous|17 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 1968 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 83 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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|19 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 2016 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 86 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 2064 - call $~lib/rt/__newArray - local.set $1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + 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 (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 89 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength local.get $0 - i32.const 2 - i32.const -2 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 2112 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + i32.store $0 + local.get $2 + local.get $3 local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz + i32.load $0 offset=12 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 92 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 2160 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 95 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:std/array~anonymous|21 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - i32.const 0 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 2208 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2256 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=16 - local.get $0 - f32.const 1 i32.const 1 - i32.const 3 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2304 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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|23 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const 0 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + 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|24 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 $0 + 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 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2352 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 108 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $0 + local.get $2 + local.get $3 + i32.const 100 + i32.add + call $~lib/array/Array#push + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end end - local.get $0 - f32.const 1 i32.const 0 - i32.const -3 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2400 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 111 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - global.set $~argumentsLength - local.get $0 - f32.const 2 - i32.const -2 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2448 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 114 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $0 + 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 - local.get $0 - f32.const 0 - i32.const 1 i32.const 0 - call $~lib/array/Array#fill - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2496 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 117 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $0 + local.get $2 + local.get $3 + i32.const 200 + i32.add + call $~lib/array/Array#push + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|3 + end end - i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const -1 + end + local.get $1 + i32.const 2 + i32.eq + local.get $0 + i32.const 202 + i32.ne + i32.and + if i32.const 0 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2544 - call $~lib/rt/__newArray - local.set $1 + i32.const 1552 + i32.const 767 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:std/array~anonymous|27 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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 + local.get $0 + ) + (func $~lib/array/Array#map (type $i32_i32_=>_none) (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 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=12 + local.tee $4 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.load $0 offset=4 + local.set $5 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz + i32.store $0 + local.get $2 + local.get $4 + local.get $0 + i32.load $0 offset=12 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_s + select + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 120 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=12 + local.get $2 + i32.const 2 + i32.shl + local.tee $7 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load $0 + local.set $3 + local.get $6 + local.get $0 + i32.store $0 offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable + global.set $~argumentsLength + local.get $5 + local.get $7 + i32.add + local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + 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 + ) + (func $start:std/array~anonymous|29 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - global.set $~argumentsLength - local.get $0 - f32.const -0 - i32.const 0 - call $~lib/array/Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 9 - i32.const 2592 - call $~lib/rt/__newArray - local.set $1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + 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 + local.get $0 + ) + (func $~lib/array/Array#filter (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 0 + call $~lib/rt/__newArray + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=12 + local.set $3 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 - local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 123 - 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 $0 + i32.store $0 offset=4 + local.get $2 + local.get $3 local.get $0 i32.load $0 offset=12 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_s + select + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 129 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 130 - 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 $0 - local.get $0 - i32.const 42 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 134 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + local.get $4 + local.get $0 + i32.store $0 offset=8 i32.const 3 - call $~lib/builtins/abort - unreachable + global.set $~argumentsLength + local.get $6 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + call $~lib/array/Array#push + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $start:std/array~anonymous|31 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 135 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + i32.const 100 + call $~lib/array/Array#push + 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 + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $start:std/array~anonymous|33 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $2 + i32.store $0 + local.get $2 + 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 + local.get $0 + i32.const 2 + i32.ge_s + ) + (func $~lib/array/Array#reduce (type $i32_i32_i32_=>_i32) (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 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $4 + loop $for-loop|0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 local.get $0 - call $~lib/array/Array#pop - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 140 - 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 $0 + local.get $3 + local.get $4 local.get $0 i32.load $0 offset=12 + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 141 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 142 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + local.get $5 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $6 + local.get $3 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (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 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 43 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $start:std/array~anonymous|38 (type $i32_i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 146 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 147 - 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 $0 - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 148 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $3 + i32.store $0 + local.get $3 + i32.const 1 + call $~lib/array/Array#push + 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|40 (type $i32_i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $3 + i32.store $0 + 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 (type $i32_i32_i32_=>_i32) (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.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + i32.const 1 + i32.sub + local.set $3 + loop $for-loop|0 + local.get $3 + i32.const 0 + i32.ge_s + if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + global.set $~argumentsLength + local.get $2 + local.get $5 + local.get $3 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (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 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/array/Dim#constructor (type $none_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr local.tee $0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 - i32.const 44 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 8 + i32.const 22 + call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 152 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne + i32.eqz if + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 1552 - i32.const 153 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 154 - 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 $0 - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 155 - 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 $0 local.get $0 - i32.const 45 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 159 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 0 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - call $std/array/internalCapacity i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 160 - 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 $0 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 f32) + (local $16 f32) + (local $17 i32) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + f32.load $0 + local.set $9 + local.get $0 + f32.load $0 offset=4 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 + local.get $0 + f32.load $0 offset=8 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $15 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $16 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 offset=4 + local.get $0 + local.get $9 + local.get $16 + local.get $1 + select + f32.store $0 offset=8 + end + local.get $0 + f32.load $0 + local.set $9 + local.get $0 + f32.load $0 offset=4 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + f32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 162 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $11 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 163 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2 + global.get $~lib/rt/tlsf/ROOT + local.get $1 i32.const 2 - i32.const 10 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=20 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $13 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=24 - local.get $1 + local.get $2 + i32.store $0 offset=4 + local.get $0 i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $0 - local.get $1 - i32.store $0 offset=28 - local.get $1 - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $1 - i32.const 0 - i32.store $0 offset=12 local.get $1 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 171 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 2688 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=32 - local.get $0 - i32.const 0 - call $~lib/array/Array#at i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 179 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 3 - call $~lib/array/Array#at - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 180 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -1 - call $~lib/array/Array#at - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 181 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -4 - call $~lib/array/Array#at + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 182 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/array/Array#constructor - local.tee $0 - i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - call $~lib/array/Array#concat + i32.add local.tee $1 - i32.store $0 offset=40 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 191 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 192 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=12 - i32.const 3 - i32.ne + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort end i32.const 0 - i32.const 2 - i32.const 4 - i32.const 2736 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - call $~lib/array/Array#concat - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 196 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 + local.set $1 i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 199 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 200 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 46 - call $~lib/array/Array#push - local.get $0 - i32.const 47 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $1 - local.get $8 - local.get $0 - call $~lib/array/Array#concat - local.tee $1 - i32.store $0 offset=40 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $8 - i32.store $0 - local.get $8 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 207 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 208 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $14 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $14 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $17 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $17 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $11 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $12 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end end - local.get $1 - i32.load $0 offset=12 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 209 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|4 + local.get $1 + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end - local.get $1 + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort@varargs (type $i32_=>_none) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 210 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 10256 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 10256 + i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 211 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 212 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 3 - call $~lib/array/Array#__get - i32.const 46 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 213 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 4 - call $~lib/array/Array#__get - i32.const 47 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 214 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/array/Array#pop - drop - local.get $1 - i32.load $0 offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 217 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 2768 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=44 - local.get $0 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 225 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 16192 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 - global.get $std/array/arr - local.tee $8 - i32.store $0 offset=8 - local.get $1 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - local.get $8 - call $~lib/array/Array#concat - local.tee $1 - i32.store $0 offset=40 - local.get $1 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 227 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 2800 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength + i32.load $0 offset=4 + local.set $3 + local.get $2 local.get $0 - i32.const 0 - i32.const 3 - call $~lib/array/Array#copyWithin@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 2848 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer + i32.load $0 offset=12 + local.set $0 + local.get $2 local.get $1 - i32.store $0 offset=8 + i32.store $0 + local.get $3 local.get $0 local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 235 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 2896 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.const 1 - i32.const 3 - call $~lib/array/Array#copyWithin@varargs - local.set $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 2944 - call $~lib/rt/__newArray - local.set $1 + i32.const 8 + 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 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 f64) + (local $16 f64) + (local $17 i32) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz + i32.const 48 + i32.le_s if - i32.const 0 - i32.const 1552 - i32.const 237 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + f64.load $0 + local.set $9 + local.get $0 + f64.load $0 offset=8 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 + local.get $0 + f64.load $0 offset=16 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $15 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $16 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 offset=8 + local.get $0 + local.get $9 + local.get $16 + local.get $1 + select + f64.store $0 offset=16 + end + local.get $0 + f64.load $0 + local.set $9 + local.get $0 + f64.load $0 offset=8 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + f64.store $0 offset=8 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 2992 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 i32.const 2 - global.set $~argumentsLength - local.get $0 + i32.shl + local.tee $5 i32.const 1 - i32.const 2 - call $~lib/array/Array#copyWithin@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3040 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 239 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3088 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.const 2 - i32.const 2 - call $~lib/array/Array#copyWithin@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock i32.const 4 - i32.const 3136 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $11 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 241 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3184 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const 0 + global.get $~lib/rt/tlsf/ROOT + local.get $1 i32.const 3 + i32.shl + call $~lib/rt/tlsf/allocateBlock i32.const 4 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3232 - call $~lib/rt/__newArray - local.set $1 + i32.add + local.set $13 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + local.get $2 + i32.store $0 offset=4 local.get $0 - local.get $1 i32.const 0 - call $std/array/isArraysEqual - i32.eqz + local.get $1 + i32.const 1 + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 243 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3280 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3328 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 245 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3376 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3424 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 247 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3472 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $0 i32.const 0 - i32.const -2 - call $~lib/array/Array#copyWithin@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3520 - call $~lib/rt/__newArray local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 249 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $14 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $14 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $17 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $17 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $11 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $12 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3568 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3616 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 251 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3664 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3712 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 253 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|4 + local.get $1 + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3760 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - local.get $0 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/array/Array#copyWithin - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3808 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + (local $3 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1344 + i32.const 1104 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz + i32.const 48 + i32.le_s if - i32.const 0 - i32.const 1552 - i32.const 255 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3856 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $0 - i32.const -4 - i32.const -3 - call $~lib/array/Array#copyWithin@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3904 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store $0 offset=8 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 local.get $1 - i32.const 0 - call $std/array/isArraysEqual + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 257 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 42 - call $~lib/array/Array#unshift - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 265 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 266 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + local.get $2 + i32.store $0 offset=4 local.get $0 i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 267 - 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 $0 - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 268 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 269 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 41 - call $~lib/array/Array#unshift - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 274 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=12 + local.set $4 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $4 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store $0 offset=8 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 275 - 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 $0 - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 41 - i32.ne - if + local.get $1 + i32.const 1 + i32.sub i32.const 0 - i32.const 1552 - i32.const 276 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.ne + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 277 - 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 $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 278 - 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 $0 - local.get $0 - i32.const 3 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 279 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock i32.const 4 - call $~lib/array/Array#__get - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 280 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 0 - i32.le_s + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - i32.const 2640 - i32.const 1104 - i32.const 330 - i32.const 18 - call $~lib/builtins/abort - unreachable + call $~lib/rt/tlsf/initialize end - local.get $0 - i32.load $0 offset=4 - local.tee $8 - i32.load $0 - local.set $9 - local.get $8 - local.get $8 - i32.const 4 - i32.add + global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.const 1 - i32.sub - local.tee $1 i32.const 2 i32.shl - local.tee $10 - memory.copy $0 $0 - local.get $8 - local.get $10 - i32.add - i32.const 0 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=12 - local.get $9 - global.set $std/array/i - global.get $std/array/i - i32.const 41 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 289 - 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 $0 - local.get $0 - i32.load $0 offset=12 + call $~lib/rt/tlsf/allocateBlock i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 290 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + local.set $12 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + local.get $2 + i32.store $0 offset=4 local.get $0 i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 292 - 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 $0 - local.get $0 + local.get $1 i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 293 - 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 $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 294 - 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 $0 - local.get $0 - i32.const 3 - call $~lib/array/Array#__get - i32.const 45 - i32.ne + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1552 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - call $~lib/array/Array#pop - global.set $std/array/i - global.get $std/array/i - i32.const 45 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 299 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/array/createReverseOrderedArray (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + call $~lib/array/Array#constructor + local.tee $2 + i32.store $0 + loop $for-loop|0 local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne + local.get $1 + i32.gt_s if - i32.const 0 - i32.const 1552 - i32.const 301 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + 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 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + call $~lib/array/Array#constructor + local.tee $2 + i32.store $0 + loop $for-loop|0 local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 42 - i32.ne + local.get $1 + i32.gt_s if - i32.const 0 - i32.const 1552 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 + call $~lib/math/NativeMath.random + local.get $0 + f64.convert_i32_s + f64.mul + i32.trunc_sat_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.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/array/assertSorted (type $i32_i32_=>_none) (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 + block $folding-inner0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 16192 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + block $__inlined_func$std/array/isSorted (result i32) + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $1 + i32.store $0 offset=12 + local.get $0 + local.get $1 + call $~lib/array/Array#sort + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1552 - i32.const 304 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store $0 + i32.const 1 + local.set $0 + local.get $2 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length + local.set $4 + loop $for-loop|0 + local.get $0 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + call $~lib/array/Array#__get + local.set $2 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $1 + i32.load $0 + call_indirect $0 (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 $0 + i32.const 1 + i32.add + local.set $0 + 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 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 3952 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=52 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - call $~lib/array/Array#slice@varargs - local.tee $1 - i32.store $0 offset=56 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 4000 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 314 + i32.const 1080 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.const 4 - call $~lib/array/Array#slice - local.tee $1 - i32.store $0 offset=56 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 4032 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 317 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/array/assertSortedDefault (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - i32.const 5 - call $~lib/array/Array#slice - local.tee $1 - i32.store $0 offset=56 - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 4064 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 320 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 0 - call $~lib/array/Array#slice@varargs - local.tee $1 - i32.store $0 offset=56 - local.get $1 - local.get $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable - end i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const -2 - call $~lib/array/Array#slice@varargs - local.tee $1 - i32.store $0 offset=56 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 4112 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 326 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.const -1 - call $~lib/array/Array#slice - local.tee $1 - i32.store $0 offset=56 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 4144 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11120 + i32.store $0 offset=4 + local.get $0 + i32.const 11120 + call $std/array/assertSorted + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/array/assertStableSortedForComplexObjects~anonymous|0 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.load $0 + i32.sub + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $8 + loop $for-loop|0 + local.get $2 local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz + i32.ge_s if - i32.const 0 - i32.const 1552 - i32.const 329 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const -3 - i32.const -1 - call $~lib/array/Array#slice - local.tee $1 - i32.store $0 offset=56 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 4176 - call $~lib/rt/__newArray - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $1 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 332 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const -1 - i32.const -3 - call $~lib/array/Array#slice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 334 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 10 - call $~lib/array/Array#slice@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1552 - i32.const 335 - 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 $0 - local.get $0 - i32.load $0 offset=4 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.gt_u - if - local.get $0 - i32.const 1 - i32.shr_u - local.set $8 + global.get $~lib/memory/__stack_pointer + local.tee $7 local.get $0 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.tee $5 + i32.load $0 + local.tee $3 + i32.store $0 + local.get $7 + local.get $5 + i32.load $0 offset=4 + local.tee $5 + i32.store $0 offset=4 + local.get $5 + local.set $6 + local.get $7 + local.get $5 + i32.store $0 offset=8 + local.get $7 + local.get $3 + i32.store $0 offset=12 + local.get $7 + local.get $3 + i32.store $0 offset=16 + local.get $7 + local.get $5 + i32.store $0 offset=20 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $3 + local.tee $6 + i32.store $0 offset=8 + local.get $7 + local.get $5 + local.tee $3 + i32.store $0 offset=12 + end + local.get $8 i32.const 1 i32.sub - local.set $0 - loop $while-continue|0 - local.get $2 - local.get $8 - i32.lt_u + local.set $9 + loop $while-continue|1 + local.get $1 + local.get $9 + i32.le_s if - local.get $1 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $9 - i32.load $0 - local.set $10 - local.get $9 - local.get $1 - local.get $0 - local.get $2 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $9 - i32.load $0 - i32.store $0 - local.get $9 - local.get $10 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $while-continue|0 + block $while-break|1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.store $0 + local.get $5 + local.get $7 + i32.store $0 offset=16 + local.get $5 + local.get $3 + i32.store $0 offset=20 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store $0 offset=8 + local.get $9 + i32.const 1 + i32.sub + local.set $9 + br $while-continue|1 + end end end + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=8 + loop $while-continue|2 + local.get $1 + local.get $9 + i32.le_s + if + block $while-break|2 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.store $0 + local.get $5 + local.get $3 + i32.store $0 offset=16 + local.get $5 + local.get $6 + i32.store $0 offset=20 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=4 + local.get $9 + i32.const 1 + i32.sub + local.set $9 + br $while-continue|2 + end + end + end + local.get $0 + local.get $9 + i32.const 2 + i32.shl + i32.add + local.get $6 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i32.add + local.set $8 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 343 - 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 $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 344 - 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 $0 - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 345 - 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 $0 - local.get $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 i32.const 1 - call $~lib/array/Array#__get - i32.const 43 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 346 - 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 $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 347 - 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 $0 - local.get $0 - i32.const 43 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 44 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 4 - i32.const 0 - i32.const 7 - i32.const 4208 - call $~lib/rt/__newArray - local.set $1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $2 + i32.eq + if global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.store $0 - local.get $0 - local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=60 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 + return + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $5 + i32.store $0 + local.get $4 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $7 + i32.load $0 offset=4 + local.tee $5 + i32.store $0 + local.get $6 + local.get $7 + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $4 local.set $2 - loop $for-loop|0 + loop $while-continue|1 local.get $1 local.get $2 i32.lt_s if + global.get $~lib/memory/__stack_pointer local.get $0 local.get $1 - call $~lib/array/Array#__get + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 + local.tee $5 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 offset=12 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 + i32.store $0 local.get $1 - i32.sub + i32.const 1 + i32.add + local.set $1 + local.get $3 + local.get $5 + i32.store $0 + local.get $2 i32.const 1 i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 354 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.set $2 + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $5 + i32.load $0 offset=4 + local.tee $6 + i32.store $0 + local.get $1 + local.get $5 + i32.load $0 + local.tee $1 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $6 local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|0 + local.set $4 + br $while-continue|2 end end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 8 - i32.const 0 - i32.const 7 - i32.const 4240 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.add + local.set $7 + local.get $2 + i32.const 1 + i32.add + local.set $6 + loop $for-loop|0 local.get $1 - i32.store $0 - local.get $0 + local.get $6 + i32.lt_s + if + local.get $6 + i32.const 1 + i32.sub + local.tee $6 + i32.const 2 + i32.shl + local.tee $8 + local.get $4 + i32.add + local.get $0 + local.get $8 + i32.add + i32.load $0 + i32.store $0 + br $for-loop|0 + end + end + loop $for-loop|1 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $4 + local.get $7 + local.get $2 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + loop $for-loop|2 local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=64 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|1 - local.get $1 + local.get $3 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $4 local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $9 + i32.store $0 + local.get $8 + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.store $0 offset=4 + local.get $8 + local.get $9 + i32.store $0 offset=8 + local.get $8 + local.get $7 + i32.store $0 offset=12 + i32.const 2 + global.set $~argumentsLength + local.get $9 + local.get $7 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if local.get $0 local.get $1 - call $~lib/array/Array#__get - local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.sub + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store $0 + local.get $2 i32.const 1 i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 359 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.set $2 + else + local.get $0 local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $7 + i32.store $0 + local.get $6 i32.const 1 i32.add - local.set $1 - br $for-loop|1 + local.set $6 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 17 - i32.const 0 - i32.const 7 - i32.const 4272 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 36 + memory.fill $0 + block $folding-inner0 local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=68 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|2 + i32.const 48 + i32.le_s + if local.get $1 - local.get $2 - i32.lt_s - if + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $3 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + local.tee $4 + i32.store $0 offset=4 + local.get $1 + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 offset=12 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $4 + local.get $3 + local.get $3 + local.get $4 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $4 + local.get $1 + select + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $3 + local.get $4 + select + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 + i32.load $0 + local.tee $3 + i32.store $0 offset=16 local.get $1 - call $~lib/array/Array#__get local.get $0 - i32.load $0 offset=12 + i32.load $0 offset=4 + local.tee $4 + i32.store $0 offset=20 local.get $1 - i32.sub - i32.const 1 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 364 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $3 + i32.store $0 offset=8 local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end - end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 7 - i32.const 1 - i32.const 11 - i32.const 4320 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=72 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|3 - local.get $1 - local.get $2 - i32.lt_s - if + local.get $4 + i32.store $0 offset=12 + i32.const 2 + global.set $~argumentsLength local.get $0 - local.get $1 - call $~lib/array/Array#__get + local.get $4 + local.get $3 + local.get $3 + local.get $4 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i32.store $0 local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.sub - i32.const 1 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 369 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $3 + local.get $4 local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|3 + select + i32.store $0 offset=4 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=24 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 8 - i32.const 1 - i32.const 11 - i32.const 4368 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 + i32.const 33 local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=76 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|4 - local.get $1 - local.get $2 - i32.lt_s + i32.clz + i32.sub + local.tee $3 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.gt_u if - local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.sub - i32.const 1 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 374 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 + local.get $10 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $4 i32.const 1 i32.add - local.set $1 - br $for-loop|4 + local.set $4 + br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 9 - i32.const 1 - i32.const 11 - i32.const 4416 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT local.get $1 - i32.store $0 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=28 local.get $0 - local.get $1 - call $~lib/array/Array#reverse - local.tee $0 - i32.store $0 offset=80 i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|5 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=24 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $5 local.get $1 local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $4 + i32.const 0 + local.set $1 + loop $while-continue|2 + local.get $5 + local.get $9 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=28 local.get $0 - local.get $1 - call $~lib/array/Array#__get - local.get $0 - i32.load $0 offset=12 - local.get $1 - i32.sub + local.get $5 i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $3 + local.get $6 i32.sub - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 379 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 i32.const 1 i32.add - local.set $1 - br $for-loop|5 - end - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|083 - local.get $1 - local.get $8 + local.tee $7 + i32.const 32 i32.lt_s if + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 44 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf + i32.store $0 offset=24 local.get $0 - i32.const 1 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 i32.add - local.set $1 - br $while-continue|083 + local.tee $3 + local.get $3 + local.get $9 + i32.gt_s + select + local.tee $3 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort end - end - i32.const -1 - local.set $0 - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - if - i32.const 0 - i32.const 1552 - i32.const 387 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf84 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf84 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|088 local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 42 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf84 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|088 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $3 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $4 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $4 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=32 + local.get $0 + local.get $8 + local.get $1 + local.get $5 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $1 + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|3 + end end + local.get $7 + i32.const 2 + i32.shl + local.tee $4 + local.get $10 + i32.add + local.get $1 + i32.store $0 + local.get $4 + local.get $11 + i32.add + local.get $5 + i32.store $0 + local.get $6 + local.set $1 + local.get $3 + local.set $5 + local.get $7 + local.set $4 + br $while-continue|2 end - i32.const -1 - local.set $0 - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf89 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf89 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|093 - local.get $1 - local.get $8 - i32.lt_s + loop $for-loop|4 + local.get $4 + if + local.get $10 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.const -1 + i32.ne if - local.get $2 - local.get $1 - local.tee $0 + local.get $11 + local.get $4 i32.const 2 i32.shl i32.add i32.load $0 - i32.const 45 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf89 - local.get $0 i32.const 1 i32.add - local.set $1 - br $while-continue|093 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 393 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 100 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf94 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 100 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf94 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|098 - local.get $1 - local.get $8 - i32.lt_s - if + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf94 + i32.store $0 offset=32 local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|098 + local.get $1 + local.get $3 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + br $for-loop|4 end - i32.const -1 - local.set $0 - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 396 - i32.const 3 - call $~lib/builtins/abort - unreachable end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf99 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf99 + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=12 + local.set $4 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $4 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:std/array~anonymous|52 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.sub + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/array/assertSorted<~lib/array/Array> (type $i32_i32_=>_none) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + block $__inlined_func$std/array/isSorted<~lib/array/Array> (result i32) local.get $2 - i32.const 100 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $1 + i32.store $0 offset=12 + local.get $0 + local.get $1 + call $~lib/array/Array#sort + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - local.tee $1 - i32.const 0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - i32.gt_s - select + i32.store $0 offset=8 + i32.const 1 local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0103 + local.get $2 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length + local.set $2 + loop $for-loop|0 local.get $1 local.get $2 i32.lt_s if - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + local.get $1 + i32.const 1 + i32.sub + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 local.get $1 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 i32.const 2 - i32.shl - i32.add + global.set $~argumentsLength + local.get $4 + local.get $5 + local.get $0 i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf99 + call_indirect $0 (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/array/Array> + end local.get $1 i32.const 1 i32.add local.set $1 - br $while-continue|0103 + br $for-loop|0 end end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 end - local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne + i32.eqz if i32.const 0 i32.const 1552 - i32.const 399 + i32.const 1080 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 $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf104 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -2 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf104 - local.get $2 - i32.const 2 - i32.sub - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0108 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf104 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0108 - end - end + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/COMPARATOR<~lib/string/String|null>~anonymous|0 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + local.get $0 + local.get $1 + i32.eq + i32.or + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $5 + local.get $2 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + local.get $5 + i32.or + i32.eqz + br_if $folding-inner0 + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer i32.const -1 - local.set $1 + return end - local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.ne + local.get $4 + i32.eqz if - i32.const 0 - i32.const 1552 - i32.const 402 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 - global.get $std/array/arr - local.tee $0 + local.tee $2 + local.get $0 i32.store $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf109 + local.get $2 + local.get $1 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/compareImpl (result i32) local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -4 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf109 - local.get $2 - i32.const 4 - i32.sub - local.tee $1 - i32.const 0 + i32.const 7 + i32.and local.get $1 - i32.const 0 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $5 + local.get $4 + local.get $4 + local.get $5 i32.gt_s select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0113 - local.get $1 + local.tee $2 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $0 + i64.load $0 + local.get $1 + i64.load $0 + 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-loop|0 + end + end + end + loop $while-continue|1 local.get $2 - i32.lt_s + local.tee $3 + i32.const 1 + i32.sub + local.set $2 + local.get $3 if local.get $0 + i32.load16_u $0 + local.tee $6 local.get $1 + i32.load16_u $0 + local.tee $3 + i32.ne + if + local.get $6 + local.get $3 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $0 i32.const 2 - i32.shl i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf109 + local.set $0 local.get $1 - i32.const 1 + i32.const 2 i32.add local.set $1 - br $while-continue|0113 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if i32.const 0 - i32.const 1552 - i32.const 405 - i32.const 3 - call $~lib/builtins/abort - unreachable end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf114 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf114 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0118 - local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf114 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0118 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 408 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $5 + local.get $4 + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr local.tee $2 + local.get $0 i32.store $0 - i32.const 1 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf119 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 1 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf119 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0123 - local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf119 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0123 - end - end - i32.const -1 - local.set $0 - end local.get $0 - global.set $std/array/i - global.get $std/array/i + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 + i32.shr_u i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 411 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr local.tee $2 + local.get $0 i32.store $0 - i32.const 2 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf124 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 2 - i32.le_s + local.get $2 + local.get $1 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/compareImpl (result i32) + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and i32.or - br_if $__inlined_func$~lib/array/Array#indexOf124 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0128 - local.get $1 - local.get $8 - i32.lt_s + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|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 $2 + i32.load16_u $0 + local.tee $3 local.get $1 - local.tee $0 + i32.load16_u $0 + local.tee $4 + i32.ne + if + local.get $3 + local.get $4 + i32.sub + br $__inlined_func$~lib/util/string/compareImpl + end + local.get $2 i32.const 2 - i32.shl i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf124 - local.get $0 - i32.const 1 + local.set $2 + local.get $1 + i32.const 2 i32.add local.set $1 - br $while-continue|0128 + br $while-continue|1 end end - i32.const -1 - local.set $0 - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const 3 - i32.ne - if i32.const 0 - i32.const 1552 - i32.const 414 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const 1 - i32.const 2 - i32.const 9 - i32.const 4464 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0132 - local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const nan:0x400000 - f32.eq - br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0132 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 3 - i32.const 12 - i32.const 4496 - call $~lib/rt/__newArray - local.set $2 + 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.__concat (type $i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0136 - local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const nan:0x8000000000000 - f64.eq - br_if $__inlined_func$~lib/array/Array#indexOf - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0136 - end - end - i32.const -1 - local.set $0 - end local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 4528 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=84 - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + local.tee $2 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + block $__inlined_func$~lib/string/String#concat local.get $1 - i32.load $0 offset=12 - local.tee $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $3 + local.get $4 + i32.add + local.tee $0 i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $2 + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $0 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + local.get $0 local.get $2 + local.get $4 + memory.copy $0 $0 + local.get $0 + local.get $4 i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $0 local.get $1 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|02 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|02 - end - end - i32.const -1 - local.set $0 + local.get $3 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + 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 $0 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 424 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|08 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 7 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf7 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|08 - end - end - i32.const -1 - local.set $0 - end + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/array/createRandomStringArray (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 f64) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 425 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf9 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf9 - i32.const 3 - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 3 - i32.gt_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0140 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf9 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0140 - end - end - i32.const -1 - local.set $0 - end + i32.const 0 + i32.store $0 offset=8 local.get $0 - i32.const 3 - i32.ne + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.store $0 offset=4 + local.get $1 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.store $0 offset=12 + local.get $1 + i32.const 1600 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $8 + local.get $1 + i32.store $0 + local.get $1 if - i32.const 0 - i32.const 1552 - i32.const 426 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf141 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf141 - i32.const 2 - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 2 - i32.gt_s - select - local.set $0 + local.get $8 local.get $1 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0145 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf141 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0145 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - if i32.const 0 - i32.const 1552 - i32.const 427 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $byn-split-outlined-A$~lib/rt/itcms/__link end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf146 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf146 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1600 + i32.store $0 offset=8 + local.get $3 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 400 + i32.store $0 offset=12 + local.get $3 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $8 + i32.store $0 + loop $for-loop|0 local.get $2 - i32.const 2 - i32.sub - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0150 - local.get $0 + i32.const 400 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + call $~lib/math/NativeMath.random + f64.const 32 + f64.mul + i32.trunc_sat_f64_s + local.set $7 i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf146 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0150 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - if - i32.const 0 - i32.const 1552 - i32.const 428 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#lastIndexOf151 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/array/Array#lastIndexOf151 - local.get $2 - i32.const 1 - i32.sub - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|0155 - local.get $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/array/Array#lastIndexOf151 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0155 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 429 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf156 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf156 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0160 + i32.const 20 + memory.fill $0 + i32.const 11568 + local.set $0 local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 44 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf156 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0160 + i32.const 11568 + i32.store $0 + loop $for-loop|01 + local.get $3 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $4 + i32.const 10032 + i32.store $0 offset=12 + call $~lib/math/NativeMath.random + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 10032 + i32.store $0 offset=16 + local.get $6 + i32.const 10028 + i32.load $0 + i32.const 1 + i32.shr_u + f64.convert_i32_s + f64.mul + f64.floor + i32.trunc_sat_f64_s + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 10032 + i32.store $0 + block $__inlined_func$~lib/string/String#charAt + local.get $5 + i32.const 10028 + i32.load $0 + 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 11568 + local.set $1 + br $__inlined_func$~lib/string/String#charAt + end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $1 + local.get $5 + i32.const 1 + i32.shl + i32.const 10032 + i32.add + i32.load16_u $0 + i32.store16 $0 + 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 $1 + i32.store $0 offset=8 + local.get $4 + local.get $0 + local.get $1 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|01 + end end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $2 + local.get $0 + call $~lib/array/Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 437 - i32.const 3 - call $~lib/builtins/abort - unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf161 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf161 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0165 - local.get $1 - local.get $8 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 42 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf161 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0165 - end - end - i32.const -1 - local.set $0 - end + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String#substring (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.le_s + select + i32.const 1 + i32.shl + local.set $3 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + 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 11568 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $0 i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 local.set $0 - block $__inlined_func$~lib/array/Array#indexOf166 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + local.get $5 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1 + i32.sub + local.tee $6 i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf166 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0170 - local.get $1 - local.get $8 - i32.lt_s + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $6 + i32.eqz if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add + local.get $4 i32.load $0 - i32.const 45 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf166 - local.get $0 - i32.const 1 - i32.add + call $~lib/util/number/itoa32 local.set $1 - br $while-continue|0170 + br $folding-inner0 end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 0 - i32.ge_s - if - i32.const 0 - i32.const 1552 - i32.const 443 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 100 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf171 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 100 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf171 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0175 + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - local.get $8 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 11 + i32.add + local.get $6 + i32.mul + i32.const 11 + i32.add + local.tee $5 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $0 + if + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $2 + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + local.get $5 i32.lt_s if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf171 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - i32.const 1 - i32.add + call $~lib/string/String#substring local.set $1 - br $while-continue|0175 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/util/string/joinIntegerArray end - i32.const -1 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 end + 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.ge_s - if - i32.const 0 - i32.const 1552 - i32.const 446 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#join (type $i32_i32_=>_i32) (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $0 i32.store $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf176 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + local.get $5 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf176 - local.get $2 - i32.const 100 + i32.const 1 i32.sub - local.tee $1 - i32.const 0 - local.get $1 + local.tee $6 i32.const 0 - i32.gt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0180 - local.get $1 - local.get $2 - i32.lt_s + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $6 + i32.eqz if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add + local.get $4 i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf176 - local.get $1 - i32.const 1 - i32.add + call $~lib/util/number/utoa32 local.set $1 - br $while-continue|0180 + br $folding-inner0 end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 449 - 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 $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf181 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -2 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf181 - local.get $2 - i32.const 2 - i32.sub - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0185 + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 10 + i32.add + local.get $6 + i32.mul + i32.const 10 + i32.add + local.tee $5 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $3 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $0 + if + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $2 + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + local.get $7 + local.get $2 + i32.const 1 + i32.shl + i32.add + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered local.get $2 + i32.add + local.tee $0 + local.get $5 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf181 - local.get $1 - i32.const 1 - i32.add + call $~lib/string/String#substring local.set $1 - br $while-continue|0185 + br $folding-inner0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + br $__inlined_func$~lib/util/string/joinIntegerArray end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 452 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 end + local.set $0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - i32.const -1 - local.set $1 - block $__inlined_func$~lib/array/Array#indexOf186 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const -4 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf186 - local.get $2 - i32.const 4 - i32.sub - local.tee $1 - i32.const 0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/string/joinFloatArray (type $i32_i32_=>_i32) (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 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $1 + i32.const 1 + i32.sub + local.tee $6 i32.const 0 - i32.gt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0190 - local.get $1 - local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $6 + i32.eqz + if + local.get $0 + f64.load $0 + local.set $3 + 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 16192 i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $3 + f64.const 0 + f64.eq if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf186 - local.get $1 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $1 - br $while-continue|0190 + global.set $~lib/memory/__stack_pointer + i32.const 12320 + local.set $0 + br $folding-inner1 end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 455 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf191 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf191 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0195 - local.get $1 - local.get $8 - i32.lt_s + local.get $3 + local.get $3 + f64.sub + f64.const 0 + f64.ne if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf191 - local.get $0 - i32.const 1 + 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 12352 + local.set $0 + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $1 - br $while-continue|0195 + global.set $~lib/memory/__stack_pointer + i32.const 12384 + i32.const 12432 + local.get $3 + f64.const 0 + f64.lt + select + local.set $0 + br $folding-inner1 end + i32.const 12464 + 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 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + local.get $0 + i32.const 12464 + local.get $1 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $folding-inner1 end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 458 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 1 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf196 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 12288 + i32.store $0 + local.get $1 + i32.const 12284 + i32.load $0 i32.const 1 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf196 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0200 - local.get $1 - local.get $8 + i32.shr_u + local.tee $7 + i32.const 28 + i32.add + local.get $6 + i32.mul + i32.const 28 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $4 + local.get $6 i32.lt_s if + local.get $5 local.get $2 - local.get $1 - local.tee $0 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf196 local.get $0 - i32.const 1 + local.get $4 + i32.const 3 + i32.shl i32.add - local.set $1 - br $while-continue|0200 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 461 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - i32.const 2 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/array/Array#indexOf201 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - i32.eqz - local.get $8 - i32.const 2 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#indexOf201 - local.get $2 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0205 - local.get $1 - local.get $8 - i32.lt_s - if + f64.load $0 + call $~lib/util/number/dtoa_buffered local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl i32.add - i32.load $0 - i32.const 43 - i32.eq - br_if $__inlined_func$~lib/array/Array#indexOf201 - local.get $0 + local.set $2 + local.get $7 + if + local.get $5 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 12288 + local.get $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $7 + i32.add + local.set $2 + end + local.get $4 i32.const 1 i32.add - local.set $1 - br $while-continue|0205 + local.set $4 + br $for-loop|0 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 0 - i32.const 1552 - i32.const 464 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/array/Array#includes (result i32) + local.get $5 + local.get $2 i32.const 1 - i32.const 2 - i32.const 9 - i32.const 4576 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 0 - local.set $1 - i32.const 0 + i32.shl + i32.add local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz + local.get $6 + i32.const 3 + i32.shl + i32.add + f64.load $0 + call $~lib/util/number/dtoa_buffered local.get $2 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#includes - drop - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0209 - local.get $1 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $5 - local.get $5 - f32.ne - br_if $__inlined_func$~lib/array/Array#includes - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0209 - end + i32.add + local.tee $0 + local.get $1 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner1 end - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 466 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/array/Array#includes (result i32) - i32.const 1 - i32.const 3 - i32.const 12 - i32.const 4608 - call $~lib/rt/__newArray - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - i32.const 0 - local.set $1 - i32.const 0 - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.eqz - local.get $2 - i32.const 0 - i32.le_s - i32.or - br_if $__inlined_func$~lib/array/Array#includes - drop - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0213 - local.get $1 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $4 - local.get $4 - f64.ne - br_if $__inlined_func$~lib/array/Array#includes - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0213 - end - end - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 467 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 + i32.const 48992 + i32.const 49040 i32.const 1 i32.const 1 - call $~lib/array/Array#splice - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 471 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + 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/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - call $std/array/internalCapacity - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 472 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $5 + i32.eqz + if global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + local.tee $1 local.get $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 44 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 473 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.load $0 local.tee $0 i32.store $0 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 42 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 474 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 4640 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - i32.const 1 - global.set $~argumentsLength + i32.const 11568 local.get $0 - i32.const 0 - call $~lib/array/Array#splice@varargs - local.set $1 - global.get $~lib/memory/__stack_pointer + select + return + end + loop $for-loop|0 local.get $1 - i32.store $0 - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 4688 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz + local.get $4 + i32.gt_s if - i32.const 0 - i32.const 1552 - i32.const 481 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $3 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 4736 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz + end + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=8 + local.get $1 + local.get $3 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s if - i32.const 0 - i32.const 1552 - i32.const 482 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.store $0 offset=4 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $6 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $7 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $4 + local.get $7 + i32.add + local.set $4 + end + local.get $1 + if + local.get $6 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $1 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $4 + i32.add + local.set $4 + 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 $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 4768 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 4816 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 485 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 4848 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 4896 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 + local.get $6 + local.get $4 i32.const 1 - global.set $~argumentsLength + i32.shl + i32.add local.get $0 - i32.const 2 - call $~lib/array/Array#splice@varargs - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 4944 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 489 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 4976 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 490 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5008 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 local.get $0 - i32.const 2 - i32.const 2 - call $~lib/array/Array#splice - local.set $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array<~lib/string/String|null>#join (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $1 + call $~lib/util/string/joinStringArray + local.set $0 + 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 (type $i32_=>_i32) (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 + block $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 5056 - call $~lib/rt/__newArray - local.set $2 + i32.const 16192 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 493 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 5088 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 494 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5120 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 local.get $0 - i32.const 0 - i32.const 1 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 5168 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 497 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 5200 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 498 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5248 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - i32.const 1 - global.set $~argumentsLength + i32.load $0 offset=4 + local.set $3 + local.get $2 local.get $0 - i32.const -1 - call $~lib/array/Array#splice@varargs - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 5296 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 + local.get $0 + i32.load $0 offset=12 + local.set $0 local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 501 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 5328 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.const 11856 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinReferenceArray (result i32) + local.get $2 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 1552 - i32.const 502 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + br $__inlined_func$~lib/util/string/joinReferenceArray + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 13632 + else + i32.const 11568 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + br $__inlined_func$~lib/util/string/joinReferenceArray + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 11568 + i32.store $0 offset=8 + local.get $2 + i32.const 11856 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $6 + i32.store $0 + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=4 + local.get $5 + local.get $6 + i32.store $0 offset=16 + local.get $5 + i32.const 13632 + i32.store $0 offset=12 + local.get $5 + local.get $0 + i32.const 13632 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $2 + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=4 + local.get $5 + i32.const 11856 + i32.store $0 offset=12 + local.get $5 + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + 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 $3 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=16 + local.get $2 + i32.const 13632 + i32.store $0 offset=12 + local.get $2 + local.get $0 + i32.const 13632 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5376 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - i32.const 1 - global.set $~argumentsLength + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const -2 - call $~lib/array/Array#splice@varargs - local.set $1 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 11856 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 5424 - call $~lib/rt/__newArray - local.set $2 + i32.const 16192 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 505 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 5456 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 506 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5488 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 - i32.const -2 - i32.const 1 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 5536 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 5568 - call $~lib/rt/__newArray - local.set $1 + local.get $3 + i32.const 11856 + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 510 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 16192 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5616 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 local.get $0 - i32.const -7 - i32.const 1 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 5664 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 513 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 5696 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 514 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5744 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 + i32.load $0 offset=4 + local.set $3 + local.get $4 local.get $0 - i32.const -2 - i32.const -1 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 i32.store $0 - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 5792 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 517 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5824 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + i32.load $0 offset=12 + local.set $0 + local.get $4 + i32.const 11856 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + local.get $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1 + i32.sub + local.tee $5 i32.const 0 - i32.const 1552 - i32.const 518 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5872 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - local.get $0 - i32.const 1 - i32.const -2 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 5920 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 521 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 5952 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 522 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner00 + local.get $5 + i32.eqz + if + local.get $3 + i32.load8_s $0 + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner00 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 11856 + i32.store $0 + local.get $0 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 11 + i32.add + local.get $5 + i32.mul + i32.const 11 + i32.add + local.tee $4 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $0 + if + local.get $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $0 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $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 $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $5 + i32.add + i32.load8_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner00 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 6000 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - local.get $0 - i32.const 4 - i32.const 0 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 6048 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $1 - local.get $2 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 525 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 6080 - call $~lib/rt/__newArray - local.set $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_=>_i32) (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $1 + i32.const 1 + i32.sub + local.tee $6 i32.const 0 - i32.const 1552 - i32.const 526 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 6128 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=88 - local.get $0 - i32.const 7 - i32.const 0 - call $~lib/array/Array#splice - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + return + end + local.get $6 + i32.eqz + if + local.get $0 + i64.load $0 + local.set $3 + 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 16192 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 7712 + local.set $1 + br $__inlined_func$~lib/util/number/utoa64 + end + local.get $3 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.wrap_i64 + local.tee $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $0 + local.get $2 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $3 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $3 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $3 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $3 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $3 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $3 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $3 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $3 + local.get $0 + call $~lib/util/number/utoa64_dec_lut + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 11856 + i32.store $0 + local.get $1 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 20 + i32.add + local.get $6 + i32.mul + i32.const 20 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $4 + local.get $6 + i32.lt_s + if + local.get $5 + 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 $0 + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.set $2 + local.get $7 + if + local.get $5 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $7 + i32.add + local.set $2 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + local.get $5 + 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 $0 + call $~lib/util/number/itoa_buffered + local.get $2 + i32.add + local.tee $0 + local.get $1 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + call $~lib/string/String#substring + local.set $1 + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + 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 $~lib/array/Array<~lib/string/String|null>#toString (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 11856 + call $~lib/array/Array<~lib/string/String|null>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 11856 + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $4 + i32.const 11856 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + local.get $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1 + i32.sub + local.tee $5 + 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 11568 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner00 + local.get $5 + i32.eqz + if + local.get $3 + i32.load8_u $0 + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner00 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 11856 + i32.store $0 + local.get $0 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $0 + i32.const 10 + i32.add + local.get $5 + i32.mul + i32.const 10 + i32.add + local.tee $4 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $0 + if + local.get $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $0 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $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 $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $5 + i32.add + i32.load8_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $0 + call $~lib/string/String#substring + local.set $0 + br $folding-inner00 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + end + local.set $0 + 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 $0 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#toString (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 11856 + call $~lib/array/Array#join + local.set $0 + 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/array/Array>#toString (type $i32_=>_i32) (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + i32.const 11856 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $3 + i32.const 11856 + i32.store $0 offset=4 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> (result i32) + local.get $3 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/array/Array#toString + else + i32.const 11568 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 11568 + i32.store $0 offset=8 + local.get $3 + i32.const 11856 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $1 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $5 + i32.store $0 + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.store $0 offset=16 + local.get $5 + call $~lib/array/Array#toString + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $6 + local.get $0 + local.get $5 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $3 + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=4 + local.get $5 + i32.const 11856 + i32.store $0 offset=12 + local.get $5 + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + 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 $2 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/array/Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $0 + local.get $1 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + end + local.set $0 + 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 $0 + return + end + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array<~lib/array/Array>#flat (type $i32_=>_i32) (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 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + if (result i32) + local.get $0 + i32.load $0 offset=12 + else + i32.const 0 + end + local.get $1 + i32.add + local.set $1 + 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 $1 + i32.const 2 + i32.shl + local.tee $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=12 + local.get $0 + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=4 + local.get $0 + local.get $6 + i32.store $0 + local.get $6 + if + local.get $0 + local.get $6 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $2 + if + local.get $1 + local.get $6 + i32.add + local.get $2 + i32.load $0 offset=4 + local.get $2 + i32.load $0 offset=12 + i32.const 2 + i32.shl + local.tee $2 + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.add + local.set $1 + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:std/array~anonymous|54 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + if + i32.const 48992 + i32.const 49040 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1267 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1269 + i32.const 5 + 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 $start:std/array (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 f64) + (local $6 f32) + (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 508 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 508 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 48960 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1268 + i32.const 1264 + i32.store $0 + i32.const 1272 + i32.const 1264 + i32.store $0 + i32.const 1264 + global.set $~lib/rt/itcms/pinSpace + i32.const 1300 + i32.const 1296 + i32.store $0 + i32.const 1304 + i32.const 1296 + i32.store $0 + i32.const 1296 + global.set $~lib/rt/itcms/toSpace + i32.const 1444 + i32.const 1440 + i32.store $0 + i32.const 1448 + i32.const 1440 + i32.store $0 + i32.const 1440 + global.set $~lib/rt/itcms/fromSpace + i32.const 0 + call $~lib/array/Array#constructor + global.set $std/array/arr + i32.const 0 + call $std/array/Ref#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 offset=4 + local.get $7 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $8 + i64.const 0 + i64.store $0 + local.get $8 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.store $0 + local.get $8 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.store $0 offset=4 + local.get $8 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $8 + i32.const 1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + if + local.get $1 + local.get $8 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $8 + i32.store $0 offset=4 + local.get $9 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.store $0 offset=8 + local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + local.get $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + i32.const 1664 + i32.store $0 + local.get $7 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 53 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1696 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1728 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 61 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1760 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 64 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1792 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 2 + i32.const -2 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1824 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 70 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1856 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 73 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 0 + i32.const 7 + i32.const 1888 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 1920 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 1968 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 83 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 2016 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 86 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 2064 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 89 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 2 + i32.const -2 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 2112 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 92 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 2160 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 95 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 2208 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 98 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2256 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + f32.const 1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2304 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 105 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const 0 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2352 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 108 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + f32.const 1 + i32.const 0 + i32.const -3 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2400 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 111 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 2 + global.set $~argumentsLength + local.get $1 + f32.const 2 + i32.const -2 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2448 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 114 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + f32.const 0 + i32.const 1 + i32.const 0 + call $~lib/array/Array#fill + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2496 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 117 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const -1 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2544 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 120 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const -0 + i32.const 0 + call $~lib/array/Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 9 + i32.const 2592 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 123 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 129 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 130 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 42 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 134 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 135 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 136 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#pop + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 140 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 141 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 142 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 43 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 146 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 147 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 148 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 44 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 153 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 154 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 45 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 159 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 160 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 161 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 162 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 163 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 2 + i32.const 2 + i32.const 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $7 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.load $0 offset=4 + i32.store $0 offset=24 + local.get $7 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $7 + i32.const 1 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + local.get $7 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + 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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $7 + i32.const 0 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + i32.store $0 offset=12 + 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 $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 171 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 2688 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#at + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 179 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 3 + call $~lib/array/Array#at + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 180 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const -1 + call $~lib/array/Array#at + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const -4 + call $~lib/array/Array#at + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 182 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/array/Array#constructor + local.tee $1 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + local.get $1 + call $~lib/array/Array#concat + local.tee $7 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $8 + i32.store $0 + local.get $8 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 191 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $8 + i32.store $0 + local.get $8 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 192 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 2736 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + call $~lib/array/Array#concat + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $8 + i32.store $0 + local.get $8 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 196 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 2 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 46 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 47 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + local.get $1 + call $~lib/array/Array#concat + local.tee $7 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $8 + i32.store $0 + local.get $8 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 207 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 208 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 209 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 210 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 1 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 211 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 2 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 212 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 3 + call $~lib/array/Array#__get + i32.const 46 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 213 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 4 + call $~lib/array/Array#__get + i32.const 47 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 214 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 217 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 2768 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 225 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + global.get $std/array/arr + local.tee $8 + i32.store $0 offset=8 + local.get $7 + local.get $1 + local.get $8 + call $~lib/array/Array#concat + local.tee $7 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 227 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 228 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 2800 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 2848 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 235 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 2896 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 1 + i32.const 3 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 2944 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 2992 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3040 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 239 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3088 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 2 + i32.const 2 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3136 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 241 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3184 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3232 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 243 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3280 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3328 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 245 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3376 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3424 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 247 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3472 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const 0 + i32.const -2 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3520 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 249 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3568 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3616 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 251 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3664 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3712 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 253 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3760 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + local.get $1 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/array/Array#copyWithin + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3808 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 255 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3856 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + i32.const 2 + global.set $~argumentsLength + local.get $1 + i32.const -4 + i32.const -3 + call $~lib/array/Array#copyWithin@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3904 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $1 + local.get $7 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 257 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 42 + call $~lib/array/Array#unshift + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 265 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 267 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 268 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 269 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 3 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 41 + call $~lib/array/Array#unshift + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 274 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 275 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 41 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 276 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 277 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 278 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 3 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 279 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 280 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + global.get $std/array/arr + local.tee $7 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=12 + local.tee $1 + i32.const 0 + i32.le_s + if + i32.const 2640 + i32.const 1104 + i32.const 330 + i32.const 18 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.tee $9 + i32.load $0 + local.set $10 + local.get $9 + local.get $9 + i32.const 4 + i32.add + local.get $1 + i32.const 1 + i32.sub + local.tee $1 + i32.const 2 + i32.shl + local.tee $11 + memory.copy $0 $0 + local.get $9 + local.get $11 + i32.add + i32.const 0 + i32.store $0 + local.get $8 + local.get $7 + i32.store $0 + local.get $7 + local.get $1 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + global.set $std/array/i + global.get $std/array/i + i32.const 41 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 292 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 293 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 3 + call $~lib/array/Array#__get + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#pop + global.set $std/array/i + global.get $std/array/i + i32.const 45 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 299 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 300 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 301 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 303 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 304 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 3952 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 2 + call $~lib/array/Array#slice@varargs + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 4000 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 314 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + local.get $1 + i32.const 2 + i32.const 4 + call $~lib/array/Array#slice + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 4032 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 317 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + local.get $1 + i32.const 1 + i32.const 5 + call $~lib/array/Array#slice + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 4064 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 320 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + i32.const 0 + global.set $~argumentsLength + local.get $7 + local.get $1 + i32.const 0 + call $~lib/array/Array#slice@varargs + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $7 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 323 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $7 + local.get $1 + i32.const -2 + call $~lib/array/Array#slice@varargs + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 4112 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 326 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + local.get $1 + i32.const 2 + i32.const -1 + call $~lib/array/Array#slice + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 4144 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 329 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $1 + i32.store $0 + local.get $7 + local.get $1 + i32.const -3 + i32.const -1 + call $~lib/array/Array#slice + local.tee $7 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 4176 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $7 + local.get $8 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 332 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const -1 + i32.const -3 + call $~lib/array/Array#slice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 334 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 10 + call $~lib/array/Array#slice@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 335 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + global.get $std/array/arr + local.tee $7 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.set $8 + local.get $1 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=12 + local.tee $1 + i32.const 1 + i32.gt_u + if + local.get $1 + i32.const 1 + i32.shr_u + local.set $7 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + loop $while-continue|0 + local.get $0 + local.get $7 + i32.lt_u + if + local.get $8 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.tee $9 + i32.load $0 + local.set $10 + local.get $9 + local.get $8 + local.get $1 + local.get $0 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $9 + i32.load $0 + i32.store $0 + local.get $9 + local.get $10 + i32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $while-continue|0 + end + 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 + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 343 + 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 $0 + local.get $0 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 344 + 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 $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 345 + 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 $0 + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + i32.const 43 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 346 + 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 $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 347 + 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 $0 + local.get $0 + i32.const 43 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 44 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 4 + i32.const 0 + i32.const 7 + i32.const 4208 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=64 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|0 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 354 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 8 + i32.const 0 + i32.const 7 + i32.const 4240 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=68 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|1 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 359 + 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.set $0 + i32.const 17 + i32.const 0 + i32.const 7 + i32.const 4272 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=72 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|2 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 364 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 7 + i32.const 1 + i32.const 11 + i32.const 4320 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=76 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|3 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 369 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|3 + end + end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 8 + i32.const 1 + i32.const 11 + i32.const 4368 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=80 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|4 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 374 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|4 + end + end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 9 + i32.const 1 + i32.const 11 + i32.const 4416 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#reverse + local.tee $1 + i32.store $0 offset=84 + i32.const 0 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.set $7 + loop $for-loop|5 + local.get $0 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $8 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.sub + i32.const 1 + i32.sub + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 379 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|5 + end + end + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 44 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + if + i32.const 0 + i32.const 1552 + i32.const 387 + 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 $0 + local.get $0 + i32.const 42 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 390 + 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 $0 + local.get $0 + i32.const 45 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 393 + 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 $0 + local.get $0 + i32.const 43 + i32.const 100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 396 + 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 $0 + local.get $0 + i32.const 43 + i32.const -100 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 399 + 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 $0 + local.get $0 + i32.const 43 + i32.const -2 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 402 + 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 $0 + local.get $0 + i32.const 43 + i32.const -4 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 405 + 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 $0 + local.get $0 + i32.const 43 + i32.const 0 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 408 + 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 $0 + local.get $0 + i32.const 43 + i32.const 1 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 411 + 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 $0 + local.get $0 + i32.const 43 + i32.const 2 + call $~lib/array/Array#indexOf + global.set $std/array/i + global.get $std/array/i + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + i32.const 9 + i32.const 4464 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + block $__inlined_func$~lib/array/Array#indexOf + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.eqz + local.get $1 + i32.const 0 + i32.le_s + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $3 + br $__inlined_func$~lib/array/Array#indexOf + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|016 + local.get $1 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + f32.const nan:0x400000 + f32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/array/Array#indexOf + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $while-continue|016 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $3 + end + local.get $3 + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 3 + i32.const 12 + i32.const 4496 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + i32.const 0 + local.set $3 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + block $__inlined_func$~lib/array/Array#indexOf + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.eqz + local.get $1 + i32.const 0 + i32.le_s + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $3 + br $__inlined_func$~lib/array/Array#indexOf + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|021 + local.get $1 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + f64.const nan:0x8000000000000 + f64.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/array/Array#indexOf + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $while-continue|021 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $3 + end + local.get $3 + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 4528 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 2 + call $~lib/array/Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 424 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 7 + call $~lib/array/Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 425 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.const 3 + call $~lib/array/Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 426 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.const 2 + call $~lib/array/Array#lastIndexOf + if + i32.const 0 + i32.const 1552 + i32.const 427 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.const -2 + call $~lib/array/Array#lastIndexOf + if + i32.const 0 + i32.const 1552 + i32.const 428 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.const -1 + call $~lib/array/Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 429 + 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 $0 + local.get $0 + i32.const 44 + i32.const 0 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 437 + 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 $0 + local.get $0 + i32.const 42 + i32.const 0 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 440 + 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 $0 + local.get $0 + i32.const 45 + i32.const 0 + call $~lib/array/Array#includes + if + i32.const 0 + i32.const 1552 + i32.const 443 + 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 $0 + local.get $0 + i32.const 43 + i32.const 100 + call $~lib/array/Array#includes + if + i32.const 0 + i32.const 1552 + i32.const 446 + 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 $0 + local.get $0 + i32.const 43 + i32.const -100 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 449 + 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 $0 + local.get $0 + i32.const 43 + i32.const -2 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 452 + 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 $0 + local.get $0 + i32.const 43 + i32.const -4 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 455 + 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 $0 + local.get $0 + i32.const 43 + i32.const 0 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 458 + 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 $0 + local.get $0 + i32.const 43 + i32.const 1 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 461 + 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 $0 + local.get $0 + i32.const 43 + i32.const 2 + call $~lib/array/Array#includes + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 464 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $__inlined_func$~lib/array/Array#includes (result i32) + i32.const 1 + i32.const 2 + i32.const 9 + i32.const 4576 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + i32.const 0 + local.set $3 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.eqz + local.get $1 + i32.const 0 + i32.le_s + i32.or + 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#includes + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|026 + local.get $1 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $6 + local.get $6 + f32.ne + 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#includes + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $while-continue|026 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 466 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $__inlined_func$~lib/array/Array#includes (result i32) + i32.const 1 + i32.const 3 + i32.const 12 + i32.const 4608 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + i32.const 0 + local.set $3 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.tee $1 + i32.eqz + local.get $1 + i32.const 0 + i32.le_s + i32.or + 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#includes + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|031 + local.get $1 + local.get $3 + i32.gt_s + if + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $5 + local.get $5 + f64.ne + 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#includes + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $while-continue|031 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 467 + 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 $0 + local.get $0 + i32.const 1 + i32.const 1 + call $~lib/array/Array#splice + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 471 + 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 $0 + local.get $0 + call $std/array/internalCapacity + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 472 + 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 $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + i32.const 44 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 473 + 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 $0 + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + i32.const 42 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 474 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 4640 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 0 + call $~lib/array/Array#splice@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 4688 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 481 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 4736 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 482 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 i32.const 2 i32.const 4 - i32.const 6176 + i32.const 4768 call $~lib/rt/__newArray - local.set $2 + local.tee $0 + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $0 + i32.store $0 offset=52 + local.get $0 + i32.const 0 + i32.const 0 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 4816 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 offset=8 local.get $1 - local.get $2 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 529 + i32.const 485 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 i32.const 5 i32.const 2 i32.const 4 - i32.const 6208 + i32.const 4848 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -18934,7 +22676,7 @@ if i32.const 0 i32.const 1552 - i32.const 530 + i32.const 486 i32.const 3 call $~lib/builtins/abort unreachable @@ -18943,44 +22685,51 @@ i32.const 5 i32.const 2 i32.const 4 - i32.const 6256 + i32.const 4896 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=88 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 7 - i32.const 5 - call $~lib/array/Array#splice + i32.store $0 offset=52 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 2 + call $~lib/array/Array#splice@varargs local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 - i32.const 0 + i32.const 3 i32.const 2 i32.const 4 - i32.const 6304 + i32.const 4944 call $~lib/rt/__newArray - local.set $2 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $3 i32.store $0 offset=8 local.get $1 - local.get $2 + local.get $3 i32.const 0 call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 533 + i32.const 489 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 2 i32.const 2 i32.const 4 - i32.const 6336 + i32.const 4976 call $~lib/rt/__newArray local.set $1 global.get $~lib/memory/__stack_pointer @@ -18994,1337 +22743,1344 @@ if i32.const 0 i32.const 1552 - i32.const 534 + i32.const 490 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.const 5 i32.const 2 - i32.const 10 - i32.const 6384 + i32.const 4 + i32.const 5008 call $~lib/rt/__newArray local.tee $0 i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $~lib/array/Array#splice - local.tee $1 - i32.store $0 offset=96 + i32.store $0 offset=52 + local.get $0 + i32.const 2 + i32.const 2 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=12 + i32.store $0 + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 5056 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 538 + i32.const 493 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 + i32.store $0 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 5088 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 539 + i32.const 494 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 5 i32.const 2 - i32.const 10 - i32.const 0 + i32.const 4 + i32.const 5120 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=100 + local.tee $0 + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=104 - local.get $1 + local.get $0 + i32.store $0 offset=52 + local.get $0 i32.const 0 i32.const 1 - call $std/array/Ref#constructor - call $~lib/array/Array#__set + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 i32.const 1 i32.const 2 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $1 - i32.const 2 - i32.const 3 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $1 - i32.const 3 i32.const 4 - call $std/array/Ref#constructor - call $~lib/array/Array#__set + i32.const 5168 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 local.get $1 - i32.const 4 - i32.const 5 - call $std/array/Ref#constructor - call $~lib/array/Array#__set + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 497 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=92 + i32.store $0 + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 5200 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 2 - call $~lib/array/Array#splice - local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.ne + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 544 + i32.const 498 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5248 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - call $~lib/array/Array#__get - local.set $2 + i32.store $0 offset=52 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -1 + call $~lib/array/Array#splice@varargs + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store $0 - local.get $2 - i32.load $0 - i32.const 3 - i32.ne + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 5296 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 545 + i32.const 501 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 - local.get $0 - i32.load $0 i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 546 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 2 + i32.const 4 + i32.const 5328 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=12 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 548 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $0 local.get $1 i32.const 0 - call $~lib/array/Array#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - i32.load $0 - i32.const 1 - i32.ne + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 549 + i32.const 502 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5376 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 + i32.store $0 offset=52 + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.load $0 + i32.const -2 + call $~lib/array/Array#splice@varargs + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 i32.const 2 - i32.ne + i32.const 2 + i32.const 4 + i32.const 5424 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 550 + i32.const 505 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 5456 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - i32.load $0 - i32.const 5 - i32.ne + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 551 + i32.const 506 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3 + i32.const 5 i32.const 2 - i32.const 13 - i32.const 0 + i32.const 4 + i32.const 5488 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=108 + local.tee $0 + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=112 - local.get $1 - i32.const 0 + local.get $0 + i32.store $0 offset=52 + local.get $0 + i32.const -2 i32.const 1 - call $std/array/Ref#constructor - call $~lib/array/Array#__set + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 i32.const 1 - i32.const 0 - call $~lib/array/Array#__set - local.get $1 - i32.const 2 i32.const 2 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $0 - local.get $1 - i32.store $0 offset=116 - global.get $~lib/memory/__stack_pointer - local.set $0 - 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 16192 - i32.lt_s - br_if $folding-inner1 + i32.const 5536 + call $~lib/rt/__newArray + local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 + local.get $3 + i32.store $0 offset=8 local.get $1 - i32.load $0 offset=12 - local.tee $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.le_s - select - local.set $9 - local.get $2 - i32.const 1 - local.get $8 - local.get $9 - i32.sub - local.tee $2 - local.get $2 - i32.const 1 - 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 13 + local.get $3 i32.const 0 - call $~lib/rt/__newArray - local.tee $10 - i32.store $0 - local.get $10 - i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=4 - local.tee $11 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.tee $12 - local.get $2 - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $9 - i32.add - local.tee $9 - local.get $8 - i32.ne + call $std/array/isArraysEqual + i32.eqz if - local.get $12 - local.get $11 - local.get $9 - i32.const 2 - i32.shl - i32.add - local.get $8 - local.get $9 - i32.sub - i32.const 2 - i32.shl - memory.copy $0 $0 + i32.const 0 + i32.const 1552 + i32.const 509 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $8 - local.get $2 - i32.sub - i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 2 + i32.const 4 + i32.const 5568 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - local.get $10 - i32.store $0 offset=120 - local.get $10 - i32.load $0 offset=12 - i32.const 1 - i32.ne + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 556 + i32.const 510 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $10 - i32.const 0 - call $~lib/array/Array#__get + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5616 + call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=124 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 local.get $0 + i32.const -7 + i32.const 1 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 5664 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual i32.eqz if - i32.const 6544 + i32.const 0 i32.const 1552 - i32.const 557 - i32.const 10 + i32.const 513 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 5696 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - i32.load $0 - i32.const 1 - i32.ne + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 557 + i32.const 514 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5744 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + local.get $0 + i32.const -2 + i32.const -1 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=12 + i32.store $0 + i32.const 0 i32.const 2 - i32.ne + i32.const 4 + i32.const 5792 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 559 + i32.const 517 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5824 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 local.get $1 i32.const 0 - call $~lib/array/Array#__get + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 560 + i32.const 518 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - call $~lib/array/Array#__get + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 5872 + call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=128 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 local.get $0 + i32.const 1 + i32.const -2 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 5920 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual i32.eqz if - i32.const 6544 + i32.const 0 i32.const 1552 - i32.const 561 - i32.const 10 + i32.const 521 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 - local.get $0 - i32.load $0 + i32.const 5 i32.const 2 - i32.ne + i32.const 4 + i32.const 5952 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 561 + i32.const 522 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 $0 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6000 + call $~lib/rt/__newArray local.tee $0 - i32.store $0 - local.get $0 - i32.const 1 - i32.const 1 - call $~lib/array/Array#__set + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 local.get $0 - i32.const 2 - i32.const 2 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + i32.store $0 offset=52 local.get $0 - i32.const 3 - i32.const 3 - call $~lib/array/Array#__set + i32.const 4 + i32.const 0 + call $~lib/array/Array#splice + local.set $1 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 6672 - i32.store $0 offset=8 i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex - loop $for-loop|0234 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $0 - i32.const 6672 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0234 - end - end - i32.const -1 - local.set $1 - end + i32.const 2 + i32.const 4 + i32.const 6048 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 local.get $1 - global.set $std/array/i - global.get $std/array/i + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 574 + i32.const 525 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 local.get $0 - i32.const 6704 - i32.store $0 offset=8 - i32.const 0 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6080 + call $~lib/rt/__newArray local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - block $__inlined_func$~lib/array/Array#findIndex236 - loop $for-loop|0238 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 6704 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex236 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0238 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 577 + i32.const 526 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6128 + call $~lib/rt/__newArray local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 6736 - i32.store $0 offset=8 + i32.store $0 offset=52 + local.get $0 + i32.const 7 i32.const 0 + call $~lib/array/Array#splice local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - block $__inlined_func$~lib/array/Array#findIndex241 - loop $for-loop|0243 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 6736 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex241 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0243 - end - end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 6176 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 529 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6208 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 580 + i32.const 530 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6256 + call $~lib/rt/__newArray local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 6768 + i32.store $0 offset=52 + local.get $0 + i32.const 7 + i32.const 5 + call $~lib/array/Array#splice + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 6304 + call $~lib/rt/__newArray + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 offset=8 + local.get $1 + local.get $3 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - block $__inlined_func$~lib/array/Array#findIndex246 - loop $for-loop|0248 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 6768 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex246 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0248 - end - end - i32.const -1 - local.set $1 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 533 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 6336 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.ne + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz if i32.const 0 i32.const 1552 - i32.const 588 + i32.const 534 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + i32.const 0 + i32.const 2 + i32.const 10 + i32.const 6384 + call $~lib/rt/__newArray local.tee $0 + i32.store $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - i32.const 8 - i32.ne + i32.const 1 + call $~lib/array/Array#splice + local.tee $1 + i32.store $0 offset=100 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length if i32.const 0 i32.const 1552 - i32.const 589 + i32.const 538 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 + local.get $0 i32.store $0 local.get $0 - i32.const 6800 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - block $__inlined_func$~lib/array/Array#findIndex253 - loop $for-loop|0255 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 6800 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex253 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0255 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const -1 - i32.eq + call $~lib/array/Array#get:length if i32.const 0 i32.const 1552 - i32.const 591 + i32.const 539 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 $0 + i32.const 5 + i32.const 2 + i32.const 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=108 + local.get $1 + i32.const 0 + i32.const 1 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.const 2 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 2 + i32.const 3 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 3 + i32.const 4 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 4 + i32.const 5 + call $std/array/Ref#constructor + call $~lib/array/Array#__set local.get $0 - call $~lib/array/Array#pop - drop + local.get $1 + i32.store $0 offset=96 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $1 i32.store $0 - local.get $0 - call $~lib/array/Array#pop - drop global.get $~lib/memory/__stack_pointer - global.get $std/array/arr + local.get $1 + i32.const 2 + call $~lib/array/Array#splice local.tee $0 + i32.store $0 offset=100 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 local.get $0 - call $~lib/array/Array#pop - drop + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 544 + 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 $0 local.get $0 - call $~lib/array/Array#pop - drop + i32.store $0 offset=8 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + local.set $3 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $3 i32.store $0 + local.get $3 + i32.load $0 + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 545 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 6832 + local.get $0 i32.store $0 offset=8 - i32.const 0 - local.set $1 local.get $0 - i32.load $0 offset=12 - local.set $2 - block $__inlined_func$~lib/array/Array#findIndex258 - loop $for-loop|0260 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $0 - i32.const 6832 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findIndex258 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0260 - end - end - i32.const -1 - local.set $1 + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 546 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 548 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const -1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + i32.const 1 i32.ne if i32.const 0 i32.const 1552 - i32.const 604 + i32.const 549 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + i32.load $0 i32.const 2 i32.ne if i32.const 0 i32.const 1552 - i32.const 605 + i32.const 550 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 $0 - local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 i32.const 2 - call $~lib/array/Array#push + call $~lib/array/Array#__get + local.set $0 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $0 i32.store $0 local.get $0 - i32.const 3 - call $~lib/array/Array#push + i32.load $0 + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 551 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $0 + i32.const 3 i32.const 2 - i32.const 4 - i32.const 6864 + i32.const 13 + i32.const 0 call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=132 + local.tee $1 + i32.store $0 offset=112 global.get $~lib/memory/__stack_pointer - i32.const 6912 - i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=116 + local.get $1 + i32.const 0 + i32.const 1 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.const 0 + call $~lib/array/Array#__set + local.get $1 + i32.const 2 + i32.const 2 + call $std/array/Ref#constructor + call $~lib/array/Array#__set local.get $0 + local.get $1 + i32.store $0 offset=120 + global.get $~lib/memory/__stack_pointer + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 offset=12 + local.tee $7 + i32.const 0 + local.get $7 + i32.const 0 + i32.le_s + select + local.set $8 + local.get $3 i32.const 1 + local.get $7 + local.get $8 i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex - loop $for-loop|0266 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $1 - local.get $0 - i32.const 6912 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0266 - end - end - i32.const -1 - local.set $1 + local.tee $3 + local.get $3 + i32.const 1 + i32.gt_s + select + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + local.tee $3 + i32.const 2 + i32.const 13 + i32.const 0 + call $~lib/rt/__newArray + local.tee $9 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $10 + local.get $9 + i32.store $0 + local.get $9 + i32.load $0 offset=4 + local.set $11 + local.get $10 + local.get $1 + i32.store $0 + local.get $11 + local.get $1 + i32.load $0 offset=4 + local.tee $10 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.tee $11 + local.get $3 + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $8 + i32.add + local.tee $8 + local.get $7 + i32.ne + if + local.get $11 + local.get $10 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $8 + i32.sub + i32.const 2 + i32.shl + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $1 + i32.store $0 + local.get $1 + local.get $7 + local.get $3 + i32.sub + i32.store $0 offset=12 + local.get $8 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $9 + i32.store $0 offset=124 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/array/Array#get:length + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 556 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $9 + i32.store $0 offset=8 + local.get $0 + local.get $9 + i32.const 0 + call $~lib/array/Array#__get + local.tee $0 + i32.store $0 offset=128 + local.get $0 + i32.eqz + if + i32.const 6544 + i32.const 1552 + i32.const 557 + i32.const 10 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 557 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer local.get $1 - global.set $std/array/i - global.get $std/array/i + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne if i32.const 0 i32.const 1552 - i32.const 618 + i32.const 559 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6944 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex268 - loop $for-loop|0270 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $1 - local.get $0 - i32.const 6944 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex268 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0270 - end - end - i32.const -1 - local.set $1 - end local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 1 - i32.ne + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get if i32.const 0 i32.const 1552 - i32.const 621 + i32.const 560 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6976 + local.tee $0 + local.get $1 i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 + local.get $1 i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex272 - loop $for-loop|0274 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $1 - local.get $0 - i32.const 6976 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex272 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0274 - end - end - i32.const -1 - local.set $1 + call $~lib/array/Array#__get + local.tee $0 + i32.store $0 offset=132 + local.get $0 + i32.eqz + if + i32.const 6544 + i32.const 1552 + i32.const 561 + i32.const 10 + call $~lib/builtins/abort + unreachable end - local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + i32.const 2 i32.ne if i32.const 0 i32.const 1552 - i32.const 624 + i32.const 561 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 7008 - i32.store $0 offset=8 + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 0 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 local.get $0 - i32.load $0 offset=12 i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/array/Array#findLastIndex276 - loop $for-loop|0278 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $1 - local.get $0 - i32.const 7008 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#findLastIndex276 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0278 - end - end - i32.const -1 - local.set $1 - end - local.get $1 + i32.const 1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 2 + i32.const 2 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.const 3 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 6672 + i32.store $0 offset=8 + local.get $0 + i32.const 6672 + call $~lib/array/Array#findIndex global.set $std/array/i global.get $std/array/i - i32.const -1 - i32.ne if i32.const 0 i32.const 1552 - i32.const 633 + i32.const 574 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7040 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0281 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $8 - local.get $1 - local.get $2 - i32.const 7040 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/array/Array#every - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0281 - end - end - i32.const 1 - end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 6704 + i32.store $0 offset=8 + local.get $1 + i32.const 6704 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 640 + i32.const 577 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every284 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7072 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0286 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $8 - local.get $1 - local.get $2 - i32.const 7072 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/array/Array#every284 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0286 - end - end - i32.const 1 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 6736 + i32.store $0 offset=8 + local.get $1 + i32.const 6736 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 643 + i32.const 580 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every289 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7104 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0291 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $8 - local.get $1 - local.get $2 - i32.const 7104 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/array/Array#every289 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0291 - end - end - i32.const 1 - end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 6768 + i32.store $0 offset=8 + local.get $1 + i32.const 6768 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 651 + i32.const 588 i32.const 3 call $~lib/builtins/abort unreachable @@ -20334,76 +24090,36 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 8 i32.ne if i32.const 0 i32.const 1552 - i32.const 652 + i32.const 589 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#every296 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7136 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0298 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $8 - local.get $1 - local.get $2 - i32.const 7136 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/array/Array#every296 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0298 - end - end - i32.const 1 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 6800 + i32.store $0 offset=8 + local.get $1 + i32.const 6800 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.eq if i32.const 0 i32.const 1552 - i32.const 654 + i32.const 591 i32.const 3 call $~lib/builtins/abort unreachable @@ -20427,74 +24143,33 @@ local.tee $0 i32.store $0 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 $0 - local.get $0 - call $~lib/array/Array#pop - drop - block $__inlined_func$~lib/array/Array#every301 (result i32) - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 7168 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0303 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $8 - local.get $1 - local.get $0 - i32.const 7168 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/array/Array#every301 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0303 - end - end - i32.const 1 - end - i32.eqz + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 6832 + i32.store $0 offset=8 + local.get $0 + i32.const 6832 + call $~lib/array/Array#findIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 667 + i32.const 604 i32.const 3 call $~lib/builtins/abort unreachable @@ -20504,13 +24179,13 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 2 i32.ne if i32.const 0 i32.const 1552 - i32.const 668 + i32.const 605 i32.const 3 call $~lib/builtins/abort unreachable @@ -20529,188 +24204,156 @@ local.get $0 i32.const 3 call $~lib/array/Array#push - block $__inlined_func$~lib/array/Array#some (result i32) - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 7200 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0309 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $8 - local.get $1 - local.get $0 - i32.const 7200 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0309 - end - end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 6864 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=136 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 6912 + i32.store $0 offset=8 + local.get $0 + i32.const 6912 + call $~lib/array/Array#findLastIndex + global.set $std/array/i + global.get $std/array/i + if i32.const 0 + i32.const 1552 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 6944 + i32.store $0 offset=8 + local.get $0 + i32.const 6944 + call $~lib/array/Array#findLastIndex + global.set $std/array/i + global.get $std/array/i + i32.const 1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 678 + i32.const 621 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some312 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7232 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0314 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $8 - local.get $1 - local.get $2 - i32.const 7232 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some312 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0314 - end - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 6976 + i32.store $0 offset=8 + local.get $0 + i32.const 6976 + call $~lib/array/Array#findLastIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne + if i32.const 0 + i32.const 1552 + i32.const 624 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 7008 + i32.store $0 offset=8 + local.get $0 + i32.const 7008 + call $~lib/array/Array#findLastIndex + global.set $std/array/i + global.get $std/array/i + i32.const -1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 681 + i32.const 633 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some317 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7264 - i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7040 + i32.store $0 offset=8 + local.get $1 + i32.const 7040 + call $~lib/array/Array#every + i32.const 1 + i32.ne + if i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0319 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $8 - local.get $1 - local.get $2 - i32.const 7264 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some317 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0319 - end - end + i32.const 1552 + i32.const 640 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7072 + i32.store $0 offset=8 + local.get $1 + i32.const 7072 + call $~lib/array/Array#every + if i32.const 0 + i32.const 1552 + i32.const 643 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7104 + i32.store $0 offset=8 + local.get $1 + i32.const 7104 + call $~lib/array/Array#every + i32.const 1 + i32.ne if i32.const 0 i32.const 1552 - i32.const 689 + i32.const 651 i32.const 3 call $~lib/builtins/abort unreachable @@ -20720,76 +24363,32 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 8 i32.ne if i32.const 0 i32.const 1552 - i32.const 690 + i32.const 652 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/array/Array#some324 (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $2 - i32.store $0 - local.get $0 - i32.const 7296 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0326 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $8 - local.get $1 - local.get $2 - i32.const 7296 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some324 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0326 - end - end - i32.const 0 - end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7136 + i32.store $0 offset=8 + local.get $1 + i32.const 7136 + call $~lib/array/Array#every if i32.const 0 i32.const 1552 - i32.const 692 + i32.const 654 i32.const 3 call $~lib/builtins/abort unreachable @@ -20822,59 +24421,189 @@ local.get $0 call $~lib/array/Array#pop drop - block $__inlined_func$~lib/array/Array#some329 (result i32) - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 7328 - i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 7168 + i32.store $0 offset=8 + local.get $0 + i32.const 7168 + call $~lib/array/Array#every + i32.const 1 + i32.ne + if i32.const 0 - local.set $1 - local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0331 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $8 - local.get $1 - local.get $0 - i32.const 7328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/array/Array#some329 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0331 - end - end + i32.const 1552 + i32.const 667 + 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 $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 668 + 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 $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 7200 + i32.store $0 offset=8 + local.get $0 + i32.const 7200 + call $~lib/array/Array#some + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 678 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7232 + i32.store $0 offset=8 + local.get $1 + i32.const 7232 + call $~lib/array/Array#some + if + i32.const 0 + i32.const 1552 + i32.const 681 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7264 + i32.store $0 offset=8 + local.get $1 + i32.const 7264 + call $~lib/array/Array#some + if + i32.const 0 + i32.const 1552 + i32.const 689 + 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 $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 690 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 7296 + i32.store $0 offset=8 + local.get $1 + i32.const 7296 + call $~lib/array/Array#some + i32.const 1 + i32.ne + if i32.const 0 + i32.const 1552 + i32.const 692 + 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 $0 + 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 $0 + 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 $0 + 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 $0 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 7328 + i32.store $0 offset=8 + local.get $0 + i32.const 7328 + call $~lib/array/Array#some if i32.const 0 i32.const 1552 @@ -20888,7 +24617,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 2 i32.ne if @@ -20922,46 +24651,9 @@ global.get $~lib/memory/__stack_pointer i32.const 7360 i32.store $0 offset=8 - i32.const 0 - local.set $1 local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0337 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $0 - i32.const 7360 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0337 - end - end + i32.const 7360 + call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 i32.ne @@ -20978,51 +24670,14 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7392 i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0342 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 7392 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0342 - end - end + local.get $1 + i32.const 7392 + call $~lib/array/Array#forEach global.get $std/array/i i32.const 6 i32.ne @@ -21039,7 +24694,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 8 i32.ne if @@ -21055,51 +24710,14 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 i32.const 7424 i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|0349 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=12 - local.tee $8 - local.get $0 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $2 - i32.const 7424 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0349 - end - end + local.get $1 + i32.const 7424 + call $~lib/array/Array#forEach global.get $std/array/i i32.const 406 i32.ne @@ -21148,46 +24766,9 @@ global.get $~lib/memory/__stack_pointer i32.const 7456 i32.store $0 offset=8 - i32.const 0 - local.set $1 local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0354 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $0 - i32.const 7456 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0354 - end - end + i32.const 7456 + call $~lib/array/Array#forEach global.get $std/array/i i32.const 1 i32.ne @@ -21204,7 +24785,7 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 2 i32.ne if @@ -21236,52 +24817,15 @@ global.get $~lib/memory/__stack_pointer i32.const 7488 i32.store $0 offset=8 - i32.const 0 - local.set $1 local.get $0 - i32.load $0 offset=12 - local.set $2 - loop $for-loop|0361 - local.get $1 - local.get $2 - local.get $0 - i32.load $0 offset=12 - local.tee $8 - local.get $2 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 3 - global.set $~argumentsLength - local.get $8 - local.get $1 - local.get $0 - i32.const 7488 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0361 - end - end + i32.const 7488 + call $~lib/array/Array#forEach global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 100 i32.ne if @@ -21293,9 +24837,9 @@ unreachable end i32.const 0 - local.set $1 + local.set $3 loop $for-loop|6 - local.get $1 + local.get $3 i32.const 100 i32.lt_s if @@ -21306,10 +24850,10 @@ local.get $0 call $~lib/array/Array#pop drop - local.get $1 + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|6 end end @@ -21342,380 +24886,254 @@ i32.const 3 call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - local.set $1 + local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9296 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $2 + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + local.get $3 + i32.store $0 + local.get $1 + local.get $3 i32.load $0 offset=12 - local.tee $8 + local.tee $7 i32.const 2 i32.const 16 i32.const 0 call $~lib/rt/__newArray - local.tee $9 + local.tee $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 - local.get $9 + local.get $8 i32.load $0 offset=4 - local.set $10 + local.set $9 i32.const 0 - local.set $0 - loop $for-loop|018 - local.get $0 - local.get $8 - local.get $2 + local.set $1 + loop $for-loop|039 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $1 + local.get $7 + local.get $3 i32.load $0 offset=12 - local.tee $11 - local.get $8 - local.get $11 + local.tee $10 + local.get $7 + local.get $10 i32.lt_s select i32.lt_s if - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $10 + local.get $3 + i32.store $0 offset=12 + local.get $1 i32.const 2 i32.shl local.tee $11 - local.get $2 + local.get $3 i32.load $0 offset=4 i32.add i32.load $0 local.set $12 + local.get $10 + local.get $3 + i32.store $0 offset=8 i32.const 3 global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + local.get $10 local.get $12 - local.get $0 - local.get $2 + local.get $1 + local.get $3 i32.const 9296 i32.load $0 call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $12 - i32.store $0 offset=4 - local.get $10 + local.tee $10 + i32.store $0 offset=16 + local.get $9 local.get $11 i32.add - local.get $12 + local.get $10 i32.store $0 - local.get $12 + local.get $10 if - local.get $9 - local.get $12 + local.get $8 + local.get $10 i32.const 1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|018 + local.set $1 + br $for-loop|039 end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $9 - i32.store $0 offset=136 + local.get $0 + local.get $8 + i32.store $0 offset=140 global.get $~lib/memory/__stack_pointer local.set $0 global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 9328 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + local.get $3 i32.store $0 - local.get $2 local.get $1 + local.get $3 i32.load $0 offset=12 - local.tee $2 + local.tee $7 i32.const 2 i32.const 9 i32.const 0 call $~lib/rt/__newArray local.tee $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 local.get $8 i32.load $0 offset=4 local.set $9 - loop $for-loop|019 - local.get $6 - local.get $2 + i32.const 0 + local.set $1 + loop $for-loop|043 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 local.get $1 + local.get $7 + local.get $3 i32.load $0 offset=12 local.tee $10 - local.get $2 + local.get $7 local.get $10 i32.lt_s select i32.lt_s if - local.get $6 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer local.tee $10 + local.get $3 + i32.store $0 offset=12 local.get $1 - i32.load $0 offset=4 - i32.add - i32.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $9 - local.get $10 - i32.add - local.get $11 - local.get $6 - local.get $1 - i32.const 9328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_f32) - f32.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|019 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $8 - i32.store $0 offset=140 - local.get $8 - i32.load $0 offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 786 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 0 - call $~lib/array/Array#__get - local.set $5 - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $5 - local.get $0 - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne - if - i32.const 0 - i32.const 1552 - i32.const 787 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 - i32.const 9360 - i32.store $0 offset=8 - local.get $1 - i32.const 9360 - call $~lib/array/Array#map - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 796 - 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 $0 - local.get $0 - i32.load $0 offset=12 - i32.const 8 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 797 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/array/arr - local.tee $1 - i32.store $0 - local.get $0 - i32.const 9392 - i32.store $0 offset=8 - local.get $1 - i32.const 9392 - call $~lib/array/Array#map - global.get $std/array/i - i32.const 406 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 804 - 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 $0 - 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 $0 - 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 $0 - 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 $0 - local.get $0 - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 + i32.const 2 + i32.shl + local.tee $11 + local.get $3 + i32.load $0 offset=4 + i32.add + i32.load $0 + local.set $12 + local.get $10 + local.get $3 + i32.store $0 offset=8 + i32.const 3 + global.set $~argumentsLength + local.get $9 + local.get $11 + i32.add + local.get $12 + local.get $1 + local.get $3 + i32.const 9328 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_f32) + f32.store $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|043 + end + end global.get $~lib/memory/__stack_pointer - i32.const 9424 - i32.store $0 offset=8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 9424 - call $~lib/array/Array#map - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 819 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $8 + i32.store $0 offset=144 global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $8 i32.store $0 - local.get $0 - i32.load $0 offset=12 - i32.const 2 + local.get $8 + call $~lib/array/Array#get:length + i32.const 4 i32.ne if i32.const 0 i32.const 1552 - i32.const 820 + i32.const 786 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 $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 + local.get $8 i32.store $0 - local.get $0 - i32.const 3 - call $~lib/array/Array#push + local.get $8 + i32.const 0 + call $~lib/array/Array#__get + local.set $6 global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 9456 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 9456 - call $~lib/array/Array#filter - local.tee $0 - i32.store $0 offset=144 + local.get $6 local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.ne + i32.const 0 + call $~lib/array/Array#__get + f32.convert_i32_s + f32.ne if i32.const 0 i32.const 1552 - i32.const 830 + i32.const 787 i32.const 3 call $~lib/builtins/abort unreachable @@ -21728,19 +25146,18 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9488 + i32.const 9360 i32.store $0 offset=8 local.get $1 - i32.const 9488 - call $~lib/array/Array#filter - drop + i32.const 9360 + call $~lib/array/Array#map global.get $std/array/i i32.const 6 i32.ne if i32.const 0 i32.const 1552 - i32.const 839 + i32.const 796 i32.const 3 call $~lib/builtins/abort unreachable @@ -21750,13 +25167,13 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 8 i32.ne if i32.const 0 i32.const 1552 - i32.const 840 + i32.const 797 i32.const 3 call $~lib/builtins/abort unreachable @@ -21769,418 +25186,152 @@ local.tee $1 i32.store $0 local.get $0 - i32.const 9520 + i32.const 9392 i32.store $0 offset=8 local.get $1 - i32.const 9520 - call $~lib/array/Array#filter - drop + i32.const 9392 + call $~lib/array/Array#map global.get $std/array/i i32.const 406 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 $0 - 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 $0 - 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 $0 - 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 $0 - local.get $0 - call $~lib/array/Array#pop - drop - i32.const 0 - global.set $std/array/i - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 9552 - i32.store $0 offset=8 - local.get $0 - i32.const 9552 - call $~lib/array/Array#filter - drop - global.get $std/array/i - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 862 - 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 $0 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - 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 $0 - local.get $0 - i32.const 2 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/array/Array#push - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0389 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9584 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0389 - end - end - local.get $0 - global.set $std/array/i - global.get $std/array/i - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 873 + i32.const 804 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 $0 + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 local.get $0 - i32.const 9616 - i32.store $0 offset=8 - i32.const 4 - local.set $0 - i32.const 0 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0394 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9616 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0394 - end - end + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + 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 $0 local.get $0 + call $~lib/array/Array#pop + drop + i32.const 0 global.set $std/array/i + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 9424 + i32.store $0 offset=8 + local.get $0 + i32.const 9424 + call $~lib/array/Array#map global.get $std/array/i - i32.const 10 + i32.const 1 i32.ne if i32.const 0 i32.const 1552 - i32.const 877 + i32.const 819 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 local.get $0 - i32.const 9648 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0399 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9648 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0399 - end - end - local.get $0 - i32.eqz + call $~lib/array/Array#get:length + i32.const 2 + i32.ne if i32.const 0 i32.const 1552 - i32.const 880 + i32.const 820 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 $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 local.get $0 - i32.const 9680 + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 9456 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0404 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9680 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0404 - end - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 9456 + call $~lib/array/Array#filter + local.tee $0 + i32.store $0 offset=148 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne if i32.const 0 i32.const 1552 - i32.const 883 + i32.const 830 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + global.set $std/array/i global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 9712 + i32.const 9488 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0409 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9712 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0409 - end - end - local.get $0 - global.set $std/array/i + i32.const 9488 + call $~lib/array/Array#filter + drop global.get $std/array/i i32.const 6 i32.ne if i32.const 0 i32.const 1552 - i32.const 891 + i32.const 839 i32.const 3 call $~lib/builtins/abort unreachable @@ -22190,78 +25341,38 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 8 i32.ne if i32.const 0 i32.const 1552 - i32.const 892 + i32.const 840 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + global.set $std/array/i global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr local.tee $1 i32.store $0 local.get $0 - i32.const 9744 + i32.const 9520 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0416 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9744 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0416 - end - end - local.get $0 - global.set $std/array/i + i32.const 9520 + call $~lib/array/Array#filter + drop global.get $std/array/i - i32.const 10 + i32.const 406 i32.ne if i32.const 0 i32.const 1552 - i32.const 894 + i32.const 847 i32.const 3 call $~lib/builtins/abort unreachable @@ -22294,66 +25405,26 @@ local.get $0 call $~lib/array/Array#pop drop + i32.const 0 + global.set $std/array/i global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $1 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9776 + i32.const 9552 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const 0 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $6 - loop $for-loop|0421 - local.get $2 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $8 - local.get $6 - local.get $8 - i32.lt_s - select - i32.lt_s - if - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $8 - local.get $2 - local.get $1 - i32.const 9776 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0421 - end - end local.get $0 - global.set $std/array/i + i32.const 9552 + call $~lib/array/Array#filter + drop global.get $std/array/i i32.const 1 i32.ne if i32.const 0 i32.const 1552 - i32.const 907 + i32.const 862 i32.const 3 call $~lib/builtins/abort unreachable @@ -22363,13 +25434,13 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length i32.const 2 i32.ne if i32.const 0 i32.const 1552 - i32.const 908 + i32.const 863 i32.const 3 call $~lib/builtins/abort unreachable @@ -22390,57 +25461,47 @@ call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 9808 + i32.const 9584 i32.store $0 offset=8 + local.get $0 + i32.const 9584 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0427 - local.get $0 + call $~lib/array/Array#reduce + global.set $std/array/i + global.get $std/array/i + i32.const 6 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9808 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0427 - end + i32.const 1552 + i32.const 873 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 9616 + i32.store $0 offset=8 local.get $1 + i32.const 9616 + i32.const 4 + call $~lib/array/Array#reduce global.set $std/array/i global.get $std/array/i - i32.const 6 + i32.const 10 i32.ne if i32.const 0 i32.const 1552 - i32.const 918 + i32.const 877 i32.const 3 call $~lib/builtins/abort unreachable @@ -22448,57 +25509,80 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 - i32.const 9840 + i32.const 9648 i32.store $0 offset=8 - i32.const 4 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0431 - local.get $0 + local.get $1 + i32.const 9648 + i32.const 0 + call $~lib/array/Array#reduce + i32.eqz + if i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9840 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0431 - end + i32.const 1552 + i32.const 880 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 9680 + i32.store $0 offset=8 + local.get $1 + i32.const 9680 + i32.const 0 + call $~lib/array/Array#reduce + if + i32.const 0 + i32.const 1552 + i32.const 883 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 9712 + i32.store $0 offset=8 local.get $1 + i32.const 9712 + i32.const 0 + call $~lib/array/Array#reduce global.set $std/array/i global.get $std/array/i - i32.const 10 + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 891 + 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 $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 8 i32.ne if i32.const 0 i32.const 1552 - i32.const 922 + i32.const 892 i32.const 3 call $~lib/builtins/abort unreachable @@ -22506,158 +25590,119 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 - i32.const 9872 + i32.const 9744 i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0435 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9872 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0435 - end - end local.get $1 - i32.eqz + i32.const 9744 + i32.const 0 + call $~lib/array/Array#reduce + global.set $std/array/i + global.get $std/array/i + i32.const 10 + i32.ne if i32.const 0 i32.const 1552 - i32.const 925 + i32.const 894 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 $0 + local.get $0 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store $0 local.get $0 - i32.const 9904 + call $~lib/array/Array#pop + drop + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + 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 $0 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 9776 i32.store $0 offset=8 + local.get $0 + i32.const 9776 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 + call $~lib/array/Array#reduce + global.set $std/array/i + global.get $std/array/i i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0439 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9904 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0439 - end + i32.const 1552 + i32.const 907 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne if i32.const 0 i32.const 1552 - i32.const 928 + i32.const 908 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 $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $2 + local.tee $0 i32.store $0 local.get $0 - i32.const 9936 + i32.const 3 + call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + global.get $std/array/arr + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 9808 i32.store $0 offset=8 + local.get $0 + i32.const 9808 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0443 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9936 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0443 - end - end - local.get $1 + call $~lib/array/Array#reduceRight global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22665,23 +25710,31 @@ if i32.const 0 i32.const 1552 - i32.const 936 + i32.const 918 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr local.tee $0 + global.get $std/array/arr + local.tee $1 i32.store $0 local.get $0 - i32.load $0 offset=12 - i32.const 8 + i32.const 9840 + i32.store $0 offset=8 + local.get $1 + i32.const 9840 + 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 937 + i32.const 922 i32.const 3 call $~lib/builtins/abort unreachable @@ -22689,134 +25742,56 @@ global.get $~lib/memory/__stack_pointer local.tee $0 global.get $std/array/arr - local.tee $2 + local.tee $1 i32.store $0 local.get $0 - i32.const 9968 + i32.const 9872 i32.store $0 offset=8 + local.get $1 + i32.const 9872 i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0449 - local.get $0 + call $~lib/array/Array#reduceRight + i32.eqz + if i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 9968 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0449 - end + i32.const 1552 + i32.const 925 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/array/arr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 9904 + i32.store $0 offset=8 local.get $1 - global.set $std/array/i - global.get $std/array/i - i32.const 10 - i32.ne + i32.const 9904 + i32.const 0 + call $~lib/array/Array#reduceRight if i32.const 0 i32.const 1552 - i32.const 939 + i32.const 928 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 $0 - 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 $0 - 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 $0 - local.get $0 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer global.get $std/array/arr - local.tee $0 + local.tee $1 i32.store $0 local.get $0 - call $~lib/array/Array#pop - drop - global.get $~lib/memory/__stack_pointer - global.get $std/array/arr - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 10000 + i32.const 9936 i32.store $0 offset=8 - i32.const 0 - local.set $1 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|0453 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $6 - local.get $0 - local.get $2 - i32.const 10000 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|0453 - end - end local.get $1 + i32.const 9936 + i32.const 0 + call $~lib/array/Array#reduceRight global.set $std/array/i global.get $std/array/i i32.const 6 @@ -22824,7 +25799,7 @@ if i32.const 0 i32.const 1552 - i32.const 952 + i32.const 936 i32.const 3 call $~lib/builtins/abort unreachable @@ -22834,277 +25809,186 @@ local.tee $0 i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array#get:length + i32.const 8 + i32.ne if i32.const 0 i32.const 1552 - i32.const 953 + i32.const 937 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/array/arr local.tee $0 + global.get $std/array/arr + local.tee $1 i32.store $0 local.get $0 + i32.const 9968 + i32.store $0 offset=8 + local.get $1 + i32.const 9968 i32.const 0 - call $~lib/array/Array#push + 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 939 + 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 $0 local.get $0 - i32.const 1 - call $~lib/array/Array#push + call $~lib/array/Array#pop + drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 i32.store $0 local.get $0 - i32.const 2 - call $~lib/array/Array#push + call $~lib/array/Array#pop + drop global.get $~lib/memory/__stack_pointer global.get $std/array/arr local.tee $0 i32.store $0 local.get $0 - i32.const 3 - call $~lib/array/Array#push - i64.const -7046029254386353131 - call $~lib/bindings/dom/Math.random - i64.reinterpret_f64 - local.tee $3 - local.get $3 - i64.eqz - select - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - i64.const -49064778989728563 - i64.mul - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - i64.const -4265267296055464877 - i64.mul - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - global.set $~lib/math/random_state0_64 - global.get $~lib/math/random_state0_64 - i64.const -1 - i64.xor - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - i64.const -49064778989728563 - i64.mul - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - i64.const -4265267296055464877 - i64.mul - local.tee $3 - local.get $3 - i64.const 33 - i64.shr_u - i64.xor - global.set $~lib/math/random_state1_64 - i32.const 1 - global.set $~lib/math/random_seeded + call $~lib/array/Array#pop + drop global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 2 - i32.const 23 - i32.const 0 - call $~lib/rt/__newArray + global.get $std/array/arr local.tee $0 - i32.store $0 offset=148 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.store $0 offset=152 - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=156 - local.get $1 - i32.const 100 - i32.store $0 - local.get $1 - i32.const 80 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=160 - local.get $1 - i32.const 90 i32.store $0 - local.get $1 - i32.const 90 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=164 - local.get $1 - i32.const 70 - i32.store $0 - local.get $1 - i32.const 95 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=168 - local.get $1 - i32.const 100 - i32.store $0 - local.get $1 - i32.const 100 - i32.store $0 offset=4 - local.get $0 - i32.const 3 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=172 - local.get $1 - i32.const 80 - i32.store $0 - local.get $1 - i32.const 110 - i32.store $0 offset=4 - local.get $0 - i32.const 4 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=176 - local.get $1 - i32.const 110 - i32.store $0 - local.get $1 - i32.const 115 - i32.store $0 offset=4 local.get $0 - i32.const 5 - local.get $1 - call $~lib/array/Array#__set + call $~lib/array/Array#pop + drop global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=180 - local.get $1 - i32.const 100 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 120 - i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10000 + i32.store $0 offset=8 local.get $0 + i32.const 10000 + i32.const 0 + call $~lib/array/Array#reduceRight + global.set $std/array/i + global.get $std/array/i i32.const 6 - local.get $1 - call $~lib/array/Array#__set + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 952 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=184 - local.get $1 - i32.const 70 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 125 - i32.store $0 offset=4 local.get $0 - i32.const 7 - local.get $1 - call $~lib/array/Array#__set + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1552 + i32.const 953 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=188 - local.get $1 - i32.const 70 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 130 - i32.store $0 offset=4 local.get $0 - i32.const 8 - local.get $1 - call $~lib/array/Array#__set + i32.const 0 + call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=192 - local.get $1 - i32.const 100 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 135 - i32.store $0 offset=4 local.get $0 - i32.const 9 - local.get $1 - call $~lib/array/Array#__set + i32.const 1 + call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=196 - local.get $1 - i32.const 75 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 140 - i32.store $0 offset=4 local.get $0 - i32.const 10 - local.get $1 - call $~lib/array/Array#__set + i32.const 2 + call $~lib/array/Array#push global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=200 - local.get $1 - i32.const 70 + global.get $std/array/arr + local.tee $0 i32.store $0 - local.get $1 - i32.const 140 - i32.store $0 offset=4 local.get $0 - i32.const 11 - local.get $1 - call $~lib/array/Array#__set - local.get $0 - global.set $std/array/inputStabArr + i32.const 3 + call $~lib/array/Array#push + i64.const -7046029254386353131 + call $~lib/bindings/dom/Math.random + i64.reinterpret_f64 + local.tee $4 + local.get $4 + i64.eqz + select + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state0_64 + global.get $~lib/math/random_state0_64 + i64.const -1 + i64.xor + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + i64.const -49064778989728563 + i64.mul + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + i64.const -4265267296055464877 + i64.mul + local.tee $4 + local.get $4 + i64.const 33 + i64.shr_u + i64.xor + global.set $~lib/math/random_state1_64 + i32.const 1 + global.set $~lib/math/random_seeded global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 2 @@ -23112,4067 +25996,4108 @@ i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=204 + i32.store $0 offset=152 global.get $~lib/memory/__stack_pointer local.get $0 i32.load $0 offset=4 - i32.store $0 offset=208 + i32.store $0 offset=156 global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=212 - local.get $1 - i32.const 70 - i32.store $0 - local.get $1 - i32.const 95 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - local.get $1 - call $~lib/array/Array#__set + i32.store $0 offset=160 global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=216 local.get $1 - i32.const 70 i32.store $0 local.get $1 - i32.const 125 - i32.store $0 offset=4 - local.get $0 - i32.const 1 - local.get $1 - call $~lib/array/Array#__set - global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=220 - local.get $1 - i32.const 70 + i32.const 100 i32.store $0 - local.get $1 - i32.const 130 - i32.store $0 offset=4 - local.get $0 - i32.const 2 - local.get $1 - call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=224 local.get $1 - i32.const 70 i32.store $0 local.get $1 - i32.const 140 + i32.const 80 i32.store $0 offset=4 local.get $0 - i32.const 3 + i32.const 0 local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=228 - local.get $1 - i32.const 75 - i32.store $0 - local.get $1 - i32.const 140 - i32.store $0 offset=4 - local.get $0 - i32.const 4 - local.get $1 - call $~lib/array/Array#__set + i32.store $0 offset=164 global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=232 local.get $1 - i32.const 80 i32.store $0 local.get $1 - i32.const 110 - i32.store $0 offset=4 - local.get $0 - i32.const 5 - local.get $1 - call $~lib/array/Array#__set + i32.const 90 + i32.store $0 global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=236 local.get $1 - i32.const 90 i32.store $0 local.get $1 i32.const 90 i32.store $0 offset=4 local.get $0 - i32.const 6 + i32.const 1 local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=240 + i32.store $0 offset=168 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 100 i32.store $0 local.get $1 - i32.const 80 - i32.store $0 offset=4 - local.get $0 - i32.const 7 - local.get $1 - call $~lib/array/Array#__set + i32.const 70 + i32.store $0 global.get $~lib/memory/__stack_pointer - call $std/array/Dim#constructor - local.tee $1 - i32.store $0 offset=244 local.get $1 - i32.const 100 i32.store $0 local.get $1 - i32.const 100 + i32.const 95 i32.store $0 offset=4 local.get $0 - i32.const 8 + i32.const 2 local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=248 + i32.store $0 offset=172 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.const 100 i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 120 + i32.store $0 + local.get $1 + i32.const 100 i32.store $0 offset=4 local.get $0 - i32.const 9 + i32.const 3 local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=252 + i32.store $0 offset=176 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 100 i32.store $0 local.get $1 - i32.const 135 + i32.const 80 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 110 i32.store $0 offset=4 local.get $0 - i32.const 10 + i32.const 4 local.get $1 call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=256 + i32.store $0 offset=180 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.const 110 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.const 115 i32.store $0 offset=4 local.get $0 - i32.const 11 + i32.const 5 local.get $1 call $~lib/array/Array#__set - local.get $0 - global.set $std/array/outputStabArr global.get $~lib/memory/__stack_pointer - i32.const 3 - i32.const 2 - i32.const 9 - i32.const 10224 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=260 - i32.const 0 - global.set $~argumentsLength - local.get $0 - call $~lib/array/Array#sort@varargs - i32.const 3 - i32.const 2 - i32.const 9 - i32.const 10288 - call $~lib/rt/__newArray - local.set $1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=184 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 - local.get $0 + i32.store $0 local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1091 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 2 - i32.const 9 - i32.const 10320 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=264 - i32.const 0 - global.set $~argumentsLength - local.get $0 - call $~lib/array/Array#sort@varargs - i32.const 8 - i32.const 2 - i32.const 9 - i32.const 10384 - call $~lib/rt/__newArray - local.set $1 + i32.const 100 + i32.store $0 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store $0 + local.get $1 + i32.const 120 + i32.store $0 offset=4 local.get $0 + i32.const 6 local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1095 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 3 - i32.const 12 - i32.const 10448 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=268 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=188 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.store $0 - block $1of110 - block $0of111 - block $outOfRange12 - global.get $~argumentsLength - br_table $0of111 $1of110 $outOfRange12 - end - unreachable - end - i32.const 10544 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 10544 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=12 local.get $1 - call $~lib/util/sort/SORT + i32.const 70 + i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual (result i32) - i32.const 8 - i32.const 3 - i32.const 12 - i32.const 10576 - call $~lib/rt/__newArray - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - i32.const 0 - local.get $2 - i32.load $0 offset=12 - local.tee $6 - local.get $1 - i32.load $0 offset=12 - i32.ne - br_if $__inlined_func$std/array/isArraysEqual - drop - i32.const 1 - local.get $1 - local.get $2 - i32.eq - br_if $__inlined_func$std/array/isArraysEqual - drop - i32.const 0 - local.set $0 - loop $for-loop|066 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $2 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - local.get $4 - f64.ne - if (result i32) - local.get $1 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - local.get $4 - f64.ne - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - local.get $2 - local.get $0 - call $~lib/array/Array#__get - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - local.get $1 - local.get $0 - call $~lib/array/Array#__get - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.ne - br_if $__inlined_func$std/array/isArraysEqual - drop - i32.const 0 - local.get $2 - local.get $0 - call $~lib/array/Array#__get - local.get $1 - local.get $0 - call $~lib/array/Array#__get - f64.ne - br_if $__inlined_func$std/array/isArraysEqual - drop - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|066 - end - end - i32.const 1 - end - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1099 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.store $0 + local.get $1 + i32.const 125 + i32.store $0 offset=4 + local.get $0 + i32.const 7 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 10672 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=272 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=192 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 70 + i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $1 + i32.store $0 + local.get $1 + i32.const 130 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 0 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=196 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 - block $1of167 - block $0of168 - block $outOfRange69 - global.get $~argumentsLength - br_table $0of168 $1of167 $outOfRange69 - end - unreachable - end - i32.const 10720 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 10720 - i32.store $0 - end + local.get $1 + i32.const 100 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 135 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=4 + i32.const 9 + local.get $1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=200 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 75 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 140 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 + i32.const 10 local.get $1 - call $~lib/util/sort/SORT + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 4 - i32.const 10752 - call $~lib/rt/__newArray - local.set $1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=204 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store $0 + local.get $1 + i32.const 70 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 140 + i32.store $0 offset=4 local.get $0 + i32.const 11 local.get $1 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#__set + local.get $0 + global.set $std/array/inputStabArr global.get $~lib/memory/__stack_pointer - i32.const 5 + i32.const 12 i32.const 2 - i32.const 8 - i32.const 10800 + i32.const 23 + i32.const 0 call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=276 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - local.set $1 + i32.store $0 offset=208 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $0 + i32.load $0 offset=4 + i32.store $0 offset=212 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=216 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.store $0 - block $1of170 - block $0of171 - block $outOfRange72 - global.get $~argumentsLength - br_table $0of171 $1of170 $outOfRange72 - end - unreachable - end - i32.const 10848 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 10848 - i32.store $0 - end - local.get $0 - i32.load $0 offset=4 + local.get $1 + i32.const 70 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 95 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 + i32.const 0 local.get $1 - call $~lib/util/sort/SORT + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 5 - i32.const 2 - i32.const 8 - i32.const 10880 - call $~lib/rt/__newArray - local.set $1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=220 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=8 + i32.store $0 + local.get $1 + i32.const 70 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 125 + i32.store $0 offset=4 local.get $0 + i32.const 1 local.get $1 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1107 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 10928 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=280 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=224 global.get $~lib/memory/__stack_pointer - i32.const 1 + local.get $1 + i32.store $0 + local.get $1 + i32.const 70 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 130 + i32.store $0 offset=4 + local.get $0 i32.const 2 - i32.const 4 - i32.const 10960 - call $~lib/rt/__newArray + local.get $1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=284 + i32.store $0 offset=228 global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 10992 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=288 + local.get $1 + i32.store $0 + local.get $1 + i32.const 70 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 140 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + local.get $1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=232 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 75 + i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 140 + i32.store $0 offset=4 + local.get $0 i32.const 4 - i32.const 2 - i32.const 4 - i32.const 11024 - call $~lib/rt/__newArray - local.tee $6 - i32.store $0 offset=292 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 11072 - call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=296 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=236 global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createReverseOrderedArray - local.tee $9 - i32.store $0 offset=300 + local.get $1 + i32.store $0 + local.get $1 + i32.const 80 + i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 128 - call $std/array/createReverseOrderedArray - local.tee $10 - i32.store $0 offset=304 + local.get $1 + i32.store $0 + local.get $1 + i32.const 110 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 1024 - call $std/array/createReverseOrderedArray - local.tee $11 - i32.store $0 offset=308 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=240 global.get $~lib/memory/__stack_pointer - i32.const 10000 - call $std/array/createReverseOrderedArray - local.tee $12 - i32.store $0 offset=312 + local.get $1 + i32.store $0 + local.get $1 + i32.const 90 + i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 512 - call $std/array/createRandomOrderedArray - local.tee $13 - i32.store $0 offset=316 + local.get $1 + i32.store $0 + local.get $1 + i32.const 90 + i32.store $0 offset=4 local.get $0 - call $std/array/assertSortedDefault + i32.const 6 local.get $1 - call $std/array/assertSortedDefault - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 11152 - call $~lib/rt/__newArray - local.set $0 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=244 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 local.get $1 - local.get $0 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1127 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $std/array/assertSortedDefault - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 11184 - call $~lib/rt/__newArray - local.set $0 + i32.store $0 + local.get $1 + i32.const 100 + i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 80 + i32.store $0 offset=4 local.get $0 - i32.store $0 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 1130 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $6 - call $std/array/assertSortedDefault - local.get $6 - local.get $8 - i32.const 0 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1133 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $9 - call $std/array/assertSortedDefault - local.get $9 - local.get $8 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1136 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $10 - call $std/array/assertSortedDefault - local.get $10 - local.get $8 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1139 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $11 - call $std/array/assertSortedDefault - local.get $11 - local.get $8 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1142 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $12 - call $std/array/assertSortedDefault - local.get $12 - local.get $8 - i32.const 4 - call $std/array/isArraysEqual - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1145 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $13 - call $std/array/assertSortedDefault + i32.const 7 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.sub - global.set $~lib/memory/__stack_pointer + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=248 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $1 + i32.store $0 + local.get $1 + i32.const 100 + i32.store $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 24 - memory.fill $0 + local.get $1 + i32.store $0 + local.get $1 + i32.const 100 + i32.store $0 offset=4 local.get $0 - global.get $std/array/inputStabArr + i32.const 8 + local.get $1 + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + call $std/array/Dim#constructor local.tee $1 - i32.store $0 offset=8 - i32.const 1 - global.set $~argumentsLength + i32.store $0 offset=252 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 100 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 120 + i32.store $0 offset=4 local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + i32.const 9 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=256 global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 + local.get $1 i32.store $0 - i32.const 0 - local.set $2 - local.get $6 local.get $1 - i32.load $0 offset=12 - local.tee $6 - local.get $6 - i32.const 0 - local.get $6 - i32.const 0 - i32.le_s - select - local.tee $6 - i32.sub - local.tee $8 - i32.const 0 - local.get $8 - i32.const 0 - i32.gt_s - select - local.tee $8 - i32.const 2 - i32.const 23 - i32.const 0 - call $~lib/rt/__newArray - local.tee $9 + i32.const 100 i32.store $0 - local.get $9 - i32.load $0 offset=4 - local.set $10 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=4 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.set $1 - local.get $8 - i32.const 2 - i32.shl - local.set $6 - loop $while-continue|014 - local.get $2 - local.get $6 - i32.lt_u - if - local.get $2 - local.get $10 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - local.get $8 - if - local.get $9 - local.get $8 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - br $while-continue|014 - end - end + i32.store $0 + local.get $1 + i32.const 135 + i32.store $0 offset=4 + local.get $0 + i32.const 10 + local.get $1 + call $~lib/array/Array#__set global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + call $std/array/Dim#constructor + local.tee $1 + i32.store $0 offset=260 global.get $~lib/memory/__stack_pointer - local.get $9 + local.get $1 + i32.store $0 + local.get $1 + i32.const 110 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11216 + local.get $1 + i32.store $0 + local.get $1 + i32.const 115 i32.store $0 offset=4 - local.get $9 - i32.load $0 offset=4 - local.get $9 - i32.load $0 offset=12 - i32.const 11216 - call $~lib/util/sort/SORT local.get $0 - local.get $9 - i32.store $0 offset=12 - i32.const 1 - local.set $1 - i32.const 0 - local.set $2 + i32.const 11 + local.get $1 + call $~lib/array/Array#__set + local.get $0 + global.set $std/array/outputStabArr global.get $~lib/memory/__stack_pointer - global.get $std/array/inputStabArr + i32.const 3 + i32.const 2 + i32.const 9 + i32.const 10224 + call $~lib/rt/__newArray local.tee $0 + i32.store $0 offset=264 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 + i32.const 0 + global.set $~argumentsLength + local.get $0 + call $~lib/array/Array#sort@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + i32.const 3 + i32.const 2 + i32.const 9 + i32.const 10288 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 - local.set $0 - loop $for-loop|03 - local.get $0 - local.get $2 - i32.gt_s - if - block $for-break0 - global.get $~lib/memory/__stack_pointer - local.get $9 - local.get $2 - call $~lib/array/Array#__get - local.tee $6 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - global.get $std/array/outputStabArr - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $8 - local.get $2 - call $~lib/array/Array#__get - local.tee $8 - i32.store $0 offset=20 - local.get $6 - i32.load $0 - local.get $8 - i32.load $0 - i32.ne - if (result i32) - i32.const 1 - else - local.get $6 - i32.load $0 offset=4 - local.get $8 - i32.load $0 offset=4 - i32.ne - end - if - i32.const 0 - local.set $1 - br $for-break0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|03 - end - end - end local.get $1 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 1076 + i32.const 1091 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 - global.get $~lib/memory/__stack_pointer - i32.const 64 - call $std/array/createRandomOrderedArray + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 10320 + call $~lib/rt/__newArray local.tee $0 - i32.store $0 offset=320 - global.get $~lib/memory/__stack_pointer - i32.const 257 - call $std/array/createRandomOrderedArray - local.tee $1 - i32.store $0 offset=324 + i32.store $0 offset=268 global.get $~lib/memory/__stack_pointer - i32.const 11248 - i32.store $0 offset=8 local.get $0 - i32.const 11248 - call $std/array/assertSorted + i32.store $0 + i32.const 0 + global.set $~argumentsLength + local.get $0 + call $~lib/array/Array#sort@varargs global.get $~lib/memory/__stack_pointer - i32.const 11280 - i32.store $0 offset=8 local.get $0 - i32.const 11280 - call $std/array/assertSorted + i32.store $0 + i32.const 8 + i32.const 2 + i32.const 9 + i32.const 10384 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 11312 - i32.store $0 offset=8 local.get $1 - i32.const 11312 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - i32.const 11344 i32.store $0 offset=8 + local.get $0 local.get $1 - i32.const 11344 - call $std/array/assertSorted - global.get $~lib/memory/__stack_pointer - local.set $1 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1095 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 8 + i32.const 3 + i32.const 12 + i32.const 10448 + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 offset=272 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + local.set $0 + 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 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 10544 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 10544 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $3 + i32.store $0 offset=4 + local.get $1 local.get $0 + i32.store $0 offset=8 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i64.const 0 i64.store $0 - local.get $2 - i32.const 16 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 + local.get $1 + local.get $3 i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 32 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 + local.get $3 + i32.load $0 offset=4 + local.set $7 + local.get $1 + local.get $3 i32.store $0 offset=4 - local.get $2 - local.get $6 + local.get $3 + i32.load $0 offset=12 + local.set $8 + local.get $1 + local.get $0 i32.store $0 - local.get $6 - if - local.get $2 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $6 - i32.store $0 offset=4 - local.get $2 - i32.const 32 - i32.store $0 offset=8 - local.get $2 - i32.const 2 - i32.store $0 offset=12 + local.get $7 + local.get $8 + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 + 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 $3 i32.store $0 - i32.const 0 + i32.const 8 + i32.const 3 + i32.const 12 + i32.const 10576 + call $~lib/rt/__newArray local.set $0 - loop $for-loop|073 - local.get $0 - i32.const 2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + block $__inlined_func$std/array/isArraysEqual (result i32) + i32.const 0 + local.set $1 + 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 16192 i32.lt_s - if + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + i32.store $0 + local.get $7 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $folding-inner1 + block $folding-inner01 + local.get $0 + call $~lib/array/Array#get:length + local.get $7 + i32.ne + br_if $folding-inner01 + local.get $0 + local.get $3 + i32.eq + br_if $folding-inner1 + loop $for-loop|02 + local.get $1 + local.get $7 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $1 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f64.ne + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#__get + local.tee $5 + local.get $5 + f64.ne + else + i32.const 0 + end + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $1 + call $~lib/array/Array#__get + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $8 + local.get $0 + local.get $1 + call $~lib/array/Array#__get + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.ne + br_if $folding-inner01 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $1 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/array/Array#__get + local.get $5 + f64.ne + br_if $folding-inner01 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|02 + end + end + br $folding-inner1 + end global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/array/Array#constructor - local.tee $6 - i32.store $0 offset=4 - local.get $6 - i32.const 0 - i32.const 1 - local.get $0 - i32.sub - call $~lib/array/Array#__set - local.get $2 - local.get $0 - local.get $6 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 + i32.const 4 i32.add - local.set $0 - br $for-loop|073 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual + 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 1099 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 10672 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=276 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + local.set $0 + 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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of14 + block $0of15 + block $outOfRange6 + global.get $~argumentsLength + br_table $0of15 $1of14 $outOfRange6 + end + unreachable end + i32.const 10720 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 10720 + i32.store $0 end global.get $~lib/memory/__stack_pointer - i32.const 8 + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/array/Array#sort + drop + 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 $1 - local.get $2 - i32.store $0 offset=328 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 10752 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11376 + local.get $0 i32.store $0 offset=8 - local.get $2 - i32.const 11376 - call $std/array/assertSorted<~lib/array/Array> + local.get $1 + local.get $0 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1103 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.set $1 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 10800 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=280 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + i32.const 0 + global.set $~argumentsLength i32.const 0 local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i64.const 0 i64.store $0 - local.get $2 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of19 + block $0of110 + block $outOfRange11 + global.get $~argumentsLength + br_table $0of110 $1of19 $outOfRange11 + end + unreachable + end + i32.const 10848 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 10848 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $6 + local.tee $3 i64.const 0 i64.store $0 - local.get $6 - i32.const 16 - i32.const 32 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 - local.get $6 - i32.const 0 - i32.store $0 - local.get $6 - i32.const 0 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $6 - i32.const 0 - i32.store $0 offset=8 - local.get $6 - i32.const 0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 2048 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 + local.get $1 + i32.load $0 offset=4 + local.set $7 + local.get $3 + local.get $1 i32.store $0 offset=4 - local.get $6 - local.get $8 + local.get $1 + i32.load $0 offset=12 + local.set $8 + local.get $3 + local.get $0 i32.store $0 + local.get $7 local.get $8 - if - local.get $6 - local.get $8 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $6 - local.get $8 - i32.store $0 offset=4 - local.get $6 - i32.const 2048 - i32.store $0 offset=8 - local.get $6 - i32.const 512 - i32.store $0 offset=12 + local.get $0 + call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $6 - i32.store $0 - loop $for-loop|016 - local.get $0 - i32.const 512 - i32.lt_s - if - 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 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 4 - i32.const 31 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 511 - local.get $0 - i32.sub - i32.store $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 $2 - i32.store $0 offset=4 - local.get $6 - local.get $0 - local.get $2 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|016 - end - end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $6 - i32.store $0 offset=332 + i32.store $0 + i32.const 5 + i32.const 2 + i32.const 8 + i32.const 10880 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 11408 + local.get $0 i32.store $0 offset=8 - local.get $6 - i32.const 11408 - call $std/array/assertSorted<~lib/array/Array> + local.get $1 + local.get $0 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1107 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 7 + i32.const 0 i32.const 2 - i32.const 34 - i32.const 11600 + i32.const 4 + i32.const 10928 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=336 + i32.store $0 offset=284 + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 10960 + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 offset=288 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 10992 + call $~lib/rt/__newArray + local.tee $7 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 11024 + call $~lib/rt/__newArray + local.tee $8 + i32.store $0 offset=296 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 11072 + call $~lib/rt/__newArray + local.tee $9 + i32.store $0 offset=300 + global.get $~lib/memory/__stack_pointer + i32.const 64 + call $std/array/createReverseOrderedArray + local.tee $10 + i32.store $0 offset=304 + global.get $~lib/memory/__stack_pointer + i32.const 128 + call $std/array/createReverseOrderedArray + local.tee $11 + i32.store $0 offset=308 global.get $~lib/memory/__stack_pointer - i32.const 7 - i32.const 2 - i32.const 34 - i32.const 11648 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=340 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - local.set $6 + i32.const 1024 + call $std/array/createReverseOrderedArray + local.tee $12 + i32.store $0 offset=312 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + i32.const 10000 + call $std/array/createReverseOrderedArray + local.tee $0 + i32.store $0 offset=316 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + i32.const 512 + call $std/array/createRandomOrderedArray + local.tee $13 + i32.store $0 offset=320 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $1 i32.store $0 - block $1of11 - block $0of12 - block $outOfRange3 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of12 $1of11 $outOfRange3 - end - unreachable - end - i32.const 11696 - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 11696 - i32.store $0 - end + local.get $1 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $3 + i32.store $0 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 11152 + call $~lib/rt/__newArray + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $3 + local.get $1 i32.const 0 - i32.store $0 - block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=12 - local.get $6 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - i32.const 1 - local.set $0 - local.get $1 - i32.load $0 offset=12 - local.set $8 - loop $for-loop|05 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.sub - call $~lib/array/Array#__get - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 - local.get $1 - local.get $0 - call $~lib/array/Array#__get - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - i32.const 2 - global.set $~argumentsLength - local.get $9 - local.get $10 - local.get $6 - i32.load $0 - call_indirect $0 (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|05 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 - end + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 1080 + i32.const 1127 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 $7 + i32.store $0 + local.get $7 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + i32.const 2 + i32.const 2 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $1 - i32.load $0 offset=12 - local.tee $6 - local.get $2 - i32.load $0 offset=12 - i32.ne - 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/isArraysEqual<~lib/string/String|null> - 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 - i32.const 1 - br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> - end + i32.const 11184 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $7 + local.get $1 + i32.const 0 + call $std/array/isArraysEqual + i32.eqz + if i32.const 0 - local.set $0 - loop $for-loop|08 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/array/Array#__get - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 - local.get $2 - local.get $0 - call $~lib/array/Array#__get - local.set $9 - global.get $~lib/memory/__stack_pointer - local.get $9 - i32.store $0 offset=4 - local.get $8 - local.get $9 - call $~lib/string/String.__eq - i32.eqz - 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/isArraysEqual<~lib/string/String|null> - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|08 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1 + i32.const 1552 + i32.const 1130 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $std/array/assertSortedDefault + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $8 + local.get $9 + i32.const 0 + call $std/array/isArraysEqual i32.eqz if i32.const 0 i32.const 1552 - i32.const 1184 + i32.const 1133 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - call $std/array/createRandomStringArray - local.tee $0 - i32.store $0 offset=344 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - local.set $1 + local.get $10 + i32.store $0 + local.get $10 + call $std/array/assertSortedDefault + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $10 + local.get $9 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1136 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $11 + i32.store $0 + local.get $11 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $11 i32.store $0 - block $1of1477 - block $0of1478 - block $outOfRange479 - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1478 $1of1477 $outOfRange479 - end - unreachable - end - i32.const 11728 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 11728 - i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $11 + local.get $9 + i32.const 4 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1139 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $1 - call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 + local.get $12 + call $std/array/assertSortedDefault + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $12 + local.get $9 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 2 - i32.const 0 - i32.const 37 - i32.const 11760 - call $~lib/rt/__newArray - local.set $1 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1142 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=348 + local.get $0 + i32.store $0 + local.get $0 + call $std/array/assertSortedDefault global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 - i32.const 0 - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $1 + local.get $0 + i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $0 + local.get $9 i32.const 4 + call $std/array/isArraysEqual + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1145 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 + local.get $13 + call $std/array/assertSortedDefault + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinBooleanArray - local.get $1 - i32.const 1 - i32.sub - local.tee $6 - 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 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinBooleanArray - end - local.get $6 - i32.eqz - if - i32.const 11792 - i32.const 11824 - local.get $2 - i32.load8_u $0 - select - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray - end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $8 - i32.const 5 - i32.add - local.get $6 - i32.mul - i32.const 5 - i32.add - local.tee $9 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - loop $for-loop|117 - local.get $6 - local.get $7 - i32.gt_s - if - local.get $2 - local.get $7 - i32.add - i32.load8_u $0 - local.tee $10 - i32.eqz - i32.const 4 - i32.add - local.set $11 - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11792 - i32.const 11824 - local.get $10 - select - local.get $11 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $11 - i32.add - local.set $0 - local.get $8 - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $8 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $8 - i32.add - local.set $0 - end - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|117 + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + global.get $std/array/inputStabArr + local.tee $1 + i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange4 + global.get $~argumentsLength + br_table $1of2 $1of2 $2of2 $outOfRange4 end + unreachable end + i32.const 2147483647 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=12 + local.tee $7 + i32.const 0 + local.get $7 + i32.const 0 + i32.le_s + select + local.set $8 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) local.get $2 - local.get $6 + local.get $7 i32.add - i32.load8_u $0 local.tee $2 - i32.eqz - i32.const 4 - i32.add - local.set $6 - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11792 - i32.const 11824 + i32.const 0 local.get $2 + i32.const 0 + i32.gt_s select - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $6 - i32.add - local.tee $0 - local.get $9 + else + local.get $2 + local.get $7 + local.get $2 + local.get $7 i32.lt_s + select + end + local.set $7 + i32.const 0 + local.set $2 + local.get $3 + local.get $7 + local.get $8 + i32.sub + local.tee $3 + i32.const 0 + local.get $3 + i32.const 0 + i32.gt_s + select + local.tee $3 + i32.const 2 + i32.const 23 + i32.const 0 + call $~lib/rt/__newArray + local.tee $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.set $10 + local.get $9 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.get $8 + i32.const 2 + i32.shl + i32.add + local.set $1 + local.get $3 + i32.const 2 + i32.shl + local.set $3 + loop $while-continue|05 + local.get $2 + local.get $3 + i32.lt_u if + local.get $2 + local.get $10 + i32.add local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $1 - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.add + i32.load $0 + local.tee $8 + i32.store $0 + local.get $8 + if + local.get $7 + local.get $8 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 i32.const 4 i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinBooleanArray + local.set $2 + br $while-continue|05 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - i32.const 11888 - i32.store $0 offset=8 - local.get $1 - i32.const 11888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 11936 - call $~lib/rt/__newArray - local.set $0 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer local.tee $1 - local.get $0 - i32.store $0 offset=348 + local.get $7 + i32.store $0 local.get $1 - i32.const 11568 - i32.store $0 offset=352 + i32.const 11216 + i32.store $0 offset=4 local.get $0 - i32.const 11568 - call $~lib/array/Array#join + local.get $7 + i32.const 11216 + call $~lib/array/Array#sort + local.tee $2 + i32.store $0 offset=12 + i32.const 1 local.set $0 + i32.const 0 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $0 + global.get $std/array/inputStabArr + local.tee $3 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11968 - i32.store $0 offset=8 + local.get $3 + call $~lib/array/Array#get:length + local.set $3 + loop $for-loop|050 + local.get $1 + local.get $3 + i32.lt_s + if + block $for-break0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $7 + local.get $2 + local.get $1 + call $~lib/array/Array#__get + local.tee $7 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + global.get $std/array/outputStabArr + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + local.get $1 + call $~lib/array/Array#__get + local.tee $8 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $9 + local.get $8 + i32.load $0 + i32.ne + if (result i32) + i32.const 1 + else + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.set $7 + local.get $9 + local.get $8 + i32.store $0 + local.get $7 + local.get $8 + i32.load $0 offset=4 + i32.ne + end + if + i32.const 0 + local.set $0 + br $for-break0 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|050 + end + end + end local.get $0 - i32.const 11968 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1194 + i32.const 1076 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - i32.const 8 - i32.const 12000 - call $~lib/rt/__newArray - local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 64 + call $std/array/createRandomOrderedArray + local.tee $0 + i32.store $0 offset=324 + global.get $~lib/memory/__stack_pointer + i32.const 257 + call $std/array/createRandomOrderedArray local.tee $1 - local.get $0 - i32.store $0 offset=348 - local.get $1 - i32.const 12032 - i32.store $0 offset=352 - local.get $0 - i32.const 12032 - call $~lib/array/Array#join - local.set $0 + i32.store $0 offset=328 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11968 + i32.const 11248 i32.store $0 offset=8 local.get $0 - i32.const 11968 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1195 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 12064 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 - local.get $1 - i32.const 12096 - i32.store $0 offset=352 - local.get $0 - i32.const 12096 - call $~lib/array/Array#join - local.set $0 + i32.const 11248 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 12128 + i32.const 11280 i32.store $0 offset=8 local.get $0 - i32.const 12128 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1196 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 6 - i32.const 3 - i32.const 12 - i32.const 12208 - call $~lib/rt/__newArray - local.set $0 + i32.const 11280 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 local.get $1 - i32.const 12288 - i32.store $0 offset=352 - local.get $0 - call $~lib/array/Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13456 + i32.const 11312 i32.store $0 offset=8 - local.get $0 - i32.const 13456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1197 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - i32.const 34 - i32.const 13600 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 local.get $1 - i32.const 11568 - i32.store $0 offset=352 - local.get $0 - i32.const 11568 - call $~lib/array/Array<~lib/string/String|null>#join - local.set $0 + i32.const 11312 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13568 + i32.const 11344 i32.store $0 offset=8 - local.get $0 - i32.const 13568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1198 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i32.const 11344 + call $std/array/assertSorted global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3 - i32.const 2 - i32.const 13 + local.set $0 i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=356 + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=360 - local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 16 + i32.const 29 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $1 - i32.const 1 + i32.store $0 offset=4 + local.get $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 - call $~lib/array/Array#__set - local.get $1 - i32.const 2 + i32.store $0 offset=8 + local.get $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $0 - local.get $1 - i32.store $0 offset=364 + i32.store $0 offset=12 + local.get $7 + i32.const 32 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 - local.get $1 - call $~lib/array/Array#join - local.set $0 + local.get $3 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $7 + i32.store $0 offset=12 + local.get $3 + local.get $7 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13696 - i32.store $0 offset=8 - local.get $0 - i32.const 13696 - call $~lib/string/String.__eq - i32.eqz + local.get $7 if + local.get $3 + local.get $7 i32.const 0 - i32.const 1552 - i32.const 1200 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2 + local.tee $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 32 + i32.store $0 offset=8 + local.get $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 2 - i32.const 10 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=368 + i32.store $0 offset=12 + local.get $8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.store $0 + loop $for-loop|07 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + i32.const 1 + local.get $1 + i32.sub + call $~lib/array/Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $3 + local.get $1 + local.get $2 + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|07 + end + end global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=372 - local.get $1 - i32.const 0 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.const 0 - call $std/array/Ref#constructor - call $~lib/array/Array#__set + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.store $0 offset=376 - global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=352 - local.get $1 - call $~lib/array/Array#join - local.set $0 + local.get $3 + i32.store $0 offset=332 global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $0 + local.get $3 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13792 - i32.store $0 offset=8 local.get $0 - i32.const 13792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1203 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 11376 + i32.store $0 offset=8 + local.get $3 + i32.const 11376 + call $std/array/assertSorted<~lib/array/Array> global.get $~lib/memory/__stack_pointer + local.set $0 i32.const 0 - i32.const 2 - i32.const 4 - i32.const 13888 - call $~lib/rt/__newArray - local.tee $0 - i32.store $0 offset=380 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 13920 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=384 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 13952 - call $~lib/rt/__newArray local.tee $2 - i32.store $0 offset=388 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 2 - i32.const 4 - i32.const 13984 - call $~lib/rt/__newArray - local.tee $6 - i32.store $0 offset=392 - local.get $0 - call $~lib/array/Array#toString - local.set $0 + i32.const 16192 + i32.lt_s + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 16 + i32.const 32 + call $~lib/rt/itcms/__new + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=8 - local.get $0 - i32.const 11568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1213 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 i32.store $0 - local.get $1 - i32.const 13568 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=4 + local.get $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=12 + local.get $7 + i32.const 2048 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 i32.store $0 offset=8 - local.get $0 - i32.const 13568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1214 - 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 - local.tee $1 - local.get $0 + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $3 + local.get $7 i32.store $0 - local.get $1 - i32.const 14032 - i32.store $0 offset=8 - local.get $0 - i32.const 14032 - call $~lib/string/String.__eq - i32.eqz + local.get $7 if + local.get $3 + local.get $7 i32.const 0 - i32.const 1552 - i32.const 1215 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 - call $~lib/array/Array#toString - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 - local.get $1 - i32.const 14064 + local.tee $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2048 i32.store $0 offset=8 - local.get $0 - i32.const 14064 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1216 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 512 + i32.store $0 offset=12 + local.get $8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.store $0 + loop $for-loop|09 + local.get $1 + i32.const 512 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $3 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 4 + i32.const 31 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 511 + local.get $1 + i32.sub + i32.store $0 + local.get $7 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $3 + local.get $1 + local.get $2 + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|09 + end end - i32.const 3 - i32.const 0 - i32.const 38 - i32.const 14112 - call $~lib/rt/__newArray - local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=348 - local.get $0 - call $~lib/array/Array#toString - local.set $0 + local.get $3 + i32.store $0 offset=336 global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $0 + local.get $3 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14144 - i32.store $0 offset=8 local.get $0 - i32.const 14144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1218 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 0 - i32.const 38 - i32.const 14176 + i32.const 11408 + i32.store $0 offset=8 + local.get $3 + i32.const 11408 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + i32.const 7 + i32.const 2 + i32.const 34 + i32.const 11600 call $~lib/rt/__newArray - local.set $0 + local.tee $2 + i32.store $0 offset=340 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=348 - local.get $0 - call $~lib/array/Array#toString - local.set $0 + i32.const 7 + i32.const 2 + i32.const 34 + i32.const 11648 + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 offset=344 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14208 - i32.store $0 offset=8 - local.get $0 - i32.const 14208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1219 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 i32.const 1 - i32.const 11 - i32.const 14256 - call $~lib/rt/__newArray - local.set $1 + global.set $~argumentsLength + i32.const 0 + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=348 - local.get $0 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 - i32.store $0 + i32.store $0 offset=8 + block $1of153 + block $0of154 + block $outOfRange55 + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of154 $1of153 $outOfRange55 + end + unreachable + end + i32.const 11696 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 11696 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $2 - i32.const 11856 - i32.store $0 - i32.const 0 - local.set $0 - i32.const 0 - local.set $6 + i32.store $0 offset=4 local.get $1 - i32.load $0 offset=4 - local.set $7 + local.get $0 + i32.store $0 offset=8 local.get $1 - i32.load $0 offset=12 - local.set $1 - local.get $2 - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + block $__inlined_func$std/array/isSorted<~lib/string/String|null> (result i32) local.get $1 - i32.const 1 + local.get $2 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $2 + local.get $0 + call $~lib/array/Array#sort + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - local.tee $2 - i32.const 0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $2 - i32.eqz - if - local.get $7 - i32.load16_u $0 - call $~lib/util/number/utoa32 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u local.tee $8 - i32.const 10 - i32.add - local.get $2 - i32.mul - i32.const 10 - i32.add - local.tee $9 + i64.const 0 + i64.store $0 + local.get $8 + i32.const 0 + i32.store $0 offset=8 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 + local.set $1 + local.get $8 + local.get $7 i32.store $0 - loop $for-loop|020 - local.get $2 - local.get $6 - i32.gt_s + local.get $7 + call $~lib/array/Array#get:length + local.set $8 + loop $for-loop|017 + local.get $1 + local.get $8 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 local.get $1 - local.get $0 i32.const 1 - i32.shl - i32.add + i32.sub + call $~lib/array/Array#__get + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $7 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered + i32.store $0 offset=8 + local.get $7 + local.get $1 + call $~lib/array/Array#__get + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $9 + local.get $10 local.get $0 - i32.add - local.set $0 - local.get $8 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $8 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $0 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isSorted<~lib/string/String|null> end - local.get $6 + local.get $1 i32.const 1 i32.add - local.set $6 - br $for-loop|020 + local.set $1 + br $for-loop|017 end end - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $9 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + i32.const 1 end - 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 14288 - i32.store $0 offset=8 - local.get $1 - i32.const 14288 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1220 + i32.const 1080 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 1 - i32.const 39 - i32.const 14336 - call $~lib/rt/__newArray - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=348 - local.get $0 - i32.const 4 - i32.sub + i32.const 16 + i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 11856 - i32.store $0 - i32.const 0 - local.set $0 - i32.const 0 - local.set $6 - local.get $1 - i32.load $0 offset=4 - local.set $7 - local.get $1 - i32.load $0 offset=12 - local.set $1 - local.get $2 - i32.const 4 - i32.sub + i32.const 12 + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $1 - i32.const 1 + block $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> (result i32) + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - local.tee $2 - i32.const 0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length + local.get $0 + i32.ne if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinIntegerArray + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end local.get $2 - i32.eqz + local.get $3 + i32.eq if - local.get $7 - i32.load16_s $0 - call $~lib/util/number/itoa32 - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + i32.const 1 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $8 - i32.const 11 - i32.add - local.get $2 - i32.mul - i32.const 11 - i32.add - local.tee $9 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - loop $for-loop|021 - local.get $2 - local.get $6 + i32.const 0 + local.set $1 + loop $for-loop|019 + local.get $0 + local.get $1 i32.gt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + local.get $1 + call $~lib/array/Array#__get + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $9 + i64.const 0 + i64.store $0 + local.get $9 + local.get $7 + i32.store $0 + local.get $9 + local.get $8 + i32.store $0 offset=4 local.get $7 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.set $0 local.get $8 + call $~lib/string/String.__eq + 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 if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.const 11856 - local.get $8 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $0 + global.set $~lib/memory/__stack_pointer + i32.const 0 + br $__inlined_func$std/array/isArraysEqual<~lib/string/String|null> end - local.get $6 + local.get $1 i32.const 1 i32.add - local.set $6 - br $for-loop|021 + local.set $1 + br $for-loop|019 end end - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $9 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/string/String#substring - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + i32.const 1 end - 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=8 - local.get $1 - i32.const 14368 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1221 + i32.const 1184 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 14416 - call $~lib/rt/__newArray - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + call $std/array/createRandomStringArray + local.tee $0 i32.store $0 offset=348 - local.get $0 - call $~lib/array/Array#toString - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 14448 - i32.store $0 offset=8 - local.get $0 - i32.const 14448 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1222 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 3 - i32.const 40 - i32.const 14512 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.store $0 offset=348 - local.get $1 - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $1 - i32.const 11856 - i32.store $0 - local.get $0 - call $~lib/array/Array#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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 14560 + i32.const 0 i32.store $0 offset=8 - local.get $0 - i32.const 14560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1223 - i32.const 3 - call $~lib/builtins/abort - unreachable + block $1of157 + block $0of158 + block $outOfRange59 + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of158 $1of157 $outOfRange59 + end + unreachable + end + i32.const 11728 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 11728 + i32.store $0 end - i32.const 5 - i32.const 3 - i32.const 41 - i32.const 14640 - call $~lib/rt/__newArray - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $1 - i32.store $0 offset=348 + local.get $3 + i32.store $0 offset=8 local.get $0 - i32.const 4 - i32.sub + local.get $3 + call $std/array/assertSorted<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add global.set $~lib/memory/__stack_pointer + i32.const 2 + i32.const 0 + i32.const 37 + i32.const 11760 + call $~lib/rt/__newArray + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $0 + i32.store $0 offset=52 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 i32.const 11856 - i32.store $0 - i32.const 0 - local.set $0 - i32.const 0 - local.set $6 - local.get $1 - i32.load $0 offset=4 - local.set $7 - local.get $1 - i32.load $0 offset=12 - local.set $1 - local.get $2 - i32.const 4 + i32.store $0 offset=352 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - 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 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $2 - i32.eqz - if - block $__inlined_func$~lib/util/number/itoa64 (result i32) - local.get $7 - i64.load $0 - i64.extend32_s - local.set $3 - 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 16192 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 7712 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $3 - i64.sub - local.get $3 - local.get $3 - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.const 1 - i32.shl - local.tee $1 - select - local.tee $3 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.wrap_i64 - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $6 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $1 - i32.add - local.get $2 - local.get $6 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $3 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $3 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $3 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $3 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $3 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $3 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $3 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $3 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $2 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $1 - i32.add - local.get $3 - local.get $2 - call $~lib/util/number/utoa64_dec_lut - end - local.get $1 - if - local.get $0 - i32.const 45 - i32.store16 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - end - local.set $1 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $3 + i32.const 11856 + i32.store $0 offset=4 + i32.const 0 + local.set $2 + i32.const 0 + local.set $1 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinBooleanArray + local.get $0 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + i32.const 11568 + local.set $3 + br $__inlined_func$~lib/util/string/joinBooleanArray end - global.get $~lib/memory/__stack_pointer - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $8 - i32.const 21 - i32.add - local.get $2 - i32.mul - i32.const 21 - i32.add - local.tee $9 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - loop $for-loop|022 - local.get $2 - local.get $6 - i32.gt_s + block $folding-inner010 + local.get $0 + i32.eqz if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add + i32.const 11792 + i32.const 11824 local.get $7 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered + i32.load8_u $0 + select + local.set $3 + br $folding-inner010 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 11856 + i32.store $0 + local.get $3 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 5 + i32.add + local.get $0 + i32.mul + i32.const 5 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + loop $for-loop|111 local.get $0 - i32.add - local.set $0 - local.get $8 + local.get $1 + i32.gt_s if local.get $1 - local.get $0 + local.get $7 + i32.add + i32.load8_u $0 + local.tee $10 + i32.eqz + i32.const 4 + i32.add + local.set $11 + local.get $3 + local.get $2 i32.const 1 i32.shl i32.add - i32.const 11856 - local.get $8 + i32.const 11792 + i32.const 11824 + local.get $10 + select + local.get $11 i32.const 1 i32.shl memory.copy $0 $0 - local.get $0 + local.get $2 + local.get $11 + i32.add + local.set $2 local.get $8 + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $8 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $8 + i32.add + local.set $2 + end + local.get $1 + i32.const 1 i32.add - local.set $0 + local.set $1 + br $for-loop|111 end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|022 end - end - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $7 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $0 - i32.add - local.tee $0 - local.get $9 - i32.lt_s - if - local.get $1 local.get $0 - call $~lib/string/String#substring + local.get $7 + i32.add + i32.load8_u $0 + local.tee $0 + i32.eqz + i32.const 4 + i32.add local.set $1 + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 11792 + i32.const 11824 + local.get $0 + select + local.get $1 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.add + local.tee $0 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + call $~lib/string/String#substring + local.set $3 + br $folding-inner010 + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + br $__inlined_func$~lib/util/string/joinBooleanArray end global.get $~lib/memory/__stack_pointer - i32.const 4 + 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 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 11888 + i32.store $0 offset=8 + local.get $3 + i32.const 11888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1193 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 11936 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 + local.get $1 + i32.const 11568 + i32.store $0 offset=352 + local.get $0 + i32.const 11568 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 11968 + i32.store $0 offset=8 + local.get $0 + i32.const 11968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1194 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 8 + i32.const 12000 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 + local.get $1 + i32.const 12032 + i32.store $0 offset=352 + local.get $0 + i32.const 12032 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 11968 + i32.store $0 offset=8 + local.get $0 + i32.const 11968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1195 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 i32.const 4 - i32.add + i32.const 12064 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 + local.get $1 + i32.const 12096 + i32.store $0 offset=352 + local.get $0 + i32.const 12096 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12128 + i32.store $0 offset=8 + local.get $0 + i32.const 12128 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1196 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 6 + i32.const 3 + i32.const 12 + i32.const 12208 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 + local.get $1 + i32.const 12288 + i32.store $0 offset=352 + local.get $1 + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 local.get $1 + i32.const 12288 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/util/string/joinFloatArray + local.set $0 + 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 $0 global.get $~lib/memory/__stack_pointer - i32.const 14704 + i32.const 13456 i32.store $0 offset=8 + local.get $0 + i32.const 13456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + i32.const 34 + i32.const 13600 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 local.get $1 - i32.const 14704 + i32.const 11568 + i32.store $0 offset=352 + local.get $0 + i32.const 11568 + call $~lib/array/Array<~lib/string/String|null>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13568 + i32.store $0 offset=8 + local.get $0 + i32.const 13568 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1224 + i32.const 1198 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 7 + local.tee $0 + i32.const 3 i32.const 2 - i32.const 34 - i32.const 14864 + i32.const 13 + i32.const 0 call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=356 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=360 + local.get $1 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.const 0 + call $~lib/array/Array#__set + local.get $1 + i32.const 2 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $0 + local.get $1 + i32.store $0 offset=364 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store $0 offset=352 + local.get $1 + call $~lib/array/Array#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13696 + i32.store $0 offset=8 + local.get $0 + i32.const 13696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1200 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $0 - i32.store $0 offset=396 + i32.const 2 + i32.const 2 + i32.const 10 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=368 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=372 + local.get $1 + i32.const 0 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set + local.get $1 + i32.const 1 + i32.const 0 + call $std/array/Ref#constructor + call $~lib/array/Array#__set local.get $0 - call $~lib/array/Array<~lib/string/String|null>#toString + local.get $1 + i32.store $0 offset=376 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store $0 offset=352 + local.get $1 + call $~lib/array/Array#join local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 14912 + i32.const 13792 i32.store $0 offset=8 local.get $0 - i32.const 14912 + i32.const 13792 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1231 + i32.const 1203 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 i32.const 4 + i32.const 13888 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=380 + global.get $~lib/memory/__stack_pointer + i32.const 1 i32.const 2 - i32.const 34 - i32.const 15024 + i32.const 4 + i32.const 13920 call $~lib/rt/__newArray - local.set $0 + local.tee $1 + i32.store $0 offset=384 + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 13952 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=388 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 2 + i32.const 4 + i32.const 13984 + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 offset=392 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=348 + i32.store $0 offset=52 local.get $0 - call $~lib/array/Array<~lib/string/String|null>#toString + call $~lib/array/Array#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15072 + i32.const 11568 i32.store $0 offset=8 local.get $0 - i32.const 15072 + i32.const 11568 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1232 + i32.const 1213 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2 - i32.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=400 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=404 - local.get $1 - i32.const 0 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 15104 - call $~lib/rt/__newArray - call $~lib/array/Array#__set local.get $1 - i32.const 1 - i32.const 2 - i32.const 2 - i32.const 4 - i32.const 15136 - call $~lib/rt/__newArray - call $~lib/array/Array#__set - local.get $0 + i32.store $0 offset=52 local.get $1 - i32.store $0 offset=408 - 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 16192 - i32.lt_s - br_if $folding-inner1 + call $~lib/array/Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 local.get $0 - i32.const 11856 i32.store $0 - i32.const 0 - local.set $6 - local.get $1 - i32.load $0 offset=4 - local.set $2 - local.get $1 - i32.load $0 offset=12 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 13568 + i32.store $0 offset=8 local.get $0 - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer + i32.const 13568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1214 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner1 + local.get $2 + i32.store $0 offset=52 + local.get $2 + call $~lib/array/Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $1 - i32.const 1 - i32.sub - local.tee $0 - 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 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - end - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array#toString - else - i32.const 11568 - end - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - end - i32.const 11568 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=4 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.set $7 - loop $for-loop|023 - local.get $0 - local.get $6 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - local.get $8 - if - global.get $~lib/memory/__stack_pointer - local.set $9 - local.get $8 - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $9 - local.get $1 - local.get $8 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 - end - local.get $7 - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 11856 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 - end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|023 - end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $0 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $2 - local.get $1 - local.get $0 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14032 + i32.store $0 offset=8 + local.get $0 + i32.const 14032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1215 + 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 $3 + i32.store $0 offset=52 + local.get $3 + call $~lib/array/Array#toString + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15168 + i32.const 14064 i32.store $0 offset=8 - local.get $1 - i32.const 15168 + local.get $0 + i32.const 14064 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1235 + i32.const 1216 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2 - i32.const 2 - i32.const 42 + i32.const 3 i32.const 0 + i32.const 38 + i32.const 14112 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=412 + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=416 - local.get $1 - i32.const 0 - i32.const 2 + local.get $0 + i32.store $0 offset=52 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14144 + i32.store $0 offset=8 + local.get $0 + i32.const 14144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1218 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 0 - i32.const 7 - i32.const 15216 + i32.const 38 + i32.const 14176 call $~lib/rt/__newArray - call $~lib/array/Array#__set - local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14208 + i32.store $0 offset=8 + local.get $0 + i32.const 14208 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1219 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 i32.const 1 - i32.const 2 - i32.const 0 - i32.const 7 - i32.const 15248 + i32.const 11 + i32.const 14256 call $~lib/rt/__newArray - call $~lib/array/Array#__set + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 + i32.store $0 offset=52 local.get $1 - i32.store $0 offset=420 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 local.get $0 - i32.const 11856 i32.store $0 - i32.const 0 - local.set $6 local.get $1 - i32.load $0 offset=4 - local.set $2 + i32.const 11856 + i32.store $0 offset=4 local.get $1 - i32.load $0 offset=12 - local.set $1 - local.get $0 - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i64.const 0 i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $3 + local.get $2 + i32.const 11856 + i32.store $0 offset=4 i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - local.get $1 + local.set $0 + i32.const 0 + local.set $1 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $3 i32.const 1 i32.sub - local.tee $0 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + local.set $3 + br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer + block $folding-inner012 local.get $2 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array#toString - else - i32.const 11568 + i32.eqz + if + local.get $7 + i32.load16_u $0 + call $~lib/util/number/utoa32 + local.set $3 + br $folding-inner012 end - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.tee $3 + i32.const 11856 + i32.store $0 + local.get $3 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 10 i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> - end - i32.const 11568 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=4 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.set $7 - loop $for-loop|024 - local.get $0 - local.get $6 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer + local.get $2 + i32.mul + i32.const 10 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + loop $for-loop|013 + local.get $1 local.get $2 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - local.get $8 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.set $9 - local.get $8 - call $~lib/array/Array#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $9 + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $7 local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 local.get $8 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 - end - local.get $7 - if - global.get $~lib/memory/__stack_pointer + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $8 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $8 + i32.add + local.set $0 + end local.get $1 - i32.const 11856 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 + i32.const 1 + i32.add + local.set $1 + br $for-loop|013 end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|024 end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $0 - call $~lib/array/Array#toString - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $3 local.get $0 - i32.store $0 offset=8 + i32.const 1 + i32.shl + i32.add + local.get $7 local.get $2 - local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + call $~lib/util/number/itoa_buffered local.get $0 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 + i32.add + local.tee $0 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + call $~lib/string/String#substring + local.set $3 + br $folding-inner012 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray end 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 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 15168 + i32.const 14288 i32.store $0 offset=8 - local.get $1 - i32.const 15168 + local.get $3 + i32.const 14288 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1238 + i32.const 1220 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1 i32.const 2 - i32.const 44 - i32.const 0 + i32.const 1 + i32.const 39 + i32.const 14336 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=424 + local.set $0 global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=52 local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=428 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 43 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=432 + i32.const 16192 + i32.lt_s + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=436 - local.get $2 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 8 - i32.const 15280 - call $~lib/rt/__newArray - call $~lib/array/Array#__set + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const 0 - local.get $2 - call $~lib/array/Array#__set local.get $0 + i32.store $0 local.get $1 - i32.store $0 offset=440 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 11856 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.const 11856 i32.store $0 - i32.const 0 - local.set $6 - local.get $1 + local.get $0 i32.load $0 offset=4 - local.set $2 - local.get $1 + local.set $7 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=12 + local.set $3 + local.get $2 + i32.const 11856 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + i32.const 0 local.set $1 - local.get $0 - i32.const 12 + local.get $2 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - local.get $1 + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $3 i32.const 1 i32.sub - local.tee $0 + local.tee $2 i32.const 0 i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 11568 - local.set $1 - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + local.set $3 + br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $0 - i32.eqz - if - global.get $~lib/memory/__stack_pointer + block $folding-inner014 local.get $2 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if (result i32) - local.get $0 - call $~lib/array/Array<~lib/array/Array>#toString - else - i32.const 11568 + i32.eqz + if + local.get $7 + i32.load16_s $0 + call $~lib/util/number/itoa32 + local.set $3 + br $folding-inner014 end - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> - end - i32.const 11568 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 11568 - i32.store $0 offset=4 - i32.const 11852 - i32.load $0 - i32.const 1 - i32.shr_u - local.set $7 - loop $for-loop|025 - local.get $0 - local.get $6 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 11856 + i32.store $0 + local.get $3 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $8 + i32.const 11 + i32.add + local.get $2 + i32.mul + i32.const 11 + i32.add + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + loop $for-loop|015 + local.get $1 local.get $2 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $8 - i32.store $0 - local.get $8 + i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.set $9 - local.get $8 - call $~lib/array/Array<~lib/array/Array>#toString - local.set $8 - global.get $~lib/memory/__stack_pointer - local.get $8 - i32.store $0 offset=8 - local.get $9 + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $7 local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 local.get $8 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 - end - local.get $7 - if - global.get $~lib/memory/__stack_pointer + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $8 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $8 + i32.add + local.set $0 + end local.get $1 - i32.const 11856 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 + i32.const 1 + i32.add + local.set $1 + br $for-loop|015 end - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|025 end - end - global.get $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - if - global.get $~lib/memory/__stack_pointer - local.set $2 - local.get $0 - call $~lib/array/Array<~lib/array/Array>#toString - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $3 local.get $0 - i32.store $0 offset=8 + i32.const 1 + i32.shl + i32.add + local.get $7 local.get $2 - local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + call $~lib/util/number/itoa_buffered local.get $0 - call $~lib/string/String.__concat - local.tee $1 - i32.store $0 offset=4 + i32.add + local.tee $0 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + call $~lib/string/String#substring + local.set $3 + br $folding-inner014 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray end 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 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 13568 + i32.const 14368 i32.store $0 offset=8 - local.get $1 - i32.const 13568 + local.get $3 + i32.const 14368 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1552 - i32.const 1241 + i32.const 1221 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4 i32.const 2 - i32.const 29 - i32.const 0 + i32.const 2 + i32.const 4 + i32.const 14416 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + local.get $0 + call $~lib/array/Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14448 + i32.store $0 offset=8 + local.get $0 + i32.const 14448 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1222 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 3 + i32.const 40 + i32.const 14512 call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.store $0 offset=444 + local.get $0 + i32.store $0 offset=52 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=448 + local.get $0 + i32.store $0 local.get $1 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 4 - i32.const 15312 - call $~lib/rt/__newArray - call $~lib/array/Array#__set + i32.const 11856 + i32.store $0 offset=4 local.get $1 - i32.const 1 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 15344 - call $~lib/rt/__newArray - call $~lib/array/Array#__set + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 15376 - call $~lib/rt/__newArray - call $~lib/array/Array#__set + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 local.get $1 - i32.const 3 - i32.const 3 - i32.const 2 - i32.const 4 - i32.const 15408 - call $~lib/rt/__newArray - call $~lib/array/Array#__set local.get $0 - local.get $1 - i32.store $0 offset=452 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 11856 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/util/string/joinIntegerArray + local.set $0 + 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 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/array/Array<~lib/array/Array>#flat - local.tee $0 - i32.store $0 offset=456 + i32.const 14560 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 - i32.const 10 - i32.ne + i32.const 14560 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1552 - i32.const 1248 + i32.const 1223 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - loop $for-loop|7 - 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 1250 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|7 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4 - i32.const 2 - i32.const 45 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=460 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.load $0 offset=4 - i32.store $0 offset=464 - local.get $1 - i32.const 0 - i32.const 1 - i32.const 2 - i32.const 34 - i32.const 15472 - call $~lib/rt/__newArray - call $~lib/array/Array#__set - local.get $1 - i32.const 1 - i32.const 3 - i32.const 2 - i32.const 34 - i32.const 15568 - call $~lib/rt/__newArray - call $~lib/array/Array#__set - local.get $1 - i32.const 2 - i32.const 3 - i32.const 2 - i32.const 34 - i32.const 15696 - call $~lib/rt/__newArray - call $~lib/array/Array#__set - local.get $1 + i32.const 5 i32.const 3 - i32.const 1 - i32.const 2 - i32.const 34 - i32.const 15760 + i32.const 41 + i32.const 14640 call $~lib/rt/__newArray - call $~lib/array/Array#__set + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 + i32.store $0 offset=52 local.get $1 - i32.store $0 offset=468 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.set $7 + i32.const 16192 + i32.lt_s + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11856 + i32.store $0 offset=4 + local.get $1 i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer + local.tee $2 i64.const 0 i64.store $0 - local.get $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=4 - local.set $8 - local.get $1 + local.set $7 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=12 - local.set $9 + local.set $3 + local.get $2 + i32.const 11856 + i32.store $0 offset=4 i32.const 0 local.set $0 i32.const 0 local.set $1 - loop $for-loop|074 - local.get $1 - local.get $9 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray + local.get $3 + i32.const 1 + i32.sub + local.tee $2 + i32.const 0 i32.lt_s if - local.get $8 - local.get $1 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load $0 - local.tee $2 - if (result i32) - local.get $2 - i32.load $0 offset=12 - else - i32.const 0 + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $3 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner016 + local.get $2 + i32.eqz + if + block $__inlined_func$~lib/util/number/itoa64 (result i32) + local.get $7 + i64.load $0 + i64.extend32_s + local.set $4 + 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 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $4 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7712 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $4 + i64.sub + local.get $4 + local.get $4 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.tee $1 + select + local.tee $4 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $3 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + local.get $0 + local.get $1 + i32.add + local.get $2 + local.get $3 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $4 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $4 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $4 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $4 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $4 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $4 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $4 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $4 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $4 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $4 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $2 + i32.const 1 + i32.shl + local.get $1 + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + local.get $0 + local.get $1 + i32.add + local.get $4 + local.get $2 + call $~lib/util/number/utoa64_dec_lut + end + local.get $1 + if + local.get $0 + i32.const 45 + i32.store16 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + end + local.set $3 + br $folding-inner016 end - local.get $0 - i32.add - local.set $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 11856 + i32.store $0 + local.get $3 + i32.const 11852 + i32.load $0 i32.const 1 + i32.shr_u + local.tee $8 + i32.const 21 i32.add - local.set $1 - br $for-loop|074 - end - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 34 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 offset=4 - local.get $11 - local.get $0 - i32.store $0 offset=12 - local.get $11 - local.get $1 - i32.store $0 offset=8 - local.get $11 - local.get $10 - i32.store $0 offset=4 - local.get $11 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $11 - local.get $10 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - i32.const 0 - local.set $2 - i32.const 0 - local.set $6 - loop $for-loop|175 - local.get $6 - local.get $9 - i32.lt_s - if - local.get $8 - local.get $6 - i32.const 2 - i32.shl + local.get $2 + i32.mul + i32.const 21 i32.add - i32.load $0 - local.tee $1 - if - local.get $2 - local.get $10 - i32.add - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=12 - i32.const 2 - i32.shl - local.tee $1 - memory.copy $0 $0 + local.tee $9 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + loop $for-loop|018 local.get $1 local.get $2 - i32.add - local.set $2 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.set $0 + local.get $8 + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.const 11856 + local.get $8 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 + local.get $8 + i32.add + local.set $0 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|018 + end end - local.get $6 + local.get $3 + local.get $0 i32.const 1 + i32.shl i32.add - local.set $6 - br $for-loop|175 - end - end - i32.const 0 - local.set $1 - loop $for-loop|276 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $10 - local.get $1 - i32.const 2 + local.get $7 + local.get $2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.tee $2 + i64.load $0 + call $~lib/util/number/itoa_buffered + local.get $0 + i32.add + local.tee $0 + local.get $9 + i32.lt_s if - local.get $10 - local.get $2 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + call $~lib/string/String#substring + local.set $3 + br $folding-inner016 end - local.get $1 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $1 - br $for-loop|276 + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + 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 $7 - local.get $11 - i32.store $0 offset=472 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 $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14704 + i32.store $0 offset=8 + local.get $3 + i32.const 14704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7 i32.const 2 i32.const 34 - i32.const 15792 + i32.const 14864 call $~lib/rt/__newArray - local.tee $1 - i32.store $0 offset=476 - local.get $11 - i32.load $0 offset=12 - i32.const 8 - i32.ne + local.tee $0 + i32.store $0 offset=396 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14912 + i32.store $0 offset=8 + local.get $0 + i32.const 14912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1231 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 4 + i32.const 2 + i32.const 34 + i32.const 15024 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 15072 + i32.store $0 offset=8 + local.get $0 + i32.const 15072 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1552 - i32.const 1256 + i32.const 1232 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - loop $for-loop|8 - local.get $0 - local.get $1 - i32.load $0 offset=12 - i32.lt_s - if - local.get $11 - local.get $0 - call $~lib/array/Array#__get - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 - local.get $1 - local.get $0 - call $~lib/array/Array#__get - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 offset=8 - local.get $2 - local.get $6 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1552 - i32.const 1258 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|8 - end - end global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 2 @@ -27181,42 +30106,264 @@ i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=480 + i32.store $0 offset=400 global.get $~lib/memory/__stack_pointer local.get $1 i32.load $0 offset=4 - i32.store $0 offset=484 + i32.store $0 offset=404 local.get $1 i32.const 0 - i32.const 0 + i32.const 2 i32.const 2 i32.const 4 - i32.const 15856 + i32.const 15104 call $~lib/rt/__newArray call $~lib/array/Array#__set local.get $1 i32.const 1 - i32.const 0 + i32.const 2 i32.const 2 i32.const 4 - i32.const 15888 + i32.const 15136 call $~lib/rt/__newArray call $~lib/array/Array#__set local.get $0 local.get $1 - i32.store $0 offset=488 + i32.store $0 offset=408 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/array/Array<~lib/array/Array>#flat - local.set $0 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.set $2 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=12 + local.set $3 + local.get $0 + i32.const 11856 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 20 + memory.fill $0 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $0 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/array/Array#toString + else + i32.const 11568 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 11568 + i32.store $0 offset=8 + local.get $7 + i32.const 11856 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $7 + loop $for-loop|020 + local.get $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.store $0 + local.get $8 + if + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $0 + i32.store $0 offset=4 + local.get $9 + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $9 + local.get $0 + local.get $8 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $0 + i32.store $0 offset=4 + local.get $8 + i32.const 11856 + i32.store $0 offset=12 + local.get $8 + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|020 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/array/Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $0 + local.get $1 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + 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 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 15168 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 + i32.const 15168 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1552 - i32.const 1262 + i32.const 1235 i32.const 3 call $~lib/builtins/abort unreachable @@ -27225,1340 +30372,1270 @@ local.tee $0 i32.const 2 i32.const 2 - i32.const 29 + i32.const 42 i32.const 0 call $~lib/rt/__newArray local.tee $1 - i32.store $0 offset=492 + i32.store $0 offset=412 global.get $~lib/memory/__stack_pointer local.get $1 i32.load $0 offset=4 - i32.store $0 offset=496 + i32.store $0 offset=416 local.get $1 i32.const 0 - i32.const 1 i32.const 2 - i32.const 4 - i32.const 15920 + i32.const 0 + i32.const 7 + i32.const 15216 call $~lib/rt/__newArray call $~lib/array/Array#__set local.get $1 i32.const 1 - i32.const 1 i32.const 2 - i32.const 4 - i32.const 15952 + i32.const 0 + i32.const 7 + i32.const 15248 call $~lib/rt/__newArray call $~lib/array/Array#__set local.get $0 local.get $1 - i32.store $0 offset=500 - global.get $~lib/memory/__stack_pointer - local.set $2 + i32.store $0 offset=420 global.get $~lib/memory/__stack_pointer - i32.const 15984 - i32.store $0 offset=348 + local.get $1 + i32.store $0 offset=52 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 16192 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner2 global.get $~lib/memory/__stack_pointer local.tee $0 i64.const 0 i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 local.get $1 - i32.load $0 offset=12 - local.tee $6 - i32.const 2 - i32.const 29 - i32.const 0 - call $~lib/rt/__newArray - local.tee $7 i32.store $0 - local.get $7 - i32.load $0 offset=4 - local.set $8 - i32.const 0 - local.set $0 - loop $for-loop|0501 - local.get $0 - local.get $6 - local.get $1 - i32.load $0 offset=12 - local.tee $9 - local.get $6 - local.get $9 - i32.lt_s - select - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.tee $9 - local.get $0 - i32.const 2 - i32.shl - local.tee $10 - local.get $1 - i32.load $0 offset=4 - i32.add - i32.load $0 - local.tee $11 - i32.store $0 offset=4 - i32.const 3 - global.set $~argumentsLength - local.get $9 - local.get $11 - local.get $0 - local.get $1 - i32.const 15984 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.tee $9 - i32.store $0 offset=8 - local.get $8 - local.get $10 - i32.add - local.get $9 - i32.store $0 - local.get $9 - if - local.get $7 - local.get $9 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0501 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add + local.get $0 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 - local.get $2 - local.get $7 - call $~lib/array/Array<~lib/array/Array>#flat + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer local.tee $0 - i32.store $0 offset=504 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 offset=12 - i32.const 4 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1272 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $3 local.get $0 + i32.const 11856 + i32.store $0 offset=4 i32.const 0 - call $~lib/array/Array#__get - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1273 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1274 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1275 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $1 local.get $0 - i32.const 3 - call $~lib/array/Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1552 - i32.const 1276 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/array/arr - i32.const 0 - global.set $std/array/inputStabArr - i32.const 0 - global.set $std/array/outputStabArr - i32.const 48960 + i32.const 20 + i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.gt_s - if - loop $while-continue|0506 - global.get $~lib/rt/itcms/state + i32.const 20 + memory.fill $0 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $0 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/array/Array#toString + else + i32.const 11568 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array> + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 11568 + i32.store $0 offset=8 + local.get $7 + i32.const 11856 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $7 + loop $for-loop|021 + local.get $1 + local.get $3 + i32.lt_s if - call $~lib/rt/itcms/step - drop - br $while-continue|0506 + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.store $0 + local.get $8 + if + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $0 + i32.store $0 offset=4 + local.get $9 + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $9 + local.get $0 + local.get $8 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $0 + i32.store $0 offset=4 + local.get $8 + i32.const 11856 + i32.store $0 offset=12 + local.get $8 + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|021 end end - end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/array/Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $0 + local.get $1 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer 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 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - global.set $~lib/rt/itcms/threshold + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 508 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - return - end - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/array/Array#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $0 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $0 - local.get $0 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $2 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $2 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $3 - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $2 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/Ref#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15168 + i32.store $0 offset=8 + local.get $0 + i32.const 15168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1238 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 + i32.const 2 + i32.const 44 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=424 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=428 + global.get $~lib/memory/__stack_pointer i32.const 1 + i32.const 2 + i32.const 43 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=432 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 offset=4 + i32.store $0 offset=436 + local.get $2 + i32.const 0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 - i32.store $0 - local.get $0 - local.get $1 - i32.shl - local.tee $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.set $1 - local.get $3 - if + i32.const 2 + i32.const 8 + i32.const 15280 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $1 - local.get $3 - local.get $5 - memory.copy $0 $0 - end - local.get $4 - local.get $1 - i32.store $0 - i32.const 16 - local.get $2 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $1 - i32.store $0 - local.get $1 - if + i32.const 0 local.get $2 + call $~lib/array/Array#__set + local.get $0 + local.get $1 + i32.store $0 offset=440 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 11856 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.set $2 + local.get $0 + local.get $1 + i32.store $0 local.get $1 + i32.load $0 offset=12 + local.set $3 + local.get $0 + i32.const 11856 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 20 + memory.fill $0 + block $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + local.get $3 + i32.const 1 + i32.sub + local.tee $3 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 11568 + local.set $0 + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/array/Array<~lib/array/Array>#toString + else + i32.const 11568 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinReferenceArray<~lib/array/Array<~lib/array/Array>> + end + i32.const 11568 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 11568 + i32.store $0 offset=8 + local.get $7 + i32.const 11856 + i32.store $0 offset=4 + i32.const 11852 + i32.load $0 + i32.const 1 + i32.shr_u + local.set $7 + loop $for-loop|022 + local.get $1 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.store $0 + local.get $8 + if + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $0 + i32.store $0 offset=4 + local.get $9 + local.get $8 + i32.store $0 offset=16 + local.get $8 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $9 + local.get $0 + local.get $8 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $0 + i32.store $0 offset=4 + local.get $8 + i32.const 11856 + i32.store $0 offset=12 + local.get $8 + local.get $0 + i32.const 11856 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|022 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $0 + local.get $1 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + 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 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13568 + i32.store $0 offset=8 + local.get $0 + i32.const 13568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1241 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4 + i32.const 2 + i32.const 29 i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $5 - i32.store $0 offset=8 - local.get $2 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/internalCapacity (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_s - local.set $0 - local.get $1 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/array/Array#concat (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.tee $3 - local.get $1 - i32.load $0 offset=12 - local.tee $2 - i32.add - local.tee $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1056 - i32.const 1104 - i32.const 224 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.tee $5 - local.get $0 - i32.load $0 offset=4 - local.get $3 - i32.const 2 - i32.shl - local.tee $0 - memory.copy $0 $0 - local.get $0 - local.get $5 - i32.add - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/array/Array#slice (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=444 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=448 local.get $1 - local.get $3 - i32.add - local.tee $1 i32.const 0 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 15312 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $1 - i32.const 0 - i32.gt_s - select - else + i32.const 1 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 15344 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $1 - local.get $3 + i32.const 2 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 15376 + call $~lib/rt/__newArray + call $~lib/array/Array#__set 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 3 + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 15408 + call $~lib/rt/__newArray + call $~lib/array/Array#__set + local.get $0 + local.get $1 + i32.store $0 offset=452 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + call $~lib/array/Array<~lib/array/Array>#flat + local.tee $0 + i32.store $0 offset=456 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 10 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1248 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.get $2 + local.set $3 + loop $for-loop|7 + local.get $3 + i32.const 10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.get $3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1250 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|7 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4 + i32.const 2 + i32.const 45 i32.const 0 - i32.gt_s - select - else + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=460 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $3 + i32.load $0 offset=4 + i32.store $0 offset=464 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 $2 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.const 2 - i32.shl - memory.copy $0 $0 - 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 (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 + i32.const 0 i32.const 1 + i32.const 2 + i32.const 34 + i32.const 15472 + call $~lib/rt/__newArray + call $~lib/array/Array#__set + local.get $2 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $2 - local.get $0 - i32.load $0 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 $4 - i32.sub - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $5 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.tee $2 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $6 - local.get $5 - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $4 - local.get $5 - i32.add - local.tee $4 - local.get $3 - i32.ne - if - local.get $6 + i32.const 3 + i32.const 2 + i32.const 34 + i32.const 15568 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $2 - local.get $4 i32.const 2 - i32.shl - i32.add - local.get $3 - local.get $4 - i32.sub + i32.const 3 i32.const 2 - i32.shl - memory.copy $0 $0 - end - local.get $0 - local.get $3 - local.get $5 - i32.sub - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/array/Array#splice (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 + i32.const 34 + i32.const 15696 + call $~lib/rt/__newArray + call $~lib/array/Array#__set + local.get $2 + i32.const 3 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 2 - local.get $0 - i32.load $0 offset=12 - local.tee $4 - 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 2 + i32.const 34 + i32.const 15760 + call $~lib/rt/__newArray + call $~lib/array/Array#__set + local.get $0 + local.get $2 + i32.store $0 offset=468 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.set $7 i32.const 0 - local.get $1 + local.set $0 i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $4 - local.get $1 - local.get $4 + local.set $1 + 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 16192 i32.lt_s - select - end - local.tee $5 - i32.sub - local.tee $1 - local.get $1 - i32.const 2 - i32.gt_s - select - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $3 - i32.const 2 - i32.const 10 - i32.const 0 - call $~lib/rt/__newArray - local.tee $6 - i32.store $0 - local.get $6 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $5 - i32.const 2 - i32.shl - i32.add - local.tee $2 - local.get $3 - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $4 - local.get $3 - local.get $5 - i32.add - local.tee $5 - i32.ne - if + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $2 - local.get $1 - local.get $5 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.set $8 + local.get $3 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=12 + local.set $9 + i32.const 0 + local.set $3 + loop $for-loop|023 + local.get $3 + local.get $9 + i32.lt_s + if + local.get $8 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $2 + if (result i32) + local.get $2 + i32.load $0 offset=12 + else + i32.const 0 + end + local.get $0 + i32.add + local.set $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|023 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 2 i32.shl + local.tee $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 34 + call $~lib/rt/itcms/__new + local.tee $10 + i32.store $0 offset=8 + local.get $10 + local.get $0 + i32.store $0 offset=12 + local.get $10 + local.get $2 + i32.store $0 offset=8 + local.get $10 + local.get $3 + i32.store $0 offset=4 + local.get $10 + local.get $3 + i32.store $0 + i32.const 0 + local.set $2 + local.get $3 + if + local.get $10 + local.get $3 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + loop $for-loop|124 + local.get $2 + local.get $9 + i32.lt_s + if + local.get $8 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $11 + if + local.get $1 + local.get $3 + i32.add + local.get $11 + i32.load $0 offset=4 + local.get $11 + i32.load $0 offset=12 + i32.const 2 + i32.shl + local.tee $11 + memory.copy $0 $0 + local.get $1 + local.get $11 + i32.add + local.set $1 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|124 + end + end + i32.const 0 + local.set $2 + loop $for-loop|225 + local.get $0 + local.get $2 + i32.gt_s + if + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + if + local.get $3 + local.get $1 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|225 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.get $4 - local.get $5 - i32.sub + global.set $~lib/memory/__stack_pointer + local.get $7 + local.get $10 + i32.store $0 offset=472 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.const 2 - i32.shl - memory.copy $0 $0 - end - local.get $0 - local.get $4 - local.get $3 - i32.sub - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 6416 - i32.const 1104 - i32.const 118 - 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#__get (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1344 - i32.const 1104 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $2 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/util/number/itoa32 (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.eqz - if + i32.const 34 + i32.const 15792 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=476 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/array/Array#get:length + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1256 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $1 + loop $for-loop|8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.get $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=52 + local.get $10 + local.get $1 + call $~lib/array/Array#__get + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + 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 $0 offset=8 + local.get $2 + local.get $3 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1552 + i32.const 1258 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|8 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=480 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=484 + local.get $1 + i32.const 0 + i32.const 0 + i32.const 2 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7712 - return - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - i32.sub - local.get $0 - local.get $0 - i32.const 31 - i32.shr_u - i32.const 1 - i32.shl - local.tee $0 - select - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - local.get $0 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $0 - local.get $3 - i32.add - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - local.get $0 - if - local.get $3 - i32.const 45 - i32.store16 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/array/Array#map (type $i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 + i32.const 15856 + call $~lib/rt/__newArray + call $~lib/array/Array#__set + local.get $1 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - i32.load $0 offset=12 - local.tee $3 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $3 + i32.const 0 + i32.const 2 + i32.const 4 + i32.const 15888 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $0 - i32.load $0 offset=12 - local.tee $5 - local.get $3 - local.get $5 - i32.lt_s - select - i32.lt_s + local.get $1 + i32.store $0 offset=488 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/array/Array<~lib/array/Array>#flat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length if - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load $0 - local.set $6 + i32.const 0 + i32.const 1552 + i32.const 1262 i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $5 - i32.add - local.get $6 - local.get $2 - local.get $0 - local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + 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#filter (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=492 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.load $0 offset=4 + i32.store $0 offset=496 + local.get $2 + i32.const 0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 2 - i32.const 4 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store $0 - local.get $0 - i32.load $0 offset=12 - local.set $3 - loop $for-loop|0 + i32.const 2 + i32.const 4 + i32.const 15920 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $2 - local.get $3 + i32.const 1 + i32.const 1 + i32.const 2 + i32.const 4 + i32.const 15952 + call $~lib/rt/__newArray + call $~lib/array/Array#__set local.get $0 - i32.load $0 offset=12 - local.tee $5 - local.get $3 - local.get $5 - i32.lt_s - select + local.get $2 + i32.store $0 offset=500 + global.get $~lib/memory/__stack_pointer + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 15984 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16192 i32.lt_s - if - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - i32.const 3 - global.set $~argumentsLength - local.get $5 + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 + i32.load $0 offset=12 + local.tee $3 + i32.const 2 + i32.const 29 + i32.const 0 + call $~lib/rt/__newArray + local.tee $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.set $8 + i32.const 0 + local.set $1 + loop $for-loop|069 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $0 + i32.store $0 local.get $1 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $3 + local.get $2 + i32.load $0 offset=12 + local.tee $9 + local.get $3 + local.get $9 + i32.lt_s + select + i32.lt_s if - local.get $4 - local.get $5 - call $~lib/array/Array#push + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $2 + i32.store $0 offset=8 + local.get $9 + local.get $1 + i32.const 2 + i32.shl + local.tee $10 + local.get $2 + i32.load $0 offset=4 + i32.add + i32.load $0 + local.tee $11 + i32.store $0 + local.get $9 + local.get $2 + i32.store $0 offset=8 + i32.const 3 + global.set $~argumentsLength + local.get $9 + local.get $11 + local.get $1 + local.get $2 + i32.const 15984 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + local.tee $9 + i32.store $0 offset=12 + local.get $8 + local.get $10 + i32.add + local.get $9 + i32.store $0 + local.get $9 + if + local.get $7 + local.get $9 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|069 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 - local.get $4 - ) - (func $std/array/Dim#constructor (type $none_=>_i32) (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 - block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 + local.get $7 i32.store $0 local.get $0 - i32.const 8 - i32.const 22 - call $~lib/rt/itcms/__new + local.get $7 + call $~lib/array/Array<~lib/array/Array>#flat local.tee $0 - i32.store $0 + i32.store $0 offset=504 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1272 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - br_if $folding-inner0 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1273 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1274 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1275 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + call $~lib/array/Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1552 + i32.const 1276 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + global.set $std/array/arr + i32.const 0 + global.set $std/array/inputStabArr + i32.const 0 + global.set $std/array/outputStabArr + i32.const 48960 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state i32.const 0 - i32.store $0 - local.get $0 - i32.eqz + i32.gt_s if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + loop $while-continue|074 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|074 + end + end end - global.get $~lib/memory/__stack_pointer - i32.const 4 + 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/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 + global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 508 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 return end i32.const 48992 @@ -28568,161 +31645,9 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/array/Array#sort@varargs (type $i32_=>_none) (param $0 i32) - (local $1 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 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 10256 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 10256 - i32.store $0 - end - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=12 - local.get $1 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/array/createReverseOrderedArray (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - call $~lib/array/Array#constructor - local.tee $2 - i32.store $0 - 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 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/array/createRandomOrderedArray (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.lt_s - if - i32.const 48992 - i32.const 49040 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - local.get $0 - call $~lib/array/Array#constructor - local.tee $2 - i32.store $0 - 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_sat_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 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#substring (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (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 @@ -28739,93 +31664,58 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 0 i32.store $0 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - 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 11568 - return - end - local.get $3 - i32.eqz - local.get $4 local.get $1 - i32.const 1 i32.shl - i32.eq - i32.and + local.tee $5 + i32.const 1 + call $~lib/rt/itcms/__new + local.set $1 + local.get $3 if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + local.get $1 + local.get $3 + local.get $5 + memory.copy $0 $0 end - global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $1 + i32.store $0 + i32.const 16 local.get $2 - i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 + local.get $1 i32.store $0 local.get $1 - local.get $0 - local.get $3 - i32.add + if + local.get $2 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end local.get $2 - memory.copy $0 $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 offset=12 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/util/number/utoa32 (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/util/number/itoa32 (type $i32_=>_i32) (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 @@ -28855,78 +31745,95 @@ return end global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $0 + i32.sub local.get $0 + local.get $0 + i32.const 31 + i32.shr_u + i32.const 1 + i32.shl + local.tee $0 + select + local.tee $2 i32.const 100000 i32.lt_u if (result i32) - local.get $0 + local.get $2 i32.const 100 i32.lt_u if (result i32) - local.get $0 + local.get $2 i32.const 10 i32.ge_u i32.const 1 i32.add else - 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 end else - local.get $0 + local.get $2 i32.const 10000000 i32.lt_u if (result i32) - local.get $0 + local.get $2 i32.const 1000000 i32.ge_u i32.const 6 i32.add else - 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 end end - local.tee $2 + local.tee $1 i32.const 1 i32.shl + local.get $0 + i32.add i32.const 2 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $3 i32.store $0 - local.get $1 local.get $0 + local.get $3 + i32.add local.get $2 + local.get $1 call $~lib/util/number/utoa32_dec_lut + local.get $0 + if + local.get $3 + i32.const 45 + i32.store16 $0 + end 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<~lib/array/Array>#flat (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32 (type $i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -28941,119 +31848,81 @@ unreachable end global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.store $0 local.get $0 - i32.load $0 offset=4 - local.set $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7712 + return + end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - local.set $5 - loop $for-loop|0 - local.get $2 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $2 - i32.const 2 - i32.shl + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 i32.add - i32.load $0 - local.tee $0 - if (result i32) - local.get $0 - i32.load $0 offset=12 - else - i32.const 0 - end - local.get $1 + else + local.get $0 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add - local.set $1 - local.get $2 - i32.const 1 + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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.set $2 - br $for-loop|0 end end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - i32.shl local.tee $2 i32.const 1 + i32.shl + i32.const 2 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 - local.get $0 local.get $1 - i32.store $0 offset=12 local.get $0 local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $6 - i32.store $0 offset=4 - local.get $0 - local.get $6 - i32.store $0 - local.get $6 - if - local.get $0 - local.get $6 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $3 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $2 - if - local.get $1 - local.get $6 - i32.add - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=12 - i32.const 2 - i32.shl - local.tee $2 - memory.copy $0 $0 - local.get $1 - local.get $2 - i32.add - local.set $1 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|1 - end - end + call $~lib/util/number/utoa32_dec_lut 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 $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/arraybuffer.debug.wat b/tests/compiler/std/arraybuffer.debug.wat index 663fc3a926..f924e23a59 100644 --- a/tests/compiler/std/arraybuffer.debug.wat +++ b/tests/compiler/std/arraybuffer.debug.wat @@ -2583,31 +2583,6 @@ local.get $this i32.load $0 ) - (func $~lib/dataview/DataView#constructor@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength 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 $byteOffset - end - local.get $buffer - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $byteLength - end - local.get $this - local.get $buffer - local.get $byteOffset - local.get $byteLength - call $~lib/dataview/DataView#constructor - ) (func $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 drop @@ -2717,14 +2692,6 @@ local.get $this i32.load $0 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2921,138 +2888,654 @@ unreachable end ) - (func $start:std/arraybuffer (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $length 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 $outSize i32) + (local $out i32) + (local $16 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 - i32.const 0 - i32.const 20 - memory.fill $0 - memory.size $0 - 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 + i64.const 0 + i64.store $0 + local.get $this + local.set $16 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 8 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 + local.get $16 i32.store $0 - local.get $0 + local.get $16 call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 4 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 + local.set $length + local.get $begin i32.const 0 - i32.const 1073741820 - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 8 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $length + local.get $begin + i32.add + local.tee $4 i32.const 0 - i32.const 544 - i32.const 8 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $begin + local.tee $6 + local.get $length + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select end - local.get $1 - local.get $0 - i32.ne - i32.eqz - if + local.set $begin + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $length + local.get $end + i32.add + local.tee $8 i32.const 0 - i32.const 544 - i32.const 9 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $length + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select end + local.set $end + local.get $end + local.get $begin + i32.sub + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + local.set $outSize global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $outSize i32.const 1 - i32.const 1073741820 - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 + call $~lib/rt/itcms/__new + local.tee $out i32.store $0 offset=4 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 13 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $out + local.get $this + local.get $begin + i32.add + local.get $outSize + memory.copy $0 $0 + local.get $out + local.set $16 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 $0 offset=4 - local.get $1 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - i32.const 1 - i32.eq + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this i32.eqz if - i32.const 0 - i32.const 544 - i32.const 17 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 1 - i32.const 3 - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $1 + local.get $4 i32.store $0 offset=4 - local.get $1 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $length + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + local.get $alignLog2 + i32.shl + local.tee $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $length + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result i32) + (local $dataStart 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength + local.get $byteLength + i32.const 1073741820 + i32.gt_u + local.get $byteOffset + local.get $byteLength + i32.add + local.get $buffer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 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 $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $buffer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/dataview/DataView#set:buffer + local.get $buffer + local.get $byteOffset + i32.add + local.set $dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $dataStart + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $byteLength + call $~lib/dataview/DataView#set:byteLength + local.get $this + 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/dataview/DataView#constructor@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result 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 $0 + 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 $byteOffset + end + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $byteLength + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $byteOffset + local.get $byteLength + call $~lib/dataview/DataView#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $start:std/arraybuffer (type $none_=>_none) + (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 + i32.const 0 + i32.const 20 + memory.fill $0 + memory.size $0 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 8 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store $0 + local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 4 + 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 $0 offset=4 + local.get $5 + i32.const 0 + i32.const 1073741820 + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $1 + local.get $0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 9 + 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 $0 offset=4 + local.get $5 + i32.const 1 + i32.const 1073741820 + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 13 + 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 $0 offset=4 + local.get $5 + i32.const -1 + i32.const 1073741820 + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 17 + 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 $0 offset=4 + local.get $5 + i32.const 1 + i32.const 3 + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -3067,12 +3550,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 6 i32.eq @@ -3087,12 +3580,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 2 i32.eq @@ -3107,12 +3610,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.eq @@ -3127,12 +3640,22 @@ end global.get $~lib/memory/__stack_pointer local.get $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 42 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice local.tee $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 0 i32.eq @@ -3234,7 +3757,7 @@ i32.const 1 call $~lib/typedarray/Uint8Array#constructor local.tee $2 - i32.store $0 offset=8 + i32.store $0 offset=12 i32.const 2 i32.const 2 i32.const 4 @@ -3243,7 +3766,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/array/Array> i32.eqz @@ -3257,6 +3780,11 @@ unreachable end local.get $2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Uint8Array> i32.eqz if @@ -3273,7 +3801,7 @@ local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $5 call $~lib/arraybuffer/ArrayBuffer.isView<~lib/typedarray/Int32Array> i32.eqz @@ -3287,296 +3815,111 @@ end i32.const 0 local.get $2 - call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 i32.store $0 offset=16 local.get $5 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/dataview/DataView#constructor@varargs + call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $5 global.get $~lib/memory/__stack_pointer local.get $5 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $5 - call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 51 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - 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 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer 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 $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $length 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 $outSize i32) - (local $out i32) - (local $16 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $length - local.get $begin - i32.const 0 - i32.lt_s - if (result i32) - local.get $length - local.get $begin - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $begin - local.tee $6 - local.get $length - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $begin - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $length - local.get $end - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $length - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select + global.set $~argumentsLength + i32.const 0 + call $~lib/dataview/DataView#constructor@varargs + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBuffer.isView<~lib/dataview/DataView> + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 51 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $end - local.get $end - local.get $begin + 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 20 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - local.set $outSize + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 0 i32.store $0 - local.get $out + i32.const 0 + drop local.get $this - local.get $begin - i32.add - local.get $outSize - memory.copy $0 $0 - local.get $out - local.set $16 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - return ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $buffer i32) - (local $4 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength + i32.store $0 local.get $length i32.const 1073741820 - local.get $alignLog2 - i32.shr_u i32.gt_u if i32.const 32 i32.const 80 - i32.const 19 - i32.const 57 + i32.const 52 + i32.const 43 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.get $length - local.get $alignLog2 - i32.shl - local.tee $length i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop - local.get $this local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.get $length - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $this - 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/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $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 + return ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) (local $bufferSize i32) @@ -3631,108 +3974,4 @@ local.get $7 return ) - (func $~lib/typedarray/Int32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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 (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result i32) - (local $dataStart 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:byteLength - local.get $byteLength - i32.const 1073741820 - i32.gt_u - local.get $byteOffset - local.get $byteLength - i32.add - local.get $buffer - 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 $this - local.get $buffer - call $~lib/dataview/DataView#set:buffer - local.get $buffer - local.get $byteOffset - i32.add - local.set $dataStart - local.get $this - local.get $dataStart - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.get $byteLength - call $~lib/dataview/DataView#set:byteLength - local.get $this - 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/arraybuffer.release.wat b/tests/compiler/std/arraybuffer.release.wat index 7bac5e4e8d..de84c8a494 100644 --- a/tests/compiler/std/arraybuffer.release.wat +++ b/tests/compiler/std/arraybuffer.release.wat @@ -18,6 +18,7 @@ (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 34552)) (memory $0 1) (data (i32.const 1036) ",") @@ -1567,6 +1568,7 @@ end ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $folding-inner0 block $invalid block $~lib/array/Array @@ -1585,6 +1587,28 @@ end return end + 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 1784 + i32.lt_s + if + i32.const 34576 + i32.const 34624 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.tee $0 @@ -1592,6 +1616,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end unreachable @@ -1607,23 +1635,222 @@ (func $~start (type $none_=>_none) call $start:std/arraybuffer ) + (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1784 + i32.lt_s + if + i32.const 34576 + i32.const 34624 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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 $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $1 + i32.add + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1784 + i32.lt_s + if + i32.const 34576 + i32.const 34624 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 1073741820 + local.get $1 + i32.shr_u + i32.eqz + if + i32.const 1056 + i32.const 1104 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1 + local.get $1 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $start:std/arraybuffer (type $none_=>_none) (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1784 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.const 20 memory.fill $0 @@ -1659,32 +1886,35 @@ i32.store $0 i32.const 1456 global.set $~lib/rt/itcms/fromSpace - local.get $0 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1784 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 + local.get $2 i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 local.get $1 + local.get $2 i32.store $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1699,13 +1929,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const 0 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1719,8 +1956,8 @@ call $~lib/builtins/abort unreachable end - local.get $0 local.get $1 + local.get $2 i32.eq if i32.const 0 @@ -1731,13 +1968,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const 1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1752,13 +1996,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const -1 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1773,13 +2024,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const 1 i32.const 3 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1794,13 +2052,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const 1 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1815,13 +2080,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const -3 i32.const -1 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1836,13 +2108,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const -4 i32.const 42 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1857,13 +2136,20 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 local.get $1 + local.get $2 i32.const 42 i32.const 1073741820 call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1875,7 +2161,7 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -1886,37 +2172,41 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4 + local.tee $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1784 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 12 i32.const 6 call $~lib/rt/itcms/__new - local.tee $1 + local.tee $2 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $3 + local.get $2 i32.const 0 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $2 + local.tee $3 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.store $0 offset=8 + local.get $1 + local.get $3 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1924,30 +2214,30 @@ global.get $~lib/memory/__stack_pointer i32.const 1784 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i32.const 0 i32.store $0 i32.const 8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $4 i32.const 1632 i64.load $0 align=1 i64.store $0 align=1 - local.get $0 - local.get $3 + local.get $1 + local.get $4 i32.store $0 i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $0 - local.get $3 + local.tee $1 + local.get $4 i32.store $0 - local.get $3 + local.get $4 if - local.get $0 + local.get $1 i32.eqz if i32.const 0 @@ -1958,50 +2248,50 @@ unreachable end global.get $~lib/rt/itcms/white - local.get $3 + local.get $4 i32.const 20 i32.sub - local.tee $1 + local.tee $2 i32.load $0 offset=4 i32.const 3 i32.and i32.eq if - local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=4 i32.const 3 i32.and - local.tee $4 + local.tee $5 global.get $~lib/rt/itcms/white i32.eqz i32.eq if - local.get $1 + local.get $2 call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $4 + local.get $5 i32.const 3 i32.eq i32.and if - local.get $1 + local.get $2 call $~lib/rt/itcms/Object#makeGray end end end end - local.get $0 - local.get $3 + local.get $1 + local.get $4 i32.store $0 offset=4 - local.get $0 + local.get $1 i32.const 8 i32.store $0 offset=8 - local.get $0 + local.get $1 i32.const 2 i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer @@ -2009,110 +2299,194 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1784 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 12 i32.const 10 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 i32.const 2 call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 + local.get $1 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 - local.tee $0 + local.get $3 i32.store $0 offset=16 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $1 - 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 1784 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 12 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.get $1 - i32.lt_u - local.get $1 - i32.const 1073741820 - i32.gt_u - i32.or - if - i32.const 1056 - i32.const 1664 - i32.const 25 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $3 + i32.load $0 + local.tee $1 + i32.store $0 offset=16 + i32.const 1 + global.set $~argumentsLength + block $__inlined_func$~lib/dataview/DataView#constructor@varargs (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1784 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1784 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 12 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.get $0 + i32.lt_u + local.get $0 + i32.const 1073741820 + i32.gt_u + i32.or + if + i32.const 1056 + i32.const 1664 + i32.const 25 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $2 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + br $__inlined_func$~lib/dataview/DataView#constructor@varargs + end + br $folding-inner1 end - local.get $2 - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $2 + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 - 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 $0 offset=12 i32.const 34552 global.set $~lib/memory/__stack_pointer global.get $~lib/rt/itcms/state @@ -2161,175 +2535,6 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1784 - i32.lt_s - if - i32.const 34576 - i32.const 34624 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 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 $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - local.get $1 - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1784 - i32.lt_s - if - i32.const 34576 - i32.const 34624 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - 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 $0 - end - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - i32.const 0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 1073741820 - local.get $1 - i32.shr_u - i32.eqz - if - i32.const 1056 - i32.const 1104 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1 - local.get $1 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/console.debug.wat b/tests/compiler/std/console.debug.wat index d14431e00c..cf22e0b62e 100644 --- a/tests/compiler/std/console.debug.wat +++ b/tests/compiler/std/console.debug.wat @@ -35,60 +35,222 @@ (elem $0 (i32.const 1)) (export "memory" (memory $0)) (start $~start) + (func $~start (type $none_=>_none) + call $start:std/console + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33376 + i32.const 33424 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/console/console.assert (type $i32_i32_=>_none) (param $condition i32) (param $message 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 $0 local.get $condition i32.eqz i32.eqz local.get $message + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/bindings/dom/console.assert + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.log (type $i32_=>_none) (param $message 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 $0 local.get $message + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.log + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.debug (type $i32_=>_none) (param $message 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 $0 local.get $message + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.debug + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.info (type $i32_=>_none) (param $message 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 $0 local.get $message + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.info + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.warn (type $i32_=>_none) (param $message 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 $0 local.get $message + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.warn + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.error (type $i32_=>_none) (param $message 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 $0 local.get $message + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.error + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.time (type $i32_=>_none) (param $label 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 $0 local.get $label + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.time + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.timeLog (type $i32_=>_none) (param $label 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 $0 local.get $label + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.timeLog + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/console/console.timeEnd (type $i32_=>_none) (param $label 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 $0 local.get $label + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/bindings/dom/console.timeEnd - ) - (func $~start (type $none_=>_none) - call $start:std/console - ) - (func $~stack_check (type $none_=>_none) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33376 - i32.const 33424 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:std/console (type $none_=>_none) (local $0 i32) diff --git a/tests/compiler/std/console.release.wat b/tests/compiler/std/console.release.wat index f4329fb554..aefcb4f7fc 100644 --- a/tests/compiler/std/console.release.wat +++ b/tests/compiler/std/console.release.wat @@ -51,6 +51,202 @@ i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1056 + i32.store $0 + i32.const 0 + i32.const 1056 + call $~lib/console/console.assert + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 + i32.const 1 + i32.const 1088 + call $~lib/console/console.assert + global.get $~lib/memory/__stack_pointer + i32.const 1120 + i32.store $0 offset=4 + i32.const 1120 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 1168 + i32.store $0 offset=4 + 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 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1168 + i32.store $0 + i32.const 1168 + call $~lib/bindings/dom/console.debug + 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 1216 + i32.store $0 offset=4 + 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 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1216 + i32.store $0 + i32.const 1216 + call $~lib/bindings/dom/console.info + 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 $0 offset=4 + 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 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1264 + i32.store $0 + i32.const 1264 + call $~lib/bindings/dom/console.warn + 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 1312 + i32.store $0 offset=4 + 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 1612 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1312 + i32.store $0 + i32.const 1312 + call $~lib/bindings/dom/console.error + 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 $0 offset=4 + i32.const 1360 + call $~lib/console/console.time + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 offset=4 + i32.const 1360 + call $~lib/console/console.timeLog + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 offset=4 + i32.const 1360 + call $~lib/console/console.timeEnd + global.get $~lib/memory/__stack_pointer + i32.const 1408 + i32.store $0 offset=4 + i32.const 1408 + call $~lib/console/console.timeLog + global.get $~lib/memory/__stack_pointer + i32.const 1408 + i32.store $0 offset=4 + i32.const 1408 + call $~lib/console/console.timeEnd + global.get $~lib/memory/__stack_pointer + i32.const 1456 + i32.store $0 offset=4 + i32.const 1456 + call $~lib/console/console.time + global.get $~lib/memory/__stack_pointer + i32.const 1456 + i32.store $0 offset=4 + i32.const 1456 + call $~lib/console/console.time + global.get $~lib/memory/__stack_pointer + i32.const 1504 + i32.store $0 offset=4 + i32.const 1504 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 1536 + i32.store $0 offset=4 + i32.const 1536 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.store $0 offset=4 + i32.const 1568 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 1600 + i32.store $0 offset=4 + i32.const 1600 + call $~lib/console/console.log + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/console/console.assert (type $i32_i32_=>_none) (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 global.get $~lib/memory/__stack_pointer i32.const 1612 i32.lt_s @@ -63,103 +259,143 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 1056 + local.tee $2 + i32.const 0 i32.store $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $0 i32.const 0 - i32.const 1056 + i32.ne + local.get $1 call $~lib/bindings/dom/console.assert global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 1 - i32.const 1088 - call $~lib/bindings/dom/console.assert + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.log (type $i32_=>_none) (param $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 1120 - i32.store $0 offset=4 - i32.const 1120 - call $~lib/bindings/dom/console.log + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1168 - i32.store $0 offset=4 - i32.const 1168 - call $~lib/bindings/dom/console.debug - global.get $~lib/memory/__stack_pointer - i32.const 1216 - i32.store $0 offset=4 - i32.const 1216 - call $~lib/bindings/dom/console.info - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 offset=4 - i32.const 1264 - call $~lib/bindings/dom/console.warn - global.get $~lib/memory/__stack_pointer - i32.const 1312 - i32.store $0 offset=4 - i32.const 1312 - call $~lib/bindings/dom/console.error - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 - i32.const 1360 - call $~lib/bindings/dom/console.time + i32.const 1612 + i32.lt_s + if + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 - i32.const 1360 - call $~lib/bindings/dom/console.timeLog + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/bindings/dom/console.log global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 offset=4 - i32.const 1360 - call $~lib/bindings/dom/console.timeEnd + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.time (type $i32_=>_none) (param $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 1408 - i32.store $0 offset=4 - i32.const 1408 - call $~lib/bindings/dom/console.timeLog + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1408 - i32.store $0 offset=4 - i32.const 1408 - call $~lib/bindings/dom/console.timeEnd + i32.const 1612 + i32.lt_s + if + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=4 - i32.const 1456 + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 call $~lib/bindings/dom/console.time global.get $~lib/memory/__stack_pointer - i32.const 1456 - i32.store $0 offset=4 - i32.const 1456 - call $~lib/bindings/dom/console.time + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.timeLog (type $i32_=>_none) (param $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 1504 - i32.store $0 offset=4 - i32.const 1504 - call $~lib/bindings/dom/console.log + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1536 - i32.store $0 offset=4 - i32.const 1536 - call $~lib/bindings/dom/console.log + i32.const 1612 + i32.lt_s + if + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 1568 - i32.store $0 offset=4 - i32.const 1568 - call $~lib/bindings/dom/console.log + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/bindings/dom/console.timeLog global.get $~lib/memory/__stack_pointer - i32.const 1600 - i32.store $0 offset=4 - i32.const 1600 - call $~lib/bindings/dom/console.log + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/console/console.timeEnd (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1612 + i32.lt_s + if + i32.const 34400 + i32.const 34448 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/bindings/dom/console.timeEnd + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/std/dataview.debug.wat b/tests/compiler/std/dataview.debug.wat index 09d6ec4d43..f8f20499ad 100644 --- a/tests/compiler/std/dataview.debug.wat +++ b/tests/compiler/std/dataview.debug.wat @@ -7,9 +7,9 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $i32_i32_i32_=>_i64 (func_subtype (param i32 i32 i32) (result i64) func)) (type $i32_i32_i64_i32_=>_none (func_subtype (param i32 i32 i64 i32) func)) - (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_=>_f32 (func_subtype (param i32 i32 i32) (result f32) func)) (type $i32_i32_i32_=>_f64 (func_subtype (param i32 i32 i32) (result f64) func)) @@ -2343,26 +2343,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 544 - i32.const 178 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - local.get $value - i32.store8 $0 - ) (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 @@ -2397,14 +2377,6 @@ local.get $this i32.load $0 ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:buffer - i32.sub - return - ) (func $~lib/dataview/DataView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 @@ -2413,159 +2385,755 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/dataview/DataView#getFloat32 (type $i32_i32_i32_=>_f32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f32) - (local $3 i32) - local.get $byteOffset - i32.const 31 - i32.shr_u - local.get $byteOffset - i32.const 4 - i32.add + (func $~lib/dataview/DataView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/dataview/DataView#get:byteLength - i32.gt_s - i32.or - if - i32.const 336 - i32.const 608 - i32.const 35 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $littleEndian - if (result f32) - local.get $this - call $~lib/dataview/DataView#get:dataStart - local.get $byteOffset - i32.add - f32.load $0 - else - local.get $this - call $~lib/dataview/DataView#get:dataStart - local.get $byteOffset - i32.add - i32.load $0 - local.tee $3 - i32.const -16711936 - i32.and - i32.const 8 - i32.rotl - local.get $3 - i32.const 16711935 - i32.and - i32.const 8 - i32.rotr - i32.or - f32.reinterpret_i32 - end - return + i32.load $0 ) - (func $~lib/dataview/DataView#getFloat64 (type $i32_i32_i32_=>_f64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f64) - (local $3 i64) - (local $4 i64) - local.get $byteOffset - i32.const 31 - i32.shr_u - local.get $byteOffset - i32.const 8 - i32.add - local.get $this - call $~lib/dataview/DataView#get:byteLength + (func $~lib/rt/itcms/__collect (type $none_=>_none) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 i32.gt_s - i32.or if - i32.const 336 - i32.const 608 - i32.const 44 - i32.const 7 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - local.get $littleEndian - if (result f64) - local.get $this - call $~lib/dataview/DataView#get:dataStart - local.get $byteOffset - i32.add - f64.load $0 - else - local.get $this - call $~lib/dataview/DataView#get:dataStart - local.get $byteOffset - i32.add - i64.load $0 - local.tee $3 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $3 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $4 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $4 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - f64.reinterpret_i64 + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end end - return + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop ) - (func $~lib/dataview/DataView#getInt8 (type $i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (result i32) - local.get $byteOffset - local.get $this - call $~lib/dataview/DataView#get:byteLength - i32.ge_u + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + 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 + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 if - i32.const 336 - i32.const 608 - i32.const 51 - i32.const 50 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $this - call $~lib/dataview/DataView#get:dataStart - local.get $byteOffset - i32.add - i32.load8_s $0 - return ) - (func $~lib/dataview/DataView#getInt16 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) - (local $result i32) - (local $4 i32) - local.get $byteOffset - i32.const 31 - i32.shr_u - local.get $byteOffset - i32.const 2 - i32.add - local.get $this - call $~lib/dataview/DataView#get:byteLength - i32.gt_s - i32.or + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/dataview/DataView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 if - i32.const 336 - i32.const 608 - i32.const 58 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $this - call $~lib/dataview/DataView#get:dataStart + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/dataview/DataView + block $~lib/typedarray/Uint8Array + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $~lib/dataview/DataView $invalid + end + return + 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 + local.get $0 + local.get $1 + call $~lib/dataview/DataView~visit + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/dataview + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33536 + i32.const 33584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $length + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $length + local.get $alignLog2 + i32.shl + local.tee $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $length + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 544 + i32.const 178 + i32.const 45 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + local.get $value + i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/dataview/DataView#constructor (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result i32) + (local $dataStart 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:buffer + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/dataview/DataView#set:byteLength + local.get $byteLength + i32.const 1073741820 + i32.gt_u + local.get $byteOffset + local.get $byteLength + i32.add + local.get $buffer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 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 $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $buffer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/dataview/DataView#set:buffer + local.get $buffer + local.get $byteOffset + i32.add + local.set $dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $dataStart + call $~lib/dataview/DataView#set:dataStart + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $byteLength + call $~lib/dataview/DataView#set:byteLength + local.get $this + 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/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + i32.sub + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/dataview/DataView#getFloat32 (type $i32_i32_i32_=>_f32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f32) + (local $3 i32) + (local $4 i32) + (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 $0 + local.get $byteOffset + i32.const 31 + i32.shr_u + local.get $byteOffset + i32.const 4 + i32.add + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/dataview/DataView#get:byteLength + i32.gt_s + i32.or + if + i32.const 336 + i32.const 608 + i32.const 35 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $littleEndian + if (result f32) + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/dataview/DataView#get:dataStart + local.get $byteOffset + i32.add + f32.load $0 + else + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/dataview/DataView#get:dataStart + local.get $byteOffset + i32.add + i32.load $0 + local.tee $3 + i32.const -16711936 + i32.and + i32.const 8 + i32.rotl + local.get $3 + i32.const 16711935 + i32.and + i32.const 8 + i32.rotr + i32.or + f32.reinterpret_i32 + end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/dataview/DataView#getFloat64 (type $i32_i32_i32_=>_f64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result f64) + (local $3 i64) + (local $4 i64) + (local $5 i32) + (local $6 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 $0 + local.get $byteOffset + i32.const 31 + i32.shr_u + local.get $byteOffset + i32.const 8 + i32.add + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/dataview/DataView#get:byteLength + i32.gt_s + i32.or + if + i32.const 336 + i32.const 608 + i32.const 44 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $littleEndian + if (result f64) + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/dataview/DataView#get:dataStart + local.get $byteOffset + i32.add + f64.load $0 + else + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/dataview/DataView#get:dataStart + local.get $byteOffset + i32.add + i64.load $0 + local.tee $3 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $3 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.tee $4 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $4 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + f64.reinterpret_i64 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/dataview/DataView#getInt8 (type $i32_i32_=>_i32) (param $this i32) (param $byteOffset 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 $0 + local.get $byteOffset + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/dataview/DataView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 51 + i32.const 50 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/dataview/DataView#get:dataStart + local.get $byteOffset + i32.add + i32.load8_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/dataview/DataView#getInt16 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) + (local $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 $0 + local.get $byteOffset + i32.const 31 + i32.shr_u + local.get $byteOffset + i32.const 2 + i32.add + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/dataview/DataView#get:byteLength + i32.gt_s + i32.or + if + i32.const 336 + i32.const 608 + i32.const 58 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add i32.load16_s $0 @@ -2585,11 +3153,26 @@ i32.shr_u i32.or end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 return ) (func $~lib/dataview/DataView#getInt32 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2597,6 +3180,11 @@ i32.const 4 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2609,6 +3197,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2631,12 +3224,28 @@ i32.rotr i32.or end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 return ) (func $~lib/dataview/DataView#getInt64 (type $i32_i32_i32_=>_i64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) (local $4 i64) (local $5 i64) + (local $6 i32) + (local $7 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2644,6 +3253,11 @@ i32.const 8 i32.add local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2656,6 +3270,11 @@ unreachable end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2691,11 +3310,31 @@ i64.const 32 i64.rotr end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) (func $~lib/dataview/DataView#getUint8 (type $i32_i32_=>_i32) (param $this i32) (param $byteOffset 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 $0 local.get $byteOffset local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/dataview/DataView#get:byteLength i32.ge_u if @@ -2707,15 +3346,35 @@ unreachable end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) (func $~lib/dataview/DataView#getUint16 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2723,6 +3382,11 @@ i32.const 2 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2735,6 +3399,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2753,11 +3422,26 @@ i32.shr_u i32.or end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 return ) (func $~lib/dataview/DataView#getUint32 (type $i32_i32_i32_=>_i32) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i32) (local $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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2765,6 +3449,11 @@ i32.const 4 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2777,6 +3466,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2799,12 +3493,28 @@ i32.rotr i32.or end + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 return ) (func $~lib/dataview/DataView#getUint64 (type $i32_i32_i32_=>_i64) (param $this i32) (param $byteOffset i32) (param $littleEndian i32) (result i64) (local $result i64) (local $4 i64) (local $5 i64) + (local $6 i32) + (local $7 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2812,6 +3522,11 @@ i32.const 8 i32.add local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2824,6 +3539,11 @@ unreachable end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2859,10 +3579,25 @@ i64.const 32 i64.rotr end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) (func $~lib/dataview/DataView#setFloat32 (type $i32_i32_f32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value f32) (param $littleEndian 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2870,6 +3605,11 @@ i32.const 4 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2884,6 +3624,11 @@ local.get $littleEndian if local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2891,6 +3636,11 @@ f32.store $0 else local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2909,10 +3659,23 @@ i32.or i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setFloat64 (type $i32_i32_f64_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value f64) (param $littleEndian i32) (local $4 i64) (local $5 i64) + (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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -2920,6 +3683,11 @@ i32.const 8 i32.add local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -2934,6 +3702,11 @@ local.get $littleEndian if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2941,6 +3714,11 @@ f64.store $0 else local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -2972,10 +3750,28 @@ i64.rotr i64.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt8 (type $i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value 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 $0 local.get $byteOffset local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/dataview/DataView#get:byteLength i32.ge_u if @@ -2987,14 +3783,32 @@ unreachable end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt16 (type $i32_i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3002,6 +3816,11 @@ i32.const 2 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3014,6 +3833,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3033,9 +3857,22 @@ i32.or end i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt32 (type $i32_i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3043,6 +3880,11 @@ i32.const 4 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3055,6 +3897,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3076,10 +3923,23 @@ i32.or end i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt64 (type $i32_i32_i64_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i64) (param $littleEndian i32) (local $4 i64) (local $5 i64) + (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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3087,6 +3947,11 @@ i32.const 8 i32.add local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3099,6 +3964,11 @@ unreachable end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3133,10 +4003,28 @@ i64.rotr end i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint8 (type $i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value 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 $0 local.get $byteOffset local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/dataview/DataView#get:byteLength i32.ge_u if @@ -3148,14 +4036,32 @@ unreachable end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add local.get $value i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint16 (type $i32_i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3163,6 +4069,11 @@ i32.const 2 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3175,6 +4086,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3194,9 +4110,22 @@ i32.or end i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint32 (type $i32_i32_i32_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i32) (param $littleEndian 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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3204,6 +4133,11 @@ i32.const 4 i32.add local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3216,6 +4150,11 @@ unreachable end local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3237,10 +4176,23 @@ i32.or end i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint64 (type $i32_i32_i64_i32_=>_none) (param $this i32) (param $byteOffset i32) (param $value i64) (param $littleEndian i32) (local $4 i64) (local $5 i64) + (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 $0 local.get $byteOffset i32.const 31 i32.shr_u @@ -3248,6 +4200,11 @@ i32.const 8 i32.add local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:byteLength i32.gt_s i32.or @@ -3260,6 +4217,11 @@ unreachable end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 call $~lib/dataview/DataView#get:dataStart local.get $byteOffset i32.add @@ -3294,8 +4256,21 @@ i64.rotr end i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#constructor@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result 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 $0 block $2of2 block $1of2 block $0of2 @@ -3311,180 +4286,75 @@ local.set $byteOffset end local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.set $byteLength end local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $byteOffset local.get $byteLength call $~lib/dataview/DataView#constructor - ) - (func $~lib/dataview/DataView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $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/dataview/DataView#get:byteOffset (type $i32_=>_i32) (param $this 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 $0 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/dataview/DataView#get:dataStart local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 call $~lib/dataview/DataView#get:buffer i32.sub - return - ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - 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 - 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 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop - i32.const 0 - drop - ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - 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 - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/dataview/DataView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/dataview/DataView - block $~lib/typedarray/Uint8Array - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/typedarray/Uint8Array $~lib/dataview/DataView $invalid - end - return - 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 - local.get $0 - local.get $1 - call $~lib/dataview/DataView~visit - return - end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/dataview - ) - (func $~stack_check (type $none_=>_none) - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33536 - i32.const 33584 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + return ) (func $start:std/dataview (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3492,8 +4362,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 memory.size $0 i32.const 16 i32.shl @@ -3518,54 +4388,114 @@ local.tee $0 i32.store $0 local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 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 $0 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 $0 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 $0 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 $0 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 $0 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 $0 offset=4 + local.get $2 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $2 local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:byteLength call $~lib/dataview/DataView#constructor local.tee $1 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3581,6 +4511,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3596,6 +4531,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3611,6 +4551,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3626,6 +4571,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3641,6 +4591,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3656,6 +4611,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3671,6 +4631,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3686,6 +4651,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3701,6 +4671,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3716,6 +4691,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -3731,6 +4711,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -3746,6 +4731,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -3760,6 +4750,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -3774,6 +4769,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -3788,6 +4788,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -3802,6 +4807,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -3816,6 +4826,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -3830,6 +4845,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -3844,6 +4864,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -3858,6 +4883,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3874,6 +4904,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3890,6 +4925,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3906,6 +4946,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3922,6 +4967,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3938,6 +4988,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3954,6 +5009,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3970,6 +5030,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3986,6 +5051,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4002,6 +5072,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4018,6 +5093,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4034,6 +5114,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4050,6 +5135,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4066,6 +5156,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4082,6 +5177,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4097,6 +5197,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4112,6 +5217,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4127,6 +5237,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4142,6 +5257,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4157,6 +5277,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4172,6 +5297,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4187,6 +5317,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4202,6 +5337,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4217,6 +5357,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4232,6 +5377,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4247,6 +5397,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -4262,6 +5417,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -4276,6 +5436,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -4290,6 +5455,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -4304,6 +5474,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -4318,6 +5493,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -4332,6 +5512,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -4346,6 +5531,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -4360,6 +5550,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -4374,6 +5569,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4391,6 +5591,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4408,6 +5613,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4425,6 +5635,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4442,6 +5657,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4459,6 +5679,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4476,6 +5701,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -4493,6 +5723,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4510,6 +5745,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4527,6 +5767,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4544,6 +5789,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4561,6 +5811,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4578,6 +5833,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4595,6 +5855,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -4612,6 +5877,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4627,6 +5897,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4642,6 +5917,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4657,6 +5937,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4672,6 +5957,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -4687,6 +5977,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4702,6 +5997,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4717,6 +6017,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4732,6 +6037,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4747,6 +6057,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -4762,6 +6077,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -4777,6 +6097,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -4792,11 +6117,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -4812,11 +6147,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -4832,11 +6177,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat64 @@ -4852,11 +6207,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat64 @@ -4872,10 +6237,20 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -4890,11 +6265,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -4911,11 +6296,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -4932,11 +6327,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -4952,11 +6357,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -4972,11 +6387,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt64 @@ -4992,11 +6417,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt64 @@ -5012,10 +6447,20 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -5030,11 +6475,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -5052,11 +6507,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -5074,11 +6539,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -5094,11 +6569,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -5114,11 +6599,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint64 @@ -5134,11 +6629,21 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 offset=4 + local.get $2 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint64 @@ -5156,11 +6661,16 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:buffer local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $2 i32.const 0 i32.const 1 @@ -5168,8 +6678,13 @@ i32.const 0 call $~lib/dataview/DataView#constructor@varargs local.tee $1 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 call $~lib/dataview/DataView#get:byteOffset i32.const 0 i32.eq @@ -5183,6 +6698,11 @@ unreachable end local.get $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 call $~lib/dataview/DataView#get:byteLength i32.const 8 i32.eq @@ -5199,185 +6719,8 @@ global.set $~lib/memory/__stack_pointer call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 3 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $length - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 19 - i32.const 57 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $length - local.get $alignLog2 - i32.shl - local.tee $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.get $length - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $this - 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/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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 (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $buffer i32) (param $byteOffset i32) (param $byteLength i32) (result i32) - (local $dataStart 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:buffer - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:dataStart - local.get $this - i32.const 0 - call $~lib/dataview/DataView#set:byteLength - local.get $byteLength - i32.const 1073741820 - i32.gt_u - local.get $byteOffset - local.get $byteLength - i32.add - local.get $buffer - 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 $this - local.get $buffer - call $~lib/dataview/DataView#set:buffer - local.get $buffer - local.get $byteOffset - i32.add - local.set $dataStart - local.get $this - local.get $dataStart - call $~lib/dataview/DataView#set:dataStart - local.get $this - local.get $byteLength - call $~lib/dataview/DataView#set:byteLength - local.get $this - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 ) ) diff --git a/tests/compiler/std/dataview.release.wat b/tests/compiler/std/dataview.release.wat index 28d33049e9..d3e149b781 100644 --- a/tests/compiler/std/dataview.release.wat +++ b/tests/compiler/std/dataview.release.wat @@ -9,6 +9,7 @@ (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_=>_f32 (func_subtype (param i32 i32 i32) (result f32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $i32_f32_i32_=>_none (func_subtype (param i32 f32 i32) func)) @@ -24,6 +25,7 @@ (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 34540)) (memory $0 1) (data (i32.const 1036) ",") @@ -1572,7 +1574,61 @@ end end ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + block $folding-inner0 + block $invalid + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return + end + return + end + return + end + unreachable + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + ) + (func $~start (type $none_=>_none) + call $start:std/dataview + ) (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=8 @@ -1585,14 +1641,190 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add local.get $2 i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/dataview/DataView#constructor (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $1 + i32.add + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 + i32.sub + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/dataview/DataView#getFloat32 (type $i32_i32_i32_=>_f32) (param $0 i32) (param $1 i32) (param $2 i32) (result f32) + (local $3 i32) + (local $4 f32) + 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 i32.const 31 i32.shr_u @@ -1613,15 +1845,21 @@ end local.get $2 if (result f32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add f32.load $0 else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load $0 local.tee $0 @@ -1637,9 +1875,39 @@ i32.or f32.reinterpret_i32 end + 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/dataview/DataView#getFloat64 (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) (local $2 i64) + (local $3 i32) + (local $4 f64) + 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -1654,10 +1922,16 @@ end local.get $1 if (result f64) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 f64.load $0 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i64.load $0 @@ -1687,8 +1961,37 @@ i64.rotr f64.reinterpret_i64 end + 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/dataview/DataView#getInt8 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=8 @@ -1701,13 +2004,46 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load8_s $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/dataview/DataView#getInt16 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 i32.const 31 i32.shr_u @@ -1726,12 +2062,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load16_s $0 local.set $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 if (result i32) local.get $0 @@ -1749,6 +2093,29 @@ end ) (func $~lib/dataview/DataView#getInt32 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 i32.const 31 i32.shr_u @@ -1767,12 +2134,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load $0 local.set $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 if (result i32) local.get $0 @@ -1792,6 +2167,29 @@ ) (func $~lib/dataview/DataView#getInt64 (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) + (local $3 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -1804,10 +2202,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i64.load $0 local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 if (result i64) local.get $2 @@ -1839,6 +2245,29 @@ end ) (func $~lib/dataview/DataView#getUint8 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=8 @@ -1851,13 +2280,46 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load8_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/dataview/DataView#getUint16 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 i32.const 31 i32.shr_u @@ -1876,12 +2338,21 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load16_u $0 - local.tee $0 + local.set $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 local.get $0 i32.const 8 i32.shl @@ -1893,6 +2364,29 @@ select ) (func $~lib/dataview/DataView#getUint32 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 i32.const 31 i32.shr_u @@ -1911,12 +2405,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load $0 local.set $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 if (result i32) local.get $0 @@ -1936,6 +2438,29 @@ ) (func $~lib/dataview/DataView#getUint64 (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) (local $2 i64) + (local $3 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -1948,10 +2473,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i64.load $0 local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 if (result i64) local.get $2 @@ -1983,6 +2516,29 @@ end ) (func $~lib/dataview/DataView#setFloat32 (type $i32_f32_i32_=>_none) (param $0 i32) (param $1 f32) (param $2 i32) + (local $3 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 4 @@ -1997,11 +2553,17 @@ end local.get $2 if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 f32.store $0 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -2019,9 +2581,36 @@ i32.or i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setFloat64 (type $i32_f64_i32_=>_none) (param $0 i32) (param $1 f64) (param $2 i32) (local $3 i64) + (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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -2036,11 +2625,17 @@ end local.get $2 if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 f64.store $0 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 @@ -2071,8 +2666,35 @@ i64.rotr i64.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt16 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -2085,6 +2707,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2103,8 +2728,35 @@ i32.or end i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt32 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 4 @@ -2117,6 +2769,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2136,8 +2791,35 @@ i32.or end i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setInt64 (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -2150,6 +2832,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2182,8 +2867,35 @@ i64.rotr end i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint16 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -2196,6 +2908,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2214,8 +2929,35 @@ i32.or end i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/dataview/DataView#setUint32 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 4 @@ -2228,6 +2970,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2247,8 +2992,35 @@ i32.or end i32.store $0 - ) - (func $~lib/dataview/DataView#setUint64 (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/dataview/DataView#setUint64 (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 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 1772 + i32.lt_s + if + i32.const 34560 + i32.const 34608 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 i32.const 8 @@ -2261,6 +3033,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $2 @@ -2293,59 +3068,33 @@ i64.rotr end i64.store $0 - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:std/dataview + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:std/dataview (type $none_=>_none) (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1772 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $0 i64.const 0 i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 + local.get $0 + i64.const 0 + i64.store $0 offset=8 memory.size $0 i32.const 16 i32.shl @@ -2378,134 +3127,206 @@ i32.store $0 i32.const 1456 global.set $~lib/rt/itcms/fromSpace - local.get $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 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 $0 + block $__inlined_func$~lib/typedarray/Uint8Array#constructor (result i32) + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner00 + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner00 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + br $__inlined_func$~lib/typedarray/Uint8Array#constructor + end + br $folding-inner1 end - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - i32.const 0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 1 - call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 - local.get $0 - local.get $2 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $0 - local.get $2 - i32.store $0 offset=4 - local.get $0 - i32.const 8 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.store $0 - local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 246 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 224 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 88 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.const 159 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.const 130 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 5 i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 6 i32.const 67 call $~lib/typedarray/Uint8Array#__set - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 7 i32.const 95 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 offset=4 + local.get $2 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $0 - i32.load $0 offset=4 - local.get $0 + local.get $2 i32.load $0 - i32.sub + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.set $4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $4 + local.get $3 local.get $0 + local.get $2 i32.load $0 offset=8 call $~lib/dataview/DataView#constructor - local.tee $1 - i32.store $0 offset=8 - local.get $1 + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -2519,7 +3340,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -2533,7 +3357,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -2547,7 +3374,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -2561,7 +3391,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -2575,7 +3408,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -2589,7 +3425,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -2603,7 +3442,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -2617,7 +3459,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -2631,7 +3476,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -2645,7 +3493,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const 7936550095674706383278551e126 @@ -2658,7 +3509,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const -411777475818852546741639e241 @@ -2671,7 +3525,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const -10 @@ -2684,7 +3541,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt8 i32.const -32 @@ -2697,7 +3557,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 call $~lib/dataview/DataView#getInt8 i32.const 88 @@ -2710,7 +3573,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 call $~lib/dataview/DataView#getInt8 i32.const -97 @@ -2723,7 +3589,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 call $~lib/dataview/DataView#getInt8 i32.const -126 @@ -2736,7 +3605,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 call $~lib/dataview/DataView#getInt8 i32.const 101 @@ -2749,7 +3621,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 call $~lib/dataview/DataView#getInt8 i32.const 67 @@ -2762,7 +3637,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 7 call $~lib/dataview/DataView#getInt8 i32.const 95 @@ -2775,7 +3653,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2791,7 +3672,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2807,7 +3691,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2823,7 +3710,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2839,7 +3729,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2855,7 +3748,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2871,7 +3767,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -2887,7 +3786,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2903,7 +3805,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2919,7 +3824,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2935,7 +3843,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2951,7 +3862,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2967,7 +3881,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2983,7 +3900,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -2999,7 +3919,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3013,7 +3936,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3027,7 +3953,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3041,7 +3970,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3055,7 +3987,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3069,7 +4004,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3083,7 +4021,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3097,7 +4038,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3111,7 +4055,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3125,7 +4072,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3139,7 +4089,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const 6864441868736323830 @@ -3152,7 +4105,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const -657428103485373601 @@ -3165,7 +4121,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 246 @@ -3178,7 +4137,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint8 i32.const 224 @@ -3191,7 +4153,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 call $~lib/dataview/DataView#getUint8 i32.const 88 @@ -3204,7 +4169,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 call $~lib/dataview/DataView#getUint8 i32.const 159 @@ -3217,7 +4185,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 call $~lib/dataview/DataView#getUint8 i32.const 130 @@ -3230,7 +4201,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 call $~lib/dataview/DataView#getUint8 i32.const 101 @@ -3243,7 +4217,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 call $~lib/dataview/DataView#getUint8 i32.const 67 @@ -3256,7 +4233,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 7 call $~lib/dataview/DataView#getUint8 i32.const 95 @@ -3269,7 +4249,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3285,7 +4268,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3301,7 +4287,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3317,7 +4306,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3333,7 +4325,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3349,7 +4344,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3365,7 +4363,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3381,7 +4382,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3397,7 +4401,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3413,7 +4420,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3429,7 +4439,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3445,7 +4458,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3461,7 +4477,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 5 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3477,7 +4496,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 6 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3493,7 +4515,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3507,7 +4532,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3521,7 +4549,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3535,7 +4566,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3549,7 +4583,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3563,7 +4600,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3577,7 +4617,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3591,7 +4634,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 2 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3605,7 +4651,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3619,7 +4668,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3633,7 +4685,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 6864441868736323830 @@ -3646,7 +4701,10 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -657428103485373601 @@ -3659,11 +4717,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f32.const 1.5976661625240943e-18 i32.const 1 call $~lib/dataview/DataView#setFloat32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getFloat32 @@ -3677,11 +4741,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f32.const 1976281973381696323584 i32.const 0 call $~lib/dataview/DataView#setFloat32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getFloat32 @@ -3695,11 +4765,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f64.const -1094252199637739024055454e124 i32.const 1 call $~lib/dataview/DataView#setFloat64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getFloat64 f64.const -1094252199637739024055454e124 @@ -3712,11 +4788,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 f64.const 6.022586634778589e-103 i32.const 0 call $~lib/dataview/DataView#setFloat64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getFloat64 f64.const 6.022586634778589e-103 @@ -3729,7 +4811,26 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=8 i32.eqz if @@ -3740,11 +4841,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=4 i32.const 108 i32.store8 $0 - local.get $1 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt8 i32.const 108 @@ -3757,11 +4869,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const -13360 i32.const 1 call $~lib/dataview/DataView#setInt16 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt16 @@ -3777,11 +4895,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 14689 i32.const 0 call $~lib/dataview/DataView#setInt16 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt16 @@ -3797,11 +4921,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1204680201 i32.const 1 call $~lib/dataview/DataView#setInt32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getInt32 @@ -3815,11 +4945,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 660673230 i32.const 0 call $~lib/dataview/DataView#setInt32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getInt32 @@ -3833,11 +4969,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const -3290739641816099749 i32.const 1 call $~lib/dataview/DataView#setInt64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getInt64 i64.const -3290739641816099749 @@ -3850,11 +4992,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 8178932412950708047 i32.const 0 call $~lib/dataview/DataView#setInt64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getInt64 i64.const 8178932412950708047 @@ -3867,7 +5015,26 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=8 i32.eqz if @@ -3878,11 +5045,22 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=4 i32.const 238 i32.store8 $0 - local.get $1 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint8 i32.const 238 @@ -3895,11 +5073,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 58856 i32.const 1 call $~lib/dataview/DataView#setUint16 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint16 @@ -3915,11 +5099,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 60400 i32.const 0 call $~lib/dataview/DataView#setUint16 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint16 @@ -3935,11 +5125,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const -846805744 i32.const 1 call $~lib/dataview/DataView#setUint32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 1 call $~lib/dataview/DataView#getUint32 @@ -3953,11 +5149,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const -1510791631 i32.const 0 call $~lib/dataview/DataView#setUint32 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.const 0 call $~lib/dataview/DataView#getUint32 @@ -3971,11 +5173,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const 2334704782995986958 i32.const 1 call $~lib/dataview/DataView#setUint64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 1 call $~lib/dataview/DataView#getUint64 i64.const 2334704782995986958 @@ -3988,11 +5196,17 @@ call $~lib/builtins/abort unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i64.const -7123186897289856329 i32.const 0 call $~lib/dataview/DataView#setUint64 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 call $~lib/dataview/DataView#getUint64 i64.const -7123186897289856329 @@ -4006,26 +5220,70 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $0 - i32.load $0 local.tee $0 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store $0 offset=8 local.get $0 - i32.const 0 + local.get $2 + i32.load $0 + local.tee $2 + i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength local.get $0 - i32.const 20 + i32.const 8 i32.sub - i32.load $0 offset=16 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1772 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 $2 + i32.store $0 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + local.get $1 call $~lib/dataview/DataView#constructor - local.tee $0 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 - i32.sub + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1696 @@ -4034,7 +5292,10 @@ call $~lib/builtins/abort unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.load $0 offset=8 i32.const 8 i32.ne @@ -4082,7 +5343,7 @@ i32.add global.set $~lib/rt/itcms/threshold global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer return @@ -4094,79 +5355,6 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/dataview/DataView#constructor (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1772 - i32.lt_s - if - i32.const 34560 - i32.const 34608 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $3 - i32.const 0 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 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 $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/date.debug.wat b/tests/compiler/std/date.debug.wat index d8b4cbf87d..cf5e6fb81e 100644 --- a/tests/compiler/std/date.debug.wat +++ b/tests/compiler/std/date.debug.wat @@ -13,13 +13,13 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_=>_i64 (func_subtype (param i32) (result i64) func)) - (type $i32_i64_=>_i64 (func_subtype (param i32 i64) (result i64) func)) (type $i32_i32_i32_i64_=>_i64 (func_subtype (param i32 i32 i32 i64) (result i64) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) + (type $i32_i64_=>_i64 (func_subtype (param i32 i64) (result i64) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/date/_day (mut i32) (i32.const 0)) @@ -2635,33 +2635,6 @@ local.get $this i64.load $0 offset=16 ) - (func $~lib/date/Date#setTime (type $i32_i64_=>_i64) (param $this i32) (param $time i64) (result i64) - local.get $time - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 112 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $time - call $~lib/date/Date#set:epochMillis - local.get $this - local.get $time - call $~lib/date/dateFromEpoch - call $~lib/date/Date#set:year - local.get $this - global.get $~lib/date/_month - call $~lib/date/Date#set:month - local.get $this - global.get $~lib/date/_day - call $~lib/date/Date#set:day - local.get $time - return - ) (func $~lib/date/Date#get:year (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -2674,13 +2647,19 @@ local.get $this i32.load $0 offset=8 ) - (func $~lib/date/Date#getUTCHours (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/date/join (type $i32_i32_i32_i64_=>_i64) (param $year i32) (param $month i32) (param $day i32) (param $ms i64) (result i64) (local $a i64) (local $b i64) (local $m i64) - block $~lib/date/euclidRem|inlined.0 (result i64) - local.get $this - call $~lib/date/Date#get:epochMillis + local.get $year + local.get $month + local.get $day + call $~lib/date/daysSinceEpoch + i32.const 86400000 + i64.extend_i32_s + i64.mul + block $~lib/date/euclidRem|inlined.4 (result i64) + local.get $ms local.set $a i32.const 86400000 i64.extend_i32_s @@ -2699,454 +2678,181 @@ i64.const 0 end i64.add - br $~lib/date/euclidRem|inlined.0 + br $~lib/date/euclidRem|inlined.4 end - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i64.add return ) - (func $~lib/date/Date#getUTCMinutes (type $i32_=>_i32) (param $this i32) (result i32) - (local $a i64) - (local $b i64) - (local $m i64) - block $~lib/date/euclidRem|inlined.1 (result i64) - local.get $this - call $~lib/date/Date#get:epochMillis + (func $~lib/date/dayOfWeek (type $i32_i32_i32_=>_i32) (param $year i32) (param $month i32) (param $day i32) (result i32) + (local $a i32) + (local $b i32) + (local $a|5 i32) + (local $b|6 i32) + (local $a|7 i32) + (local $b|8 i32) + (local $a|9 i32) + (local $b|10 i32) + (local $m i32) + local.get $year + local.get $month + i32.const 3 + i32.lt_s + i32.sub + local.set $year + local.get $year + block $~lib/date/floorDiv|inlined.2 (result i32) + local.get $year local.set $a - i32.const 3600000 - i64.extend_i32_s + i32.const 4 local.set $b local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) + local.get $a + i32.const 0 + i32.lt_s + if (result i32) local.get $b + i32.const 1 + i32.sub else - i64.const 0 + i32.const 0 end - i64.add - br $~lib/date/euclidRem|inlined.1 - end - i32.wrap_i64 - i32.const 60000 - i32.div_s - return - ) - (func $~lib/date/Date#getUTCSeconds (type $i32_=>_i32) (param $this i32) (result i32) - (local $a i64) - (local $b i64) - (local $m i64) - block $~lib/date/euclidRem|inlined.2 (result i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 60000 - i64.extend_i32_s - local.set $b - local.get $a + i32.sub local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) - local.get $b + i32.div_s + br $~lib/date/floorDiv|inlined.2 + end + block $~lib/date/floorDiv|inlined.3 (result i32) + local.get $year + local.set $a|5 + i32.const 100 + local.set $b|6 + local.get $a|5 + local.get $a|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $b|6 + i32.const 1 + i32.sub else - i64.const 0 + i32.const 0 end - i64.add - br $~lib/date/euclidRem|inlined.2 + i32.sub + local.get $b|6 + i32.div_s + br $~lib/date/floorDiv|inlined.3 end - i32.wrap_i64 - i32.const 1000 - i32.div_s - return - ) - (func $~lib/date/Date#getUTCMilliseconds (type $i32_=>_i32) (param $this i32) (result i32) - (local $a i64) - (local $b i64) - (local $m i64) - block $~lib/date/euclidRem|inlined.3 (result i64) - local.get $this - call $~lib/date/Date#get:epochMillis - local.set $a - i32.const 1000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s + i32.sub + block $~lib/date/floorDiv|inlined.4 (result i32) + local.get $year + local.set $a|7 + i32.const 400 + local.set $b|8 + local.get $a|7 + local.get $a|7 + i32.const 0 + i32.lt_s + if (result i32) + local.get $b|8 + i32.const 1 + i32.sub + else + i32.const 0 + end + i32.sub + local.get $b|8 + i32.div_s + br $~lib/date/floorDiv|inlined.4 + end + i32.add + i32.add + local.set $year + i32.const 556 + local.get $month + i32.add + i32.const 1 + i32.sub + i32.load8_u $0 + local.set $month + block $~lib/date/euclidRem|inlined.0 (result i32) + local.get $year + local.get $month + i32.add + local.get $day + i32.add + local.set $a|9 + i32.const 7 + local.set $b|10 + local.get $a|9 + local.get $b|10 + i32.rem_s local.set $m local.get $m local.get $m - i64.const 0 - i64.lt_s - if (result i64) - local.get $b + i32.const 0 + i32.lt_s + if (result i32) + local.get $b|10 else - i64.const 0 + i32.const 0 end - i64.add - br $~lib/date/euclidRem|inlined.3 + i32.add + br $~lib/date/euclidRem|inlined.0 end - i32.wrap_i64 return ) - (func $~lib/date/Date#setUTCMilliseconds (type $i32_i32_=>_none) (param $this i32) (param $millis i32) - local.get $this - local.get $this - call $~lib/date/Date#get:epochMillis - local.get $millis - local.get $this - call $~lib/date/Date#getUTCMilliseconds - i32.sub - i64.extend_i32_s - i64.add - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/Date#setUTCSeconds (type $i32_i32_=>_none) (param $this i32) (param $seconds i32) - local.get $this - local.get $this - call $~lib/date/Date#get:epochMillis - local.get $seconds - local.get $this - call $~lib/date/Date#getUTCSeconds - i32.sub - i32.const 1000 - i32.mul - i64.extend_i32_s - i64.add - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/Date#setUTCMinutes (type $i32_i32_=>_none) (param $this i32) (param $minutes i32) - local.get $this - local.get $this - call $~lib/date/Date#get:epochMillis - local.get $minutes - local.get $this - call $~lib/date/Date#getUTCMinutes - i32.sub - i32.const 60000 - i32.mul - i64.extend_i32_s - i64.add - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/Date#setUTCHours (type $i32_i32_=>_none) (param $this i32) (param $hours i32) - local.get $this - local.get $this - call $~lib/date/Date#get:epochMillis - local.get $hours - local.get $this - call $~lib/date/Date#getUTCHours - i32.sub - i32.const 3600000 - i32.mul - i64.extend_i32_s - i64.add - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/join (type $i32_i32_i32_i64_=>_i64) (param $year i32) (param $month i32) (param $day i32) (param $ms i64) (result i64) - (local $a i64) - (local $b i64) - (local $m i64) - local.get $year - local.get $month - local.get $day - call $~lib/date/daysSinceEpoch - i32.const 86400000 - i64.extend_i32_s - i64.mul - block $~lib/date/euclidRem|inlined.4 (result i64) - local.get $ms - local.set $a - i32.const 86400000 - i64.extend_i32_s - local.set $b - local.get $a - local.get $b - i64.rem_s - local.set $m - local.get $m - local.get $m - i64.const 0 - i64.lt_s - if (result i64) - local.get $b - else - i64.const 0 - end - i64.add - br $~lib/date/euclidRem|inlined.4 - end - i64.add - return - ) - (func $~lib/date/Date#setUTCDate (type $i32_i32_=>_none) (param $this i32) (param $day i32) - local.get $this - call $~lib/date/Date#get:day - local.get $day - i32.eq - if - return - end - local.get $this - local.get $this - call $~lib/date/Date#get:year - local.get $this - call $~lib/date/Date#get:month - local.get $day - local.get $this - call $~lib/date/Date#get:epochMillis - call $~lib/date/join - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/Date#setUTCMonth (type $i32_i32_i32_=>_none) (param $this i32) (param $month i32) (param $day i32) - local.get $this - call $~lib/date/Date#get:month - local.get $month - i32.const 1 - i32.add - i32.eq - if - return - end - local.get $this - local.get $this - call $~lib/date/Date#get:year - local.get $month - i32.const 1 - i32.add - local.get $day - local.get $this - call $~lib/date/Date#get:epochMillis - call $~lib/date/join - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/Date#setUTCMonth@varargs (type $i32_i32_i32_=>_none) (param $this i32) (param $month i32) (param $day 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 $this - call $~lib/date/Date#get:day - local.set $day - end - local.get $this - local.get $month - local.get $day - call $~lib/date/Date#setUTCMonth - ) - (func $~lib/date/Date#setUTCFullYear (type $i32_i32_=>_none) (param $this i32) (param $year i32) - local.get $this - call $~lib/date/Date#get:year - local.get $year - i32.eq + (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) + local.get $value + i32.const 100000 + i32.lt_u if - return - end - local.get $this - local.get $year - local.get $this - call $~lib/date/Date#get:month - local.get $this - call $~lib/date/Date#get:day - local.get $this - call $~lib/date/Date#get:epochMillis - call $~lib/date/join - call $~lib/date/Date#setTime - drop - ) - (func $~lib/date/dayOfWeek (type $i32_i32_i32_=>_i32) (param $year i32) (param $month i32) (param $day i32) (result i32) - (local $a i32) - (local $b i32) - (local $a|5 i32) - (local $b|6 i32) - (local $a|7 i32) - (local $b|8 i32) - (local $a|9 i32) - (local $b|10 i32) - (local $m i32) - local.get $year - local.get $month - i32.const 3 - i32.lt_s - i32.sub - local.set $year - local.get $year - block $~lib/date/floorDiv|inlined.2 (result i32) - local.get $year - local.set $a - i32.const 4 - local.set $b - local.get $a - local.get $a - i32.const 0 - i32.lt_s - if (result i32) - local.get $b + local.get $value + i32.const 100 + i32.lt_u + if i32.const 1 - i32.sub + local.get $value + i32.const 10 + i32.ge_u + i32.add + return else - i32.const 0 + i32.const 3 + local.get $value + i32.const 10000 + i32.ge_u + i32.add + local.get $value + i32.const 1000 + i32.ge_u + i32.add + return end - i32.sub - local.get $b - i32.div_s - br $~lib/date/floorDiv|inlined.2 - end - block $~lib/date/floorDiv|inlined.3 (result i32) - local.get $year - local.set $a|5 - i32.const 100 - local.set $b|6 - local.get $a|5 - local.get $a|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|6 - i32.const 1 - i32.sub + unreachable + else + local.get $value + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $value + i32.const 1000000 + i32.ge_u + i32.add + return else - i32.const 0 + i32.const 8 + local.get $value + i32.const 1000000000 + i32.ge_u + i32.add + local.get $value + i32.const 100000000 + i32.ge_u + i32.add + return end - i32.sub - local.get $b|6 - i32.div_s - br $~lib/date/floorDiv|inlined.3 - end - i32.sub - block $~lib/date/floorDiv|inlined.4 (result i32) - local.get $year - local.set $a|7 - i32.const 400 - local.set $b|8 - local.get $a|7 - local.get $a|7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|8 - i32.const 1 - i32.sub - else - i32.const 0 - end - i32.sub - local.get $b|8 - i32.div_s - br $~lib/date/floorDiv|inlined.4 - end - i32.add - i32.add - local.set $year - i32.const 556 - local.get $month - i32.add - i32.const 1 - i32.sub - i32.load8_u $0 - local.set $month - block $~lib/date/euclidRem|inlined.0 (result i32) - local.get $year - local.get $month - i32.add - local.get $day - i32.add - local.set $a|9 - i32.const 7 - local.set $b|10 - local.get $a|9 - local.get $b|10 - i32.rem_s - local.set $m - local.get $m - local.get $m - i32.const 0 - i32.lt_s - if (result i32) - local.get $b|10 - else - i32.const 0 - end - i32.add - br $~lib/date/euclidRem|inlined.0 - end - return - ) - (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) - local.get $value - i32.const 100000 - i32.lt_u - if - local.get $value - i32.const 100 - i32.lt_u - if - i32.const 1 - local.get $value - i32.const 10 - i32.ge_u - i32.add - return - else - i32.const 3 - local.get $value - i32.const 10000 - i32.ge_u - i32.add - local.get $value - i32.const 1000 - i32.ge_u - i32.add - return - end - unreachable - else - local.get $value - i32.const 10000000 - i32.lt_u - if - i32.const 6 - local.get $value - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 - local.get $value - i32.const 1000000000 - i32.ge_u - i32.add - local.get $value - i32.const 100000000 - i32.ge_u - i32.add - return - end - unreachable + unreachable end unreachable ) @@ -3552,12 +3258,6 @@ end end ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return - ) (func $~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $parentPtr i32) (param $childPtr i32) (param $expectMultiple i32) (local $child i32) (local $parent i32) @@ -3650,26 +3350,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - 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 $this - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $separator - call $~lib/util/string/joinStringArray - return - ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) (local $ptr2 i32) @@ -3774,49 +3454,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) (local $buffer i32) local.get $size @@ -3842,2111 +3479,4242 @@ i32.load $0 return ) - (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - (local $searchLen i32) - (local $len i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $searchStart i32) - local.get $search - call $~lib/string/String#get:length - local.set $searchLen - local.get $searchLen - i32.eqz - if - i32.const 0 - return - end + (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz + i32.load $0 offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u if - i32.const -1 + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr return end - local.get $start + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize local.tee $5 - i32.const 0 - local.tee $6 + local.get $4 local.get $5 - local.get $6 - i32.gt_s - select - local.tee $7 - local.get $len - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s + i32.lt_u select - local.set $searchStart - local.get $len - local.get $searchLen + memory.copy $0 $0 + local.get $newPtr + return + ) + (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) + (local $1 i32) + local.get $c + i32.const 5760 + i32.lt_u + if + local.get $c + i32.const 128 + i32.or + i32.const 160 + i32.eq + if (result i32) + i32.const 1 + else + local.get $c + i32.const 9 + i32.sub + i32.const 13 + i32.const 9 + i32.sub + i32.le_u + end + return + end + local.get $c + i32.const 8192 i32.sub - local.set $len - loop $for-loop|0 - local.get $searchStart - local.get $len - i32.le_s - if - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLen - call $~lib/util/string/compareImpl - i32.eqz - if - local.get $searchStart - return + i32.const 8202 + i32.const 8192 + i32.sub + i32.le_u + if + i32.const 1 + return + end + block $break|0 + block $case6|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $c + local.set $1 + local.get $1 + i32.const 5760 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 8232 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 8233 + i32.eq + br_if $case2|0 + local.get $1 + i32.const 8239 + i32.eq + br_if $case3|0 + local.get $1 + i32.const 8287 + i32.eq + br_if $case4|0 + local.get $1 + i32.const 12288 + i32.eq + br_if $case5|0 + local.get $1 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + end + end + end + end end - local.get $searchStart - i32.const 1 - i32.add - local.set $searchStart - br $for-loop|0 end + i32.const 1 + return end - i32.const -1 + i32.const 0 return ) - (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + i32.const 368 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 5760 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 5808 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 176 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 1280 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 2336 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + i32.const 1 + drop + local.get $this + local.set $cur + local.get $cur + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - unreachable + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end end - local.get $this - local.get $start - local.get $end - call $~lib/string/String#substring ) - (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 + (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__visit ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=8 + i32.load $0 ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/array/Array + block $~lib/array/Array<~lib/string/String> + block $~lib/staticarray/StaticArray<~lib/string/String> + block $~lib/date/Date + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>~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/array/Array~visit return end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy $0 $0 - local.get $newPtr - return + unreachable ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u + (func $~start (type $none_=>_none) + global.get $~started if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 5760 - i32.const 5712 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 + return end + i32.const 1 + global.set $~started + call $start:std/date ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 368 - i32.const 5712 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 + i32.const 39600 + i32.const 39648 i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index i32.const 1 - i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ + call $~lib/builtins/abort + unreachable end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link ) - (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) - (local $len i32) + (func $~lib/date/Date#constructor (type $i32_i64_=>_i32) (param $this i32) (param $epochMillis i64) (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 $0 local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add - local.set $len + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - i32.const 1 - drop + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $epochMillis + call $~lib/date/Date#set:epochMillis local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $oldLen - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:year local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:month local.get $this - local.get $len - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $len - return - ) - (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit 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 $separator - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/date/Date#set:day + local.get $epochMillis + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 100 + i32.const 35 + call $~lib/builtins/abort + unreachable end local.get $this - local.get $separator - local.get $limit - call $~lib/string/String#split + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $epochMillis + call $~lib/date/dateFromEpoch + call $~lib/date/Date#set:year + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + global.get $~lib/date/_month + call $~lib/date/Date#set:month + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + global.get $~lib/date/_day + call $~lib/date/Date#set:day + local.get $this + 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<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/date/Date#setTime (type $i32_i64_=>_i64) (param $this i32) (param $time i64) (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 $0 + local.get $time + call $~lib/date/invalidDate + if + i32.const 32 + i32.const 80 + i32.const 112 + i32.const 28 + call $~lib/builtins/abort + unreachable + end local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $time + call $~lib/date/Date#set:epochMillis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $time + call $~lib/date/dateFromEpoch + call $~lib/date/Date#set:year + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + global.get $~lib/date/_month + call $~lib/date/Date#set:month + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + global.get $~lib/date/_day + call $~lib/date/Date#set:day + local.get $time + 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/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) - (local $1 i32) - local.get $c - i32.const 5760 - i32.lt_u - if - local.get $c - i32.const 128 - i32.or - i32.const 160 - i32.eq - if (result i32) - i32.const 1 + (func $~lib/date/Date#getUTCHours (type $i32_=>_i32) (param $this i32) (result i32) + (local $a i64) + (local $b i64) + (local $m i64) + (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 $0 + block $~lib/date/euclidRem|inlined.0 (result i64) + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 86400000 + i64.extend_i32_s + local.set $b + local.get $a + local.get $b + i64.rem_s + local.set $m + local.get $m + local.get $m + i64.const 0 + i64.lt_s + if (result i64) + local.get $b else - local.get $c - i32.const 9 - i32.sub - i32.const 13 - i32.const 9 - i32.sub - i32.le_u + i64.const 0 end - return + i64.add + br $~lib/date/euclidRem|inlined.0 end - local.get $c - i32.const 8192 - i32.sub - i32.const 8202 - i32.const 8192 + i32.wrap_i64 + i32.const 3600000 + i32.div_s + 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/date/Date#getUTCMinutes (type $i32_=>_i32) (param $this i32) (result i32) + (local $a i64) + (local $b i64) + (local $m i64) + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - i32.le_u - if - i32.const 1 - return - end - block $break|0 - block $case6|0 - block $case5|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $c - local.set $1 - local.get $1 - i32.const 5760 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 8232 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 8233 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 8239 - i32.eq - br_if $case3|0 - local.get $1 - i32.const 8287 - i32.eq - br_if $case4|0 - local.get $1 - i32.const 12288 - i32.eq - br_if $case5|0 - local.get $1 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - end - end - end - end - end + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $~lib/date/euclidRem|inlined.1 (result i64) + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 3600000 + i64.extend_i32_s + local.set $b + local.get $a + local.get $b + i64.rem_s + local.set $m + local.get $m + local.get $m + i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 end - i32.const 1 - return + i64.add + br $~lib/date/euclidRem|inlined.1 end - i32.const 0 + i32.wrap_i64 + i32.const 60000 + i32.div_s + 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/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) - (local $len i32) - (local $ptr i32) - (local $code i32) - (local $sign i32) - (local $6 i32) - (local $num i32) - (local $initial i32) - (local $9 i32) - local.get $str - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz - if - i32.const 0 - drop - i32.const 0 - return - end - local.get $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code - loop $while-continue|0 - local.get $code - call $~lib/util/string/isSpace - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 - i32.sub - local.set $len - br $while-continue|0 + (func $~lib/date/Date#getUTCSeconds (type $i32_=>_i32) (param $this i32) (result i32) + (local $a i64) + (local $b i64) + (local $m i64) + (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 $0 + block $~lib/date/euclidRem|inlined.2 (result i64) + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 60000 + i64.extend_i32_s + local.set $b + local.get $a + local.get $b + i64.rem_s + local.set $m + local.get $m + local.get $m + i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 end + i64.add + br $~lib/date/euclidRem|inlined.2 end - i32.const 1 - local.set $sign - local.get $code - i32.const 45 - i32.eq - if (result i32) - i32.const 1 - else - local.get $code - i32.const 43 - i32.eq - end - if - local.get $len - i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - i32.const 0 - drop - i32.const 0 - return - end - local.get $code - i32.const 45 - i32.eq - if - i32.const -1 - local.set $sign + i32.wrap_i64 + i32.const 1000 + i32.div_s + 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/date/Date#getUTCMilliseconds (type $i32_=>_i32) (param $this i32) (result i32) + (local $a i64) + (local $b i64) + (local $m i64) + (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 $0 + block $~lib/date/euclidRem|inlined.3 (result i64) + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/date/Date#get:epochMillis + local.set $a + i32.const 1000 + i64.extend_i32_s + local.set $b + local.get $a + local.get $b + i64.rem_s + local.set $m + local.get $m + local.get $m + i64.const 0 + i64.lt_s + if (result i64) + local.get $b + else + i64.const 0 end - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code + i64.add + br $~lib/date/euclidRem|inlined.3 end - local.get $radix - if - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) + i32.wrap_i64 + 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/date/Date#setUTCMilliseconds (type $i32_i32_=>_none) (param $this i32) (param $millis 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + local.get $millis + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#getUTCMilliseconds + i32.sub + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCSeconds (type $i32_i32_=>_none) (param $this i32) (param $seconds 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + local.get $seconds + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#getUTCSeconds + i32.sub + i32.const 1000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCMinutes (type $i32_i32_=>_none) (param $this i32) (param $minutes 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + local.get $minutes + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#getUTCMinutes + i32.sub + i32.const 60000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCHours (type $i32_i32_=>_none) (param $this i32) (param $hours 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + local.get $hours + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#getUTCHours + i32.sub + i32.const 3600000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCDate (type $i32_i32_=>_none) (param $this i32) (param $day 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/date/Date#get:day + local.get $day + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:year + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:month + local.get $day + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + call $~lib/date/join + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCMonth (type $i32_i32_i32_=>_none) (param $this i32) (param $month i32) (param $day 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/date/Date#get:month + local.get $month + i32.const 1 + i32.add + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/date/Date#get:year + local.get $month + i32.const 1 + i32.add + local.get $day + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/date/Date#get:epochMillis + call $~lib/date/join + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCMonth@varargs (type $i32_i32_i32_=>_none) (param $this i32) (param $month i32) (param $day 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/date/Date#get:day + local.set $day + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $month + local.get $day + call $~lib/date/Date#setUTCMonth + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCFullYear (type $i32_i32_=>_none) (param $this i32) (param $year 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/date/Date#get:year + local.get $year + i32.eq + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $year + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:month + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:day + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/date/Date#get:epochMillis + call $~lib/date/join + call $~lib/date/Date#setTime + drop + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) + (local $thisSize i32) + (local $targetSize i32) + (local $padSize i32) + (local $prependSize i32) + (local $out i32) + (local $repeatCount i32) + (local $restBase i32) + (local $restSize 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 $0 + local.get $this + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $length + i32.const 1 + i32.shl + local.set $targetSize + local.get $pad + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $padSize + local.get $targetSize + local.get $thisSize + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $padSize + i32.eqz + end + if + local.get $this + 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 $targetSize + local.get $thisSize + i32.sub + local.set $prependSize + global.get $~lib/memory/__stack_pointer + local.get $targetSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $prependSize + local.get $padSize + i32.gt_u + if + local.get $prependSize + i32.const 2 + i32.sub + local.get $padSize + i32.div_u + local.set $repeatCount + local.get $repeatCount + local.get $padSize + i32.mul + local.set $restBase + local.get $prependSize + local.get $restBase + i32.sub + local.set $restSize + local.get $out + local.get $pad + local.get $padSize + local.get $repeatCount + call $~lib/memory/memory.repeat + local.get $out + local.get $restBase + i32.add + local.get $pad + local.get $restSize + memory.copy $0 $0 + else + local.get $out + local.get $pad + local.get $prependSize + memory.copy $0 $0 + end + local.get $out + local.get $prependSize + i32.add + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/date/stringify (type $i32_i32_=>_i32) (param $value i32) (param $padding 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 $0 + local.get $value + i32.const 10 + call $~lib/number/I32#toString + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $padding + i32.const 848 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/string/String#padStart + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + i32.const 0 + i32.eq + if + i32.const 2432 + 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 $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $4 i32) + (local $estLen i32) + (local $value i32) + (local $i i32) + (local $offset i32) + (local $sepLen i32) + (local $result i32) + (local $i|11 i32) + (local $valueLen i32) + (local $13 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 2432 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if (result i32) + local.get $4 + else + i32.const 2432 + end + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + i32.const 0 + local.set $estLen + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $estLen + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.add + local.set $estLen + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $offset + local.get $separator + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $sepLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + local.get $sepLen + local.get $lastIndex + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=12 + i32.const 0 + local.set $i|11 + loop $for-loop|1 + local.get $i|11 + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset + end + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i|11 i32.const 1 + i32.add + local.set $i|11 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + memory.copy $0 $0 + end + local.get $result + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + 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 $this + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/string/joinStringArray + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/date/Date#toISOString (type $i32_=>_i32) (param $this i32) (result i32) + (local $yr i32) + (local $isNeg i32) + (local $3 i32) + (local $4 i32) + (local $year i32) + (local $month i32) + (local $day i32) + (local $hours i32) + (local $mins i32) + (local $secs i32) + (local $ms 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 68 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 68 + memory.fill $0 + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#get:year + local.set $yr + local.get $yr + i32.const 0 + i32.lt_s + local.set $isNeg + global.get $~lib/memory/__stack_pointer + local.get $isNeg + if (result i32) + i32.const 1 + else + local.get $yr + i32.const 10000 + i32.ge_s + end + if (result i32) + local.get $isNeg + if (result i32) + i32.const 592 else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 0 - drop - i32.const 0 - return + i32.const 624 end - local.get $radix - i32.const 16 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + local.get $yr + local.tee $3 + i32.const 31 + i32.shr_s + local.tee $4 + local.get $3 + i32.add + local.get $4 + i32.xor + i32.const 6 + call $~lib/date/stringify + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/string/String.__concat + else + local.get $yr + i32.const 4 + call $~lib/date/stringify + end + local.tee $year + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#get:month + i32.const 2 + call $~lib/date/stringify + local.tee $month + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#get:day + i32.const 2 + call $~lib/date/stringify + local.tee $day + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $hours + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $mins + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $secs + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/date/Date#getUTCMilliseconds + i32.const 3 + call $~lib/date/stringify + local.tee $ms + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $year + local.tee $12 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $month + local.tee $13 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $day + local.tee $14 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $hours + local.tee $15 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $mins + local.tee $16 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $secs + local.tee $17 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $ms + local.tee $18 + i32.store $0 offset=60 + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 0 + local.get $12 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 2 + local.get $13 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 4 + local.get $14 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 6 + local.get $15 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 8 + local.get $16 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 10 + local.get $17 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 12 + local.get $18 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=64 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 2592 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + i32.const 2432 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 i32.eq - if - local.get $len - i32.const 2 - i32.gt_s - if (result i32) - local.get $code - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - end - end + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $~lib/date/Date#toDateString (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + (local $weeks i32) + (local $3 i32) + (local $months i32) + (local $mo i32) + (local $da i32) + (local $yr i32) + (local $wd i32) + (local $9 i32) + (local $10 i32) + (local $year i32) + (local $month i32) + (local $week i32) + (local $day i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + global.get $~lib/memory/__stack_pointer + i32.const 56 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 56 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.const 5 + i32.const 3616 + call $~lib/rt/__newBuffer + local.tee $weeks + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.const 5 + i32.const 4048 + call $~lib/rt/__newBuffer + local.tee $months + i32.store $0 offset=4 + local.get $this + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + call $~lib/date/Date#get:month + local.set $mo + local.get $this + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + call $~lib/date/Date#get:day + local.set $da + local.get $this + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + call $~lib/date/Date#get:year + local.set $yr + local.get $yr + local.get $mo + local.get $da + call $~lib/date/dayOfWeek + local.set $wd + global.get $~lib/memory/__stack_pointer + local.get $yr + local.tee $9 + i32.const 31 + i32.shr_s + local.tee $10 + local.get $9 + i32.add + local.get $10 + i32.xor + i32.const 4 + call $~lib/date/stringify + local.tee $year + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $months + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + local.get $mo + i32.const 1 + i32.sub + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $month + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $weeks + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + local.get $wd + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $week + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $da + i32.const 2 + call $~lib/date/stringify + local.tee $day + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $week + local.tee $15 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $month + local.tee $16 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $day + local.tee $17 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $yr + i32.const 0 + i32.lt_s + if (result i32) + i32.const 4176 else - local.get $code - i32.const 48 - i32.eq - if (result i32) - local.get $len - 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 $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.set $6 - local.get $6 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $6 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $6 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 2 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 8 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 16 - local.set $radix - br $break|1 - end - end - local.get $radix - i32.eqz - if - i32.const 10 - local.set $radix - end + i32.const 4208 end + local.tee $18 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $year + local.tee $19 + i32.store $0 offset=44 + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 0 + local.get $15 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=48 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 1 + local.get $16 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=48 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 2 + local.get $17 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=48 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 3 + local.get $18 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=48 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 4 + local.get $19 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=48 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4128 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=8 + local.get $20 + i32.const 2432 + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 offset=52 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $20 + global.get $~lib/memory/__stack_pointer + i32.const 56 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $20 + return + ) + (func $~lib/date/Date#toTimeString (type $i32_=>_i32) (param $this i32) (result i32) + (local $hours i32) + (local $mins i32) + (local $secs i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + 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 + i32.const 0 + i32.const 36 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $hours + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $mins + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $secs + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $hours + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $mins + local.tee $5 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $secs + local.tee $6 + i32.store $0 offset=24 + i32.const 4432 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 i32.const 0 - local.set $num - local.get $len + local.get $4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=28 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4432 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 2 + local.get $5 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=28 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4432 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 4 + local.get $6 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=28 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4432 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 2432 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=32 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/date/Date#toUTCString (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + (local $weeks i32) + (local $3 i32) + (local $months i32) + (local $mo i32) + (local $da i32) + (local $yr i32) + (local $wd i32) + (local $9 i32) + (local $10 i32) + (local $year i32) + (local $month i32) + (local $week i32) + (local $day i32) + (local $hours i32) + (local $mins i32) + (local $secs i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + global.get $~lib/memory/__stack_pointer + i32.const 80 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 80 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.const 5 + i32.const 4800 + call $~lib/rt/__newBuffer + local.tee $weeks + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.const 5 + i32.const 5232 + call $~lib/rt/__newBuffer + local.tee $months + i32.store $0 offset=4 + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#get:month + local.set $mo + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#get:day + local.set $da + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#get:year + local.set $yr + local.get $yr + local.get $mo + local.get $da + call $~lib/date/dayOfWeek + local.set $wd + global.get $~lib/memory/__stack_pointer + local.get $yr + local.tee $9 + i32.const 31 + i32.shr_s + local.tee $10 + local.get $9 + i32.add + local.get $10 + i32.xor + i32.const 4 + call $~lib/date/stringify + local.tee $year + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $months + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + local.get $mo i32.const 1 i32.sub - local.set $initial - block $while-break|2 - loop $while-continue|2 - local.get $len - local.tee $9 - i32.const 1 - i32.sub - local.set $len - local.get $9 - if - local.get $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $code - i32.const 48 - i32.sub - local.set $code - else - local.get $code - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $code - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $code - else - local.get $code - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $code - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $code - end - end - end - local.get $code - local.get $radix - i32.ge_u - if - local.get $initial - local.get $len - i32.eq - if - i32.const 0 - drop - i32.const 0 - return - end - br $while-break|2 - end - local.get $num - local.get $radix - i32.mul - local.get $code - i32.add - local.set $num - local.get $ptr - i32.const 2 - i32.add - local.set $ptr - br $while-continue|2 - end - end + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $month + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $weeks + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + local.get $wd + call $~lib/staticarray/StaticArray<~lib/string/String>#__uget + local.tee $week + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $da + i32.const 2 + call $~lib/date/stringify + local.tee $day + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $hours + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $mins + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $secs + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $week + local.tee $18 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $day + local.tee $19 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $month + local.tee $20 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $yr + i32.const 0 + i32.lt_s + if (result i32) + i32.const 592 + else + i32.const 2432 end - local.get $sign - local.get $num - i32.mul - return - ) - (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - local.get $value - local.get $radix - call $~lib/util/string/strtol + local.tee $21 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $year + local.tee $22 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $hours + local.tee $23 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $mins + local.tee $24 + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer + local.get $secs + local.tee $25 + i32.store $0 offset=68 + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 0 + local.get $18 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 1 + local.get $19 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 2 + local.get $20 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 3 + local.get $21 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 4 + local.get $22 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 6 + local.get $23 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 8 + local.get $24 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 10 + local.get $25 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=72 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 5344 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=8 + local.get $26 + i32.const 2432 + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 offset=76 + local.get $26 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $26 + global.get $~lib/memory/__stack_pointer + i32.const 80 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $26 return ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - i32.const 368 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 5760 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 5808 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 176 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 1280 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 2336 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 + (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + (local $searchLen i32) + (local $len i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $searchStart 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 $0 + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $searchLen + local.get $searchLen + i32.eqz if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + i32.const 0 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - local.set $cur - local.get $cur local.get $this - i32.const 20 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $len + i32.eqz + if + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $start + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.tee $7 + local.get $len + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $searchStart + local.get $len + local.get $searchLen i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + local.set $len + loop $for-loop|0 + local.get $searchStart + local.get $len + i32.le_s if - local.get $cur - i32.load $0 - local.set $val - local.get $val + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + local.get $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + i32.const 0 + local.get $searchLen + call $~lib/util/string/compareImpl + i32.eqz if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $searchStart + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return end - local.get $cur - i32.const 4 + local.get $searchStart + i32.const 1 i32.add - local.set $cur - br $while-continue|0 + local.set $searchStart + br $for-loop|0 end end - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__visit - ) - (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 + local.get $22 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 + i32.const 0 + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size + i32.eqz + if + i32.const 2432 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $fromPos + i32.eqz + if (result i32) + local.get $toPos + local.get $len + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + global.get $~lib/memory/__stack_pointer + local.get $size i32.const 2 - i32.shl + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $fromPos i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $size + memory.copy $0 $0 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 + unreachable end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end end local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $end + call $~lib/string/String#substring + 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#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/array/Array - block $~lib/array/Array<~lib/string/String> - block $~lib/staticarray/StaticArray<~lib/string/String> - block $~lib/date/Date - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid - end - return - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - return - end - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 5760 + i32.const 5712 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - unreachable - ) - (func $~start (type $none_=>_none) - global.get $~started - if - return + local.get $array + local.get $newCapacity + i32.store $0 offset=8 end - i32.const 1 - global.set $~started - call $start:std/date + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~stack_check (type $none_=>_none) + (func $~lib/array/Array<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u if - i32.const 39600 - i32.const 39648 + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 368 + i32.const 5712 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + call $~lib/array/Array<~lib/string/String>#set:length_ end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/date/stringify (type $i32_i32_=>_i32) (param $value i32) (param $padding i32) (result i32) - (local $2 i32) + (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len 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 $0 - local.get $value - i32.const 10 - call $~lib/number/I32#toString - local.set $2 + i32.const 0 + i32.store $0 + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $4 i32.store $0 - local.get $2 - local.get $padding - i32.const 848 - local.set $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 1 + drop + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/string/String#padStart - local.set $2 + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $4 + i32.store $0 + local.get $4 + local.get $len + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $len + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $4 return ) - (func $~lib/date/Date#toISOString (type $i32_=>_i32) (param $this i32) (result i32) - (local $yr i32) - (local $isNeg i32) + (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) (local $3 i32) (local $4 i32) - (local $year i32) - (local $month i32) - (local $day i32) - (local $hours i32) - (local $mins i32) - (local $secs i32) - (local $ms 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) + (local $length i32) + (local $sepLen i32) + (local $7 i32) + (local $8 i32) + (local $result i32) + (local $resultStart i32) + (local $i i32) + (local $charStr i32) + (local $result|13 i32) + (local $result|14 i32) + (local $end i32) + (local $start i32) + (local $i|17 i32) + (local $len i32) + (local $out i32) + (local $len|20 i32) + (local $out|21 i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 40 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 + i32.const 40 memory.fill $0 - local.get $this - call $~lib/date/Date#get:year - local.set $yr - local.get $yr - i32.const 0 - i32.lt_s - local.set $isNeg - global.get $~lib/memory/__stack_pointer - local.get $isNeg - if (result i32) - i32.const 1 - else - local.get $yr - i32.const 10000 - i32.ge_s + local.get $limit + i32.eqz + if + i32.const 0 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - if (result i32) - local.get $isNeg - if (result i32) - i32.const 592 - else - i32.const 624 - end - local.set $19 + local.get $separator + i32.const 0 + i32.eq + if global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - local.get $yr + i32.const 1 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray local.tee $3 - i32.const 31 - i32.shr_s + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load $0 offset=4 local.tee $4 + i32.store $0 offset=4 local.get $3 - i32.add - local.get $4 - i32.xor - i32.const 6 - call $~lib/date/stringify - local.set $19 + i32.const 0 + local.get $this + call $~lib/array/Array<~lib/string/String>#__set + local.get $3 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 offset=4 - local.get $19 - call $~lib/string/String.__concat - else - local.get $yr - i32.const 4 - call $~lib/date/stringify + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - local.tee $year - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#get:month - i32.const 2 - call $~lib/date/stringify - local.tee $month - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/date/Date#get:day - i32.const 2 - call $~lib/date/stringify - local.tee $day - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCHours - i32.const 2 - call $~lib/date/stringify - local.tee $hours - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCMinutes - i32.const 2 - call $~lib/date/stringify - local.tee $mins - i32.store $0 offset=24 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCSeconds - i32.const 2 - call $~lib/date/stringify - local.tee $secs - i32.store $0 offset=28 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCMilliseconds - i32.const 3 - call $~lib/date/stringify - local.tee $ms - i32.store $0 offset=32 - local.get $year - local.set $12 - local.get $month - local.set $13 - local.get $day - local.set $14 - local.get $hours - local.set $15 - local.get $mins - local.set $16 - local.get $secs - local.set $17 - local.get $ms - local.set $18 - i32.const 2592 - local.set $19 + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/string/String#get:length + local.set $length + local.get $separator + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/string/String#get:length + local.set $sepLen + local.get $limit i32.const 0 - local.get $12 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 2 - local.get $13 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 4 - local.get $14 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 + i32.lt_s + if + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $sepLen + i32.eqz + if + local.get $length + i32.eqz + if + i32.const 0 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $length + local.tee $7 + local.get $limit + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $length + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $resultStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $charStr + i32.store $0 offset=16 + local.get $charStr + local.get $this + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $resultStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $charStr + i32.store $0 + local.get $result + local.get $charStr + i32.const 1 + call $~lib/rt/itcms/__link + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $result + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + else + local.get $length + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 6 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result|13 + i32.store $0 offset=20 + local.get $result|13 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/array/Array<~lib/string/String>#get:dataStart + i32.const 2432 + i32.store $0 + local.get $result|13 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + end global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 + i32.const 0 + i32.const 2 i32.const 6 - local.get $15 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 8 - local.get $16 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 10 - local.get $17 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 12 - local.get $18 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 2592 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 - local.get $19 - i32.const 2432 - local.set $19 - global.get $~lib/memory/__stack_pointer - local.get $19 - i32.store $0 offset=4 - local.get $19 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - ) - (func $~lib/date/Date#toDateString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) - (local $weeks i32) - (local $3 i32) - (local $months i32) - (local $mo i32) - (local $da i32) - (local $yr i32) - (local $wd i32) - (local $9 i32) - (local $10 i32) - (local $year i32) - (local $month i32) - (local $week i32) - (local $day i32) - (local $15 i32) - (local $16 i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - 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 i32.const 0 - i32.const 36 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.const 5 - i32.const 3616 - call $~lib/rt/__newBuffer - local.tee $weeks - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 48 - i32.const 5 - i32.const 4048 - call $~lib/rt/__newBuffer - local.tee $months - i32.store $0 offset=4 - local.get $this - call $~lib/date/Date#get:month - local.set $mo - local.get $this - call $~lib/date/Date#get:day - local.set $da - local.get $this - call $~lib/date/Date#get:year - local.set $yr - local.get $yr - local.get $mo - local.get $da - call $~lib/date/dayOfWeek - local.set $wd - global.get $~lib/memory/__stack_pointer - local.get $yr - local.tee $9 - i32.const 31 - i32.shr_s - local.tee $10 - local.get $9 - i32.add - local.get $10 - i32.xor - i32.const 4 - call $~lib/date/stringify - local.tee $year - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $months - local.get $mo - i32.const 1 + call $~lib/rt/__newArray + local.tee $result|14 + i32.store $0 offset=24 + i32.const 0 + local.set $end + i32.const 0 + local.set $start + i32.const 0 + local.set $i|17 + loop $while-continue|1 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $separator + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + local.get $start + call $~lib/string/String#indexOf + local.tee $end + i32.const -1 + i32.xor + if + local.get $end + local.get $start + i32.sub + local.set $len + local.get $len + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=32 + local.get $out + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + i32.const 2432 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $i|17 + i32.const 1 + i32.add + local.tee $i|17 + local.get $limit + i32.eq + if + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $end + local.get $sepLen + i32.add + local.set $start + br $while-continue|1 + end + end + local.get $start + i32.eqz + if + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $length + local.get $start i32.sub - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.tee $month - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $weeks - local.get $wd - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.tee $week - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $da - i32.const 2 - call $~lib/date/stringify - local.tee $day - i32.store $0 offset=20 - local.get $week - local.set $15 - local.get $month - local.set $16 - local.get $day - local.set $17 - global.get $~lib/memory/__stack_pointer - local.get $yr + local.set $len|20 + local.get $len|20 i32.const 0 - i32.lt_s - if (result i32) - i32.const 4176 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $len|20 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out|21 + i32.store $0 offset=36 + local.get $out|21 + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len|20 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $out|21 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop else - i32.const 4208 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + i32.const 2432 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop end - local.tee $18 - i32.store $0 offset=24 - local.get $year - local.set $19 - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 0 - local.get $15 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 1 - local.get $16 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 2 - local.get $17 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 3 - local.get $18 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 4 - local.get $19 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4128 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=28 - local.get $20 - i32.const 2432 - local.set $20 - global.get $~lib/memory/__stack_pointer - local.get $20 - i32.store $0 offset=32 - local.get $20 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $20 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 + local.get $22 return ) - (func $~lib/date/Date#toTimeString (type $i32_=>_i32) (param $this i32) (result i32) - (local $hours i32) - (local $mins i32) - (local $secs i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) + (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCHours - i32.const 2 - call $~lib/date/stringify - local.tee $hours - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCMinutes - i32.const 2 - call $~lib/date/stringify - local.tee $mins - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCSeconds - i32.const 2 - call $~lib/date/stringify - local.tee $secs - i32.store $0 offset=8 - local.get $hours - local.set $4 - local.get $mins - local.set $5 - local.get $secs - local.set $6 - i32.const 4432 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - i32.const 0 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4432 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - i32.const 2 - local.get $5 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4432 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - i32.const 4 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4432 - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - i32.const 2432 - local.set $7 + i64.const 0 + i64.store $0 + 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 $separator + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=16 - local.get $7 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $7 + local.get $3 + i32.store $0 + local.get $3 + local.get $separator + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $limit + call $~lib/string/String#split + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - return + local.get $3 ) - (func $~lib/date/Date#toUTCString (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) - (local $weeks i32) - (local $3 i32) - (local $months i32) - (local $mo i32) - (local $da i32) - (local $yr i32) - (local $wd i32) - (local $9 i32) - (local $10 i32) - (local $year i32) - (local $month i32) - (local $week i32) - (local $day i32) - (local $hours i32) - (local $mins i32) - (local $secs i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) global.get $~lib/memory/__stack_pointer - i32.const 48 + 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 48 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 28 - i32.const 5 - i32.const 4800 - call $~lib/rt/__newBuffer - local.tee $weeks i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 48 - i32.const 5 - i32.const 5232 - call $~lib/rt/__newBuffer - local.tee $months - i32.store $0 offset=4 - local.get $this - call $~lib/date/Date#get:month - local.set $mo local.get $this - call $~lib/date/Date#get:day - local.set $da - local.get $this - call $~lib/date/Date#get:year - local.set $yr - local.get $yr - local.get $mo - local.get $da - call $~lib/date/dayOfWeek - local.set $wd + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $yr - local.tee $9 - i32.const 31 - i32.shr_s - local.tee $10 - local.get $9 - i32.add - local.get $10 - i32.xor i32.const 4 - call $~lib/date/stringify - local.tee $year - i32.store $0 offset=8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $months - local.get $mo - i32.const 1 + i32.const 8 i32.sub - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.tee $month - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $weeks - local.get $wd - call $~lib/staticarray/StaticArray<~lib/string/String>#__uget - local.tee $week - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $da - i32.const 2 - call $~lib/date/stringify - local.tee $day - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCHours - i32.const 2 - call $~lib/date/stringify - local.tee $hours - i32.store $0 offset=24 - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/date/Date#getUTCMinutes - i32.const 2 - call $~lib/date/stringify - local.tee $mins - i32.store $0 offset=28 + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $index local.get $this - call $~lib/date/Date#getUTCSeconds - i32.const 2 - call $~lib/date/stringify - local.tee $secs - i32.store $0 offset=32 - local.get $week - local.set $18 - local.get $day - local.set $19 - local.get $month - local.set $20 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $yr - i32.const 0 - i32.lt_s - if (result i32) - i32.const 592 - else - i32.const 2432 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u + if + i32.const 368 + i32.const 5712 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - local.tee $21 - i32.store $0 offset=36 - local.get $year - local.set $22 - local.get $hours - local.set $23 - local.get $mins - local.set $24 - local.get $secs - local.set $25 - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 0 - local.get $18 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 1 - local.get $19 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 2 - local.get $20 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 3 - local.get $21 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 4 - local.get $22 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 6 - local.get $23 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 8 - local.get $24 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 - global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 10 - local.get $25 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 5344 - local.set $26 global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=40 - local.get $26 - i32.const 2432 - local.set $26 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $26 - i32.store $0 offset=44 - local.get $26 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $26 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 5808 + i32.const 5712 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $26 + local.get $3 return ) - (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $length i32) - (local $sepLen i32) - (local $7 i32) - (local $8 i32) - (local $result i32) - (local $resultStart i32) - (local $i i32) - (local $charStr i32) - (local $result|13 i32) - (local $result|14 i32) - (local $end i32) - (local $start i32) - (local $i|17 i32) + (func $~lib/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) (local $len i32) - (local $out i32) - (local $len|20 i32) - (local $out|21 i32) - (local $22 i32) + (local $ptr i32) + (local $code i32) + (local $sign i32) + (local $6 i32) + (local $num i32) + (local $initial i32) + (local $9 i32) + (local $10 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 i32.const 0 - i32.const 36 - memory.fill $0 - local.get $limit + i32.store $0 + local.get $str + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $len i32.eqz if i32.const 0 - i32.const 2 - i32.const 6 + drop i32.const 0 - call $~lib/rt/__newArray - local.set $22 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - local.get $separator - i32.const 0 + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u $0 + local.set $code + loop $while-continue|0 + local.get $code + call $~lib/util/string/isSpace + if + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $len + i32.const 1 + i32.sub + local.set $len + br $while-continue|0 + end + end + i32.const 1 + local.set $sign + local.get $code + i32.const 45 i32.eq - if - global.get $~lib/memory/__stack_pointer + if (result i32) i32.const 1 - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - local.tee $4 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - local.get $this - call $~lib/array/Array<~lib/string/String>#__set - local.get $3 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $this - call $~lib/string/String#get:length - local.set $length - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen - local.get $limit - i32.const 0 - i32.lt_s - if - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit + else + local.get $code + i32.const 43 + i32.eq end - local.get $sepLen - i32.eqz if - local.get $length + local.get $len + i32.const 1 + i32.sub + local.tee $len i32.eqz if i32.const 0 - i32.const 2 - i32.const 6 + drop i32.const 0 - call $~lib/rt/__newArray - local.set $22 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - local.get $length - local.tee $7 - local.get $limit - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $length - global.get $~lib/memory/__stack_pointer - local.get $length + local.get $code + i32.const 45 + i32.eq + if + i32.const -1 + local.set $sign + end + local.get $ptr i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result - i32.store $0 offset=8 - local.get $result - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $resultStart - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $charStr - i32.store $0 offset=12 - local.get $charStr - local.get $this - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $resultStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $charStr - i32.store $0 - local.get $result - local.get $charStr - i32.const 1 - call $~lib/rt/itcms/__link - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + end + local.get $radix + if + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s end - local.get $result - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - else - local.get $length - i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 6 i32.const 0 - call $~lib/rt/__newArray - local.tee $result|13 - i32.store $0 offset=16 - local.get $result|13 - call $~lib/array/Array<~lib/string/String>#get:dataStart - i32.const 2432 - i32.store $0 - local.get $result|13 - local.set $22 + drop + i32.const 0 + local.set $10 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $10 return end - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 6 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result|14 - i32.store $0 offset=20 - i32.const 0 - local.set $end - i32.const 0 - local.set $start - i32.const 0 - local.set $i|17 - loop $while-continue|1 - local.get $this - local.get $separator - local.get $start - call $~lib/string/String#indexOf - local.tee $end - i32.const -1 - i32.xor + local.get $radix + i32.const 16 + i32.eq if - local.get $end - local.get $start - i32.sub - local.set $len local.get $len - i32.const 0 + i32.const 2 i32.gt_s + if (result i32) + local.get $code + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end if - global.get $~lib/memory/__stack_pointer + local.get $ptr + i32.const 4 + i32.add + local.set $ptr local.get $len - i32.const 1 - i32.shl i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 offset=24 - local.get $out - local.get $this - local.get $start - i32.const 1 - i32.shl + i32.sub + local.set $len + end + end + else + local.get $code + i32.const 48 + i32.eq + if (result i32) + local.get $len + 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 $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.set $6 + local.get $6 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $6 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $6 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 2 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 8 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 16 + local.set $radix + br $break|1 + end + end + local.get $radix + i32.eqz + if + i32.const 10 + local.set $radix + end + end + i32.const 0 + local.set $num + local.get $len + i32.const 1 + i32.sub + local.set $initial + block $while-break|2 + loop $while-continue|2 + local.get $len + local.tee $9 + i32.const 1 + i32.sub + local.set $len + local.get $9 + if + local.get $ptr + i32.load16_u $0 + local.set $code + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $code + i32.const 48 + i32.sub + local.set $code + else + local.get $code + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $code + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $code + else + local.get $code + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $code + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $code + end + end + end + local.get $code + local.get $radix + i32.ge_u + if + local.get $initial + local.get $len + i32.eq + if + i32.const 0 + drop + i32.const 0 + 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 + br $while-break|2 + end + local.get $num + local.get $radix + i32.mul + local.get $code i32.add - local.get $len - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $result|14 - local.get $out - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - i32.const 2432 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - end - local.get $i|17 - i32.const 1 - i32.add - local.tee $i|17 - local.get $limit - i32.eq - if - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 + local.set $num + local.get $ptr + i32.const 2 i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return + local.set $ptr + br $while-continue|2 end - local.get $end - local.get $sepLen - i32.add - local.set $start - br $while-continue|1 end end - local.get $start - i32.eqz - if - local.get $result|14 - local.get $this - call $~lib/array/Array<~lib/string/String>#push - drop - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $length - local.get $start + local.get $sign + local.get $num + i32.mul + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $len|20 - local.get $len|20 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $len|20 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out|21 - i32.store $0 offset=32 - local.get $out|21 - local.get $this - local.get $start - i32.const 1 - i32.shl - i32.add - local.get $len|20 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $result|14 - local.get $out|21 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - i32.const 2432 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - end - local.get $result|14 - local.set $22 + i32.store $0 + local.get $value + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 36 + local.get $2 + i32.store $0 + local.get $2 + local.get $radix + 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 $22 + local.get $2 return ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $dateTimeString i32) (result i32) @@ -5977,6 +7745,11 @@ i32.const 28 memory.fill $0 local.get $dateTimeString + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 call $~lib/string/String#get:length i32.eqz if @@ -5995,15 +7768,22 @@ local.set $sec i32.const 0 local.set $ms + global.get $~lib/memory/__stack_pointer local.get $dateTimeString - local.set $dateString + local.tee $dateString + i32.store $0 offset=4 local.get $dateTimeString - i32.const 2464 local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 i32.store $0 local.get $17 + i32.const 2464 + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 0 call $~lib/string/String#indexOf local.set $posT @@ -6013,6 +7793,11 @@ if global.get $~lib/memory/__stack_pointer local.get $dateTimeString + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 i32.const 0 local.get $posT call $~lib/string/String#substring @@ -6020,6 +7805,11 @@ i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer local.get $dateTimeString + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 local.get $posT i32.const 1 i32.add @@ -6028,22 +7818,32 @@ i32.const 0 call $~lib/string/String#substring@varargs local.tee $timeString - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer local.get $timeString - i32.const 2496 local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 i32.store $0 local.get $17 + i32.const 2496 + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String#split@varargs local.tee $timeParts - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $timeParts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 call $~lib/array/Array<~lib/string/String>#get:length local.set $len local.get $len @@ -6058,23 +7858,33 @@ unreachable end local.get $timeParts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt local.set $hour local.get $timeParts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt @@ -6085,17 +7895,27 @@ if global.get $~lib/memory/__stack_pointer local.get $timeParts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $secAndMs i32.store $0 offset=20 local.get $secAndMs - i32.const 2528 local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 i32.store $0 local.get $17 + i32.const 2528 + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 0 call $~lib/string/String#indexOf local.set $posDot @@ -6104,18 +7924,28 @@ i32.xor if local.get $secAndMs + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 0 local.get $posDot call $~lib/string/String#substring local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt local.set $sec local.get $secAndMs + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 local.get $posDot i32.const 1 i32.add @@ -6126,13 +7956,18 @@ local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt local.set $ms else local.get $secAndMs + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 i32.const 0 call $~lib/number/I32.parseInt local.set $sec @@ -6141,12 +7976,17 @@ end global.get $~lib/memory/__stack_pointer local.get $dateString - i32.const 592 local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 i32.store $0 local.get $17 + i32.const 592 + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 1 global.set $~argumentsLength i32.const 0 @@ -6154,12 +7994,17 @@ local.tee $parts i32.store $0 offset=24 local.get $parts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt @@ -6169,6 +8014,11 @@ i32.const 1 local.set $day local.get $parts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 + local.get $17 call $~lib/array/Array<~lib/string/String>#get:length local.set $len|16 local.get $len|16 @@ -6176,12 +8026,17 @@ i32.ge_s if local.get $parts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 1 call $~lib/array/Array<~lib/string/String>#__get local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt @@ -6191,12 +8046,17 @@ i32.ge_s if local.get $parts + local.set $17 + global.get $~lib/memory/__stack_pointer + local.get $17 + i32.store $0 offset=8 + local.get $17 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.set $17 global.get $~lib/memory/__stack_pointer local.get $17 - i32.store $0 offset=16 + i32.store $0 local.get $17 i32.const 0 call $~lib/number/I32.parseInt @@ -6380,13 +8240,13 @@ (local $155 i32) (local $156 i32) global.get $~lib/memory/__stack_pointer - i32.const 116 + i32.const 408 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 116 + i32.const 408 memory.fill $0 block $~lib/date/Date.UTC|inlined.0 (result i64) i32.const 1970 @@ -6876,9 +8736,16 @@ local.tee $57 i32.store $0 block $~lib/date/Date#getTime|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer local.get $57 - local.set $58 + local.tee $58 + i32.store $0 offset=4 local.get $58 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.0 end @@ -6894,15 +8761,27 @@ unreachable end local.get $57 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 local.get $56 i64.const 1 i64.add call $~lib/date/Date#setTime drop block $~lib/date/Date#getTime|inlined.1 (result i64) + global.get $~lib/memory/__stack_pointer local.get $57 - local.set $59 + local.tee $59 + i32.store $0 offset=12 local.get $59 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis br $~lib/date/Date#getTime|inlined.1 end @@ -6924,11 +8803,18 @@ i64.const 5918283958183706 call $~lib/date/Date#constructor local.tee $60 - i32.store $0 offset=4 + i32.store $0 offset=16 block $~lib/date/Date#getUTCFullYear|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $60 - local.set $61 + local.tee $61 + i32.store $0 offset=20 local.get $61 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:year br $~lib/date/Date#getUTCFullYear|inlined.0 end @@ -6944,9 +8830,16 @@ unreachable end block $~lib/date/Date#getUTCMonth|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $60 - local.set $62 + local.tee $62 + i32.store $0 offset=24 local.get $62 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:month i32.const 1 i32.sub @@ -6964,9 +8857,16 @@ unreachable end block $~lib/date/Date#getUTCDate|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $60 - local.set $63 + local.tee $63 + i32.store $0 offset=28 local.get $63 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:day br $~lib/date/Date#getUTCDate|inlined.0 end @@ -6982,6 +8882,11 @@ unreachable end local.get $60 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#getUTCHours i32.const 22 i32.eq @@ -6995,3481 +8900,3972 @@ unreachable end local.get $60 - call $~lib/date/Date#getUTCMinutes - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $60 - call $~lib/date/Date#getUTCSeconds - i32.const 43 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $60 - call $~lib/date/Date#getUTCMilliseconds - i32.const 706 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 34 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 123814991274 - call $~lib/date/Date#constructor - local.tee $64 + local.get $156 i32.store $0 offset=8 - block $~lib/date/Date#getUTCFullYear|inlined.1 (result i32) - local.get $64 - local.set $65 - local.get $65 - call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.1 - end - i32.const 1973 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 40 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $~lib/date/Date#getUTCMonth|inlined.1 (result i32) - local.get $64 - local.set $66 - local.get $66 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.1 - end - i32.const 11 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 41 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $~lib/date/Date#getUTCDate|inlined.1 (result i32) - local.get $64 - local.set $67 - local.get $67 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.1 - end - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $64 - call $~lib/date/Date#getUTCHours - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $64 + local.get $156 call $~lib/date/Date#getUTCMinutes - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $64 - call $~lib/date/Date#getUTCSeconds - i32.const 11 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $64 - call $~lib/date/Date#getUTCMilliseconds - i32.const 274 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 399464523963984 - call $~lib/date/Date#constructor - local.tee $68 - i32.store $0 offset=12 - local.get $68 - call $~lib/date/Date#getUTCMilliseconds - i32.const 984 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 52 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $68 - i32.const 12 - call $~lib/date/Date#setUTCMilliseconds - local.get $68 - call $~lib/date/Date#getUTCMilliseconds - i32.const 12 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 54 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $68 - i32.const 568 - call $~lib/date/Date#setUTCMilliseconds - local.get $68 - call $~lib/date/Date#getUTCMilliseconds - i32.const 568 + i32.const 9 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $68 - i32.const 0 - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.2 (result i64) - local.get $68 - local.set $69 - local.get $69 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.2 - end - i64.const 399464523963000 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 59 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $68 - i32.const 999 - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.3 (result i64) - local.get $68 - local.set $70 - local.get $70 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.3 - end - i64.const 399464523963999 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 61 + i32.const 32 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $68 - i32.const 2000 - call $~lib/date/Date#setUTCMilliseconds - local.get $68 - call $~lib/date/Date#getUTCMilliseconds - i32.const 0 + local.get $60 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 43 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 64 + i32.const 33 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.4 (result i64) - local.get $68 - local.set $71 - local.get $71 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.4 - end - i64.const 399464523965000 - i64.eq + local.get $60 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 706 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 65 + i32.const 34 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $68 - i32.const -2000 - call $~lib/date/Date#setUTCMilliseconds - local.get $68 - call $~lib/date/Date#getUTCMilliseconds + global.get $~lib/memory/__stack_pointer i32.const 0 + i64.const 123814991274 + call $~lib/date/Date#constructor + local.tee $64 + i32.store $0 offset=32 + block $~lib/date/Date#getUTCFullYear|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $64 + local.tee $65 + i32.store $0 offset=36 + local.get $65 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.1 + end + i32.const 1973 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 67 + i32.const 40 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.5 (result i64) - local.get $68 - local.set $72 - local.get $72 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.5 + block $~lib/date/Date#getUTCMonth|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $64 + local.tee $66 + i32.store $0 offset=40 + local.get $66 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.1 end - i64.const 399464523963000 - i64.eq + i32.const 11 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 68 + i32.const 41 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 372027318331986 - call $~lib/date/Date#constructor - local.tee $73 - i32.store $0 offset=16 - local.get $73 - call $~lib/date/Date#getUTCSeconds - i32.const 31 + block $~lib/date/Date#getUTCDate|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $64 + local.tee $67 + i32.store $0 offset=44 + local.get $67 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.1 + end + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 74 + i32.const 42 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $73 - i32.const 12 - call $~lib/date/Date#setUTCSeconds - local.get $73 - call $~lib/date/Date#getUTCSeconds - i32.const 12 + local.get $64 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCHours + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 76 + i32.const 43 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $73 - i32.const 50 - call $~lib/date/Date#setUTCSeconds - local.get $73 - call $~lib/date/Date#getUTCSeconds - i32.const 50 + local.get $64 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 78 + i32.const 44 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $73 - i32.const 0 - call $~lib/date/Date#setUTCSeconds - block $~lib/date/Date#getTime|inlined.6 (result i64) - local.get $73 - local.set $74 - local.get $74 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.6 - end - i64.const 372027318300986 - i64.eq + local.get $64 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 11 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 81 + i32.const 45 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $73 - i32.const 59 - call $~lib/date/Date#setUTCSeconds - block $~lib/date/Date#getTime|inlined.7 (result i64) - local.get $73 - local.set $75 - local.get $75 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.7 - end - i64.const 372027318359986 - i64.eq + local.get $64 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 274 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 83 + i32.const 46 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const 372027318331986 + i64.const 399464523963984 call $~lib/date/Date#constructor - local.tee $76 - i32.store $0 offset=20 - local.get $76 - call $~lib/date/Date#getUTCMinutes - i32.const 45 + local.tee $68 + i32.store $0 offset=48 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 984 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 89 + i32.const 52 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $76 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 i32.const 12 - call $~lib/date/Date#setUTCMinutes - local.get $76 - call $~lib/date/Date#getUTCMinutes + call $~lib/date/Date#setUTCMilliseconds + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds i32.const 12 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 91 + i32.const 54 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $76 - i32.const 50 - call $~lib/date/Date#setUTCMinutes - local.get $76 - call $~lib/date/Date#getUTCMinutes - i32.const 50 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 568 + call $~lib/date/Date#setUTCMilliseconds + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 568 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 93 + i32.const 56 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $76 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 i32.const 0 - call $~lib/date/Date#setUTCMinutes - block $~lib/date/Date#getTime|inlined.8 (result i64) - local.get $76 - local.set $77 - local.get $77 + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.2 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $68 + local.tee $69 + i32.store $0 offset=52 + local.get $69 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.8 + br $~lib/date/Date#getTime|inlined.2 end - i64.const 372027315631986 + i64.const 399464523963000 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 96 + i32.const 59 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $76 - i32.const 59 - call $~lib/date/Date#setUTCMinutes - block $~lib/date/Date#getTime|inlined.9 (result i64) - local.get $76 - local.set $78 - local.get $78 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 999 + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.3 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $68 + local.tee $70 + i32.store $0 offset=56 + local.get $70 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.9 + br $~lib/date/Date#getTime|inlined.3 end - i64.const 372027319171986 + i64.const 399464523963999 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 98 + i32.const 61 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2000 + call $~lib/date/Date#setUTCMilliseconds + local.get $68 + local.set $156 global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds i32.const 0 - i64.const 372027318331986 - call $~lib/date/Date#constructor - local.tee $79 - i32.store $0 offset=24 - local.get $79 - call $~lib/date/Date#getUTCHours - i32.const 17 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 104 + i32.const 64 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $79 - i32.const 12 - call $~lib/date/Date#setUTCHours - local.get $79 - call $~lib/date/Date#getUTCHours - i32.const 12 - i32.eq + block $~lib/date/Date#getTime|inlined.4 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $68 + local.tee $71 + i32.store $0 offset=60 + local.get $71 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.4 + end + i64.const 399464523965000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 106 + i32.const 65 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $79 - i32.const 2 - call $~lib/date/Date#setUTCHours - local.get $79 - call $~lib/date/Date#getUTCHours - i32.const 2 + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const -2000 + call $~lib/date/Date#setUTCMilliseconds + local.get $68 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 108 + i32.const 67 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $79 - i32.const 0 - call $~lib/date/Date#setUTCHours - block $~lib/date/Date#getTime|inlined.10 (result i64) - local.get $79 - local.set $80 - local.get $80 + block $~lib/date/Date#getTime|inlined.5 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $68 + local.tee $72 + i32.store $0 offset=64 + local.get $72 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.10 + br $~lib/date/Date#getTime|inlined.5 end - i64.const 372027257131986 + i64.const 399464523963000 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 111 + i32.const 68 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $79 - i32.const 23 - call $~lib/date/Date#setUTCHours - block $~lib/date/Date#getTime|inlined.11 (result i64) - local.get $79 - local.set $81 - local.get $81 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.11 - end - i64.const 372027339931986 - i64.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 372027318331986 + call $~lib/date/Date#constructor + local.tee $73 + i32.store $0 offset=68 + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 31 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 113 + i32.const 74 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $73 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 123814991274 - call $~lib/date/Date#constructor - local.tee $82 - i32.store $0 offset=28 - block $~lib/date/Date#getUTCFullYear|inlined.2 (result i32) - local.get $82 - local.set $83 - local.get $83 - call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.2 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 12 + call $~lib/date/Date#setUTCSeconds + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 76 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 1973 + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 50 + call $~lib/date/Date#setUTCSeconds + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 50 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 119 + i32.const 78 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCMonth|inlined.2 (result i32) - local.get $82 - local.set $84 - local.get $84 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.2 + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 0 + call $~lib/date/Date#setUTCSeconds + block $~lib/date/Date#getTime|inlined.6 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $73 + local.tee $74 + i32.store $0 offset=72 + local.get $74 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.6 end - i32.const 11 - i32.eq + i64.const 372027318300986 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 120 + i32.const 81 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 12 - call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getUTCDate|inlined.2 (result i32) - local.get $82 - local.set $85 - local.get $85 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.2 + local.get $73 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 59 + call $~lib/date/Date#setUTCSeconds + block $~lib/date/Date#getTime|inlined.7 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $73 + local.tee $75 + i32.store $0 offset=76 + local.get $75 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.7 end - i32.const 12 - i32.eq + i64.const 372027318359986 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 124 + i32.const 83 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 2 - call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getUTCDate|inlined.3 (result i32) - local.get $82 - local.set $86 - local.get $86 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.3 - end - i32.const 2 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 372027318331986 + call $~lib/date/Date#constructor + local.tee $76 + i32.store $0 offset=80 + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes + i32.const 45 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 126 + i32.const 89 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 1 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 30 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - local.get $82 - i32.const 1 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 31 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 2024 - call $~lib/date/Date#setUTCFullYear - local.get $82 - i32.const 1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getUTCMonth|inlined.3 (result i32) - local.get $82 - local.set $87 - local.get $87 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.3 - end - i32.const 2 + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 12 + call $~lib/date/Date#setUTCMinutes + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes + i32.const 12 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 141 + i32.const 91 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 1 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 29 - call $~lib/date/Date#setUTCDate - local.get $82 - i32.const 1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getTime|inlined.12 (result i64) - local.get $82 - local.set $88 - local.get $88 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.12 - end - i64.const 1709168591274 - i64.eq + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 50 + call $~lib/date/Date#setUTCMinutes + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes + i32.const 50 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 146 + i32.const 93 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCMonth|inlined.4 (result i32) - local.get $82 - local.set $89 - local.get $89 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.4 + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 0 + call $~lib/date/Date#setUTCMinutes + block $~lib/date/Date#getTime|inlined.8 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $76 + local.tee $77 + i32.store $0 offset=84 + local.get $77 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.8 end - i32.const 1 - i32.eq + i64.const 372027315631986 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 147 + i32.const 96 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDate|inlined.4 (result i32) - local.get $82 - local.set $90 - local.get $90 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.4 + local.get $76 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 59 + call $~lib/date/Date#setUTCMinutes + block $~lib/date/Date#getTime|inlined.9 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $76 + local.tee $78 + i32.store $0 offset=88 + local.get $78 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.9 end - i32.const 29 - i32.eq + i64.const 372027319171986 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 148 + i32.const 98 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - call $~lib/date/Date#getUTCMinutes - i32.const 3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 372027318331986 + call $~lib/date/Date#constructor + local.tee $79 + i32.store $0 offset=92 + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCHours + i32.const 17 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 149 + i32.const 104 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - call $~lib/date/Date#getUTCSeconds - i32.const 11 + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 12 + call $~lib/date/Date#setUTCHours + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCHours + i32.const 12 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 150 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - call $~lib/date/Date#getUTCMilliseconds - i32.const 274 + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2 + call $~lib/date/Date#setUTCHours + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCHours + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 151 + i32.const 108 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1362106799999 - call $~lib/date/Date#constructor - local.tee $82 - i32.store $0 offset=28 - local.get $82 - i32.const 20 - call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getTime|inlined.13 (result i64) - local.get $82 - local.set $91 - local.get $91 + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 0 + call $~lib/date/Date#setUTCHours + block $~lib/date/Date#getTime|inlined.10 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $79 + local.tee $80 + i32.store $0 offset=96 + local.get $80 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.13 + br $~lib/date/Date#getTime|inlined.10 end - i64.const 1363748399999 + i64.const 372027257131986 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 155 + i32.const 111 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 1 - call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getTime|inlined.14 (result i64) - local.get $82 - local.set $92 - local.get $92 + local.get $79 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 23 + call $~lib/date/Date#setUTCHours + block $~lib/date/Date#getTime|inlined.11 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $79 + local.tee $81 + i32.store $0 offset=100 + local.get $81 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.14 + br $~lib/date/Date#getTime|inlined.11 end - i64.const 1362106799999 + i64.const 372027339931986 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 157 + i32.const 113 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 1000 - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.15 (result i64) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 123814991274 + call $~lib/date/Date#constructor + local.tee $82 + i32.store $0 offset=104 + block $~lib/date/Date#getUTCFullYear|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $93 - local.get $93 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.15 + local.tee $83 + i32.store $0 offset=108 + local.get $83 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.2 end - i64.const 1362106800000 - i64.eq + i32.const 1973 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 160 + i32.const 119 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $82 - i32.const 60 - i32.const 60 - i32.mul - i32.const 1000 - i32.mul - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.16 (result i64) + block $~lib/date/Date#getUTCMonth|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $94 - local.get $94 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.16 + local.tee $84 + i32.store $0 offset=112 + local.get $84 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.2 end - i64.const 1362110400000 - i64.eq + i32.const 11 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 163 + i32.const 120 i32.const 3 call $~lib/builtins/abort unreachable end local.get $82 - i32.const 60 - i32.const 60 - i32.mul - i32.const 1000 - i32.mul - i32.const 1 - i32.add - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.17 (result i64) + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 12 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getUTCDate|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $95 - local.get $95 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.17 + local.tee $85 + i32.store $0 offset=116 + local.get $85 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.2 end - i64.const 1362114000001 - i64.eq + i32.const 12 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 166 + i32.const 124 i32.const 3 call $~lib/builtins/abort unreachable end local.get $82 - i32.const 60 - i32.const 60 - i32.mul - i32.const 1000 - i32.mul - i32.const 1 - i32.add - call $~lib/date/Date#setUTCMilliseconds - block $~lib/date/Date#getTime|inlined.18 (result i64) + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getUTCDate|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $96 - local.get $96 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.18 + local.tee $86 + i32.store $0 offset=120 + local.get $86 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.3 end - i64.const 1362117600001 - i64.eq + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 169 + i32.const 126 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 + call $~lib/date/Date#setUTCDate + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 30 + call $~lib/date/Date#setUTCDate + local.get $82 + local.set $156 global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 i32.const 0 - i64.const 123814991274 - call $~lib/date/Date#constructor - local.tee $82 - i32.store $0 offset=28 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs local.get $82 - i32.const -2208 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getTime|inlined.19 (result i64) + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 31 + call $~lib/date/Date#setUTCDate + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2024 + call $~lib/date/Date#setUTCFullYear + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getUTCMonth|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $97 - local.get $97 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.19 + local.tee $87 + i32.store $0 offset=124 + local.get $87 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.3 end - i64.const -67301808726 - i64.eq + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 173 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $82 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 123814991274 - call $~lib/date/Date#constructor - local.tee $82 - i32.store $0 offset=28 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 + call $~lib/date/Date#setUTCDate local.get $82 - i32.const 2208 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 29 call $~lib/date/Date#setUTCDate - block $~lib/date/Date#getTime|inlined.20 (result i64) + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getTime|inlined.12 (result i64) + global.get $~lib/memory/__stack_pointer local.get $82 - local.set $98 - local.get $98 + local.tee $88 + i32.store $0 offset=128 + local.get $88 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.20 + br $~lib/date/Date#getTime|inlined.12 end - i64.const 314240591274 + i64.const 1709168591274 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 177 + i32.const 146 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.0 (result i32) + block $~lib/date/Date#getUTCMonth|inlined.4 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - call $~lib/date/Date#constructor - local.tee $99 - i32.store $0 offset=32 - local.get $99 - call $~lib/date/Date#get:year - local.get $99 + local.get $82 + local.tee $89 + i32.store $0 offset=132 + local.get $89 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:month - local.get $99 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.0 + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.4 end - i32.const 3 + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 187 + i32.const 147 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.1 (result i32) + block $~lib/date/Date#getUTCDate|inlined.4 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $100 - i32.store $0 offset=36 - local.get $100 - call $~lib/date/Date#get:year - local.get $100 - call $~lib/date/Date#get:month - local.get $100 + local.get $82 + local.tee $90 + i32.store $0 offset=136 + local.get $90 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.1 + br $~lib/date/Date#getUTCDate|inlined.4 end - i32.const 2 + i32.const 29 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 188 + i32.const 148 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.2 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 86400000 - i64.add - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $101 - i32.store $0 offset=40 - local.get $101 - call $~lib/date/Date#get:year - local.get $101 - call $~lib/date/Date#get:month - local.get $101 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.2 - end + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 189 + i32.const 149 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.3 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1467763200000 - i64.const 86400000 - i64.add - call $~lib/date/Date#constructor - local.tee $102 - i32.store $0 offset=44 - local.get $102 - call $~lib/date/Date#get:year - local.get $102 - call $~lib/date/Date#get:month - local.get $102 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.3 - end - i32.const 4 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds + i32.const 11 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 190 + i32.const 150 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - call $~lib/date/Date#constructor - local.tee $103 - i32.store $0 offset=48 - local.get $103 - call $~lib/date/Date#get:year - local.get $103 - call $~lib/date/Date#get:month - local.get $103 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.4 - end - i32.const 6 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMilliseconds + i32.const 274 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 192 + i32.const 151 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1362106799999 + call $~lib/date/Date#constructor + local.tee $82 + i32.store $0 offset=104 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 20 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getTime|inlined.13 (result i64) global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $104 - i32.store $0 offset=52 - local.get $104 - call $~lib/date/Date#get:year - local.get $104 - call $~lib/date/Date#get:month - local.get $104 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.5 - end - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $~lib/date/Date#getUTCDay|inlined.6 (result i32) + local.get $82 + local.tee $91 + i32.store $0 offset=140 + local.get $91 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 86400000 - i64.add - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $105 - i32.store $0 offset=56 - local.get $105 - call $~lib/date/Date#get:year - local.get $105 - call $~lib/date/Date#get:month - local.get $105 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.6 + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.13 end - i32.const 6 - i32.eq + i64.const 1363748399999 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 194 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDay|inlined.7 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1468022400000 - i64.const 86400000 - i64.add - call $~lib/date/Date#constructor - local.tee $106 - i32.store $0 offset=60 - local.get $106 - call $~lib/date/Date#get:year - local.get $106 - call $~lib/date/Date#get:month - local.get $106 - call $~lib/date/Date#get:day - call $~lib/date/dayOfWeek - br $~lib/date/Date#getUTCDay|inlined.7 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getTime|inlined.14 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $92 + i32.store $0 offset=144 + local.get $92 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.14 end - i32.const 0 - i32.eq + i64.const 1362106799999 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 195 + i32.const 157 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $82 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 7899943856218720 - call $~lib/date/Date#constructor - local.tee $107 - i32.store $0 offset=64 - block $~lib/date/Date#getUTCMonth|inlined.5 (result i32) - local.get $107 - local.set $108 - local.get $108 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.5 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 1000 + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.15 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $93 + i32.store $0 offset=148 + local.get $93 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.15 end - i32.const 3 - i32.eq + i64.const 1362106800000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 201 + i32.const 160 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $107 - i32.const 10 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getUTCMonth|inlined.6 (result i32) - local.get $107 - local.set $109 - local.get $109 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.6 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 60 + i32.const 60 + i32.mul + i32.const 1000 + i32.mul + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.16 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $94 + i32.store $0 offset=152 + local.get $94 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.16 end - i32.const 10 - i32.eq + i64.const 1362110400000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 203 + i32.const 163 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $107 - i32.const 2 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 60 + i32.const 60 + i32.mul + i32.const 1000 + i32.mul i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getUTCMonth|inlined.7 (result i32) - local.get $107 - local.set $110 - local.get $110 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.7 + i32.add + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.17 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $95 + i32.store $0 offset=156 + local.get $95 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.17 end - i32.const 2 - i32.eq + i64.const 1362114000001 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 205 + i32.const 166 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.21 (result i64) - local.get $107 - local.set $111 - local.get $111 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 60 + i32.const 60 + i32.mul + i32.const 1000 + i32.mul + i32.const 1 + i32.add + call $~lib/date/Date#setUTCMilliseconds + block $~lib/date/Date#getTime|inlined.18 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $96 + i32.store $0 offset=160 + local.get $96 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.21 + br $~lib/date/Date#getTime|inlined.18 end - i64.const 7899941177818720 + i64.const 1362117600001 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 206 + i32.const 169 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $107 - i32.const 0 - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getTime|inlined.22 (result i64) - local.get $107 - local.set $112 - local.get $112 + i64.const 123814991274 + call $~lib/date/Date#constructor + local.tee $82 + i32.store $0 offset=104 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const -2208 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getTime|inlined.19 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $97 + i32.store $0 offset=164 + local.get $97 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.22 + br $~lib/date/Date#getTime|inlined.19 end - i64.const 7899936080218720 + i64.const -67301808726 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 209 + i32.const 173 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $107 - i32.const 11 - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getTime|inlined.23 (result i64) - local.get $107 - local.set $113 - local.get $113 + i64.const 123814991274 + call $~lib/date/Date#constructor + local.tee $82 + i32.store $0 offset=104 + local.get $82 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2208 + call $~lib/date/Date#setUTCDate + block $~lib/date/Date#getTime|inlined.20 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $82 + local.tee $98 + i32.store $0 offset=168 + local.get $98 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.23 + br $~lib/date/Date#getTime|inlined.20 end - i64.const 7899964937818720 + i64.const 314240591274 i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 211 + i32.const 177 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $107 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getUTCMonth|inlined.8 (result i32) - local.get $107 - local.set $114 - local.get $114 + block $~lib/date/Date#getUTCDay|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + call $~lib/date/Date#constructor + local.tee $99 + i32.store $0 offset=172 + local.get $99 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + local.get $99 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.8 + local.get $99 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.0 end - i32.const 11 + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 215 + i32.const 187 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.24 (result i64) - local.get $107 - local.set $115 - local.get $115 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.24 - end - i64.const 7899933401818720 - i64.eq - i32.eqz - if + block $~lib/date/Date#getUTCDay|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 128 - i32.const 216 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $107 - i32.const 12 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/date/Date#setUTCMonth@varargs - block $~lib/date/Date#getUTCMonth|inlined.9 (result i32) - local.get $107 - local.set $116 - local.get $116 + i64.const 1467763200000 + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $100 + i32.store $0 offset=176 + local.get $100 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + local.get $100 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.9 + local.get $100 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.1 end - i32.const 0 + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 218 + i32.const 188 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.25 (result i64) - local.get $107 - local.set $117 - local.get $117 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.25 + block $~lib/date/Date#getUTCDay|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + i64.const 86400000 + i64.add + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $101 + i32.store $0 offset=180 + local.get $101 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + local.get $101 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $101 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.2 end - i64.const 7899936080218720 - i64.eq + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 219 + i32.const 189 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 7941202527925698 - call $~lib/date/Date#constructor - local.tee $118 - i32.store $0 offset=68 - block $~lib/date/Date#getUTCFullYear|inlined.3 (result i32) - local.get $118 - local.set $119 - local.get $119 + block $~lib/date/Date#getUTCDay|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1467763200000 + i64.const 86400000 + i64.add + call $~lib/date/Date#constructor + local.tee $102 + i32.store $0 offset=184 + local.get $102 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.3 + local.get $102 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $102 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.3 end - i32.const 253616 + i32.const 4 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 225 + i32.const 190 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $118 - i32.const 1976 - call $~lib/date/Date#setUTCFullYear - block $~lib/date/Date#getUTCFullYear|inlined.4 (result i32) - local.get $118 - local.set $120 - local.get $120 + block $~lib/date/Date#getUTCDay|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + call $~lib/date/Date#constructor + local.tee $103 + i32.store $0 offset=188 + local.get $103 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.4 + local.get $103 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $103 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.4 end - i32.const 1976 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 227 + i32.const 192 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $118 - i32.const 20212 - call $~lib/date/Date#setUTCFullYear - block $~lib/date/Date#getUTCFullYear|inlined.5 (result i32) - local.get $118 - local.set $121 - local.get $121 + block $~lib/date/Date#getUTCDay|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $104 + i32.store $0 offset=192 + local.get $104 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.5 + local.get $104 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $104 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.5 end - i32.const 20212 + i32.const 5 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 229 + i32.const 193 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $118 - i32.const 71 - call $~lib/date/Date#setUTCFullYear - block $~lib/date/Date#getUTCFullYear|inlined.6 (result i32) - local.get $118 - local.set $122 - local.get $122 + block $~lib/date/Date#getUTCDay|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 86400000 + i64.add + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $105 + i32.store $0 offset=196 + local.get $105 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.6 + local.get $105 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $105 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.6 end - i32.const 71 + i32.const 6 i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 231 + i32.const 194 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -62167219200000 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 2672 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + block $~lib/date/Date#getUTCDay|inlined.7 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1468022400000 + i64.const 86400000 + i64.add + call $~lib/date/Date#constructor + local.tee $106 + i32.store $0 offset=200 + local.get $106 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + local.get $106 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + local.get $106 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + call $~lib/date/dayOfWeek + br $~lib/date/Date#getUTCDay|inlined.7 + end + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 237 + i32.const 195 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const -62167219200000 - i64.const 1 - i64.sub + i64.const 7899943856218720 call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 2752 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + local.tee $107 + i32.store $0 offset=204 + block $~lib/date/Date#getUTCMonth|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $108 + i32.store $0 offset=208 + local.get $108 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.5 + end + i32.const 3 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 239 + i32.const 201 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -62127219200000 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 2832 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 10 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getUTCMonth|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $109 + i32.store $0 offset=212 + local.get $109 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.6 + end + i32.const 10 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 241 + i32.const 203 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1231231231020 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 2912 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 2 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getUTCMonth|inlined.7 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $110 + i32.store $0 offset=216 + local.get $110 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.7 + end + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 243 + i32.const 205 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1231231231456 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 2992 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + block $~lib/date/Date#getTime|inlined.21 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $111 + i32.store $0 offset=220 + local.get $111 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.21 + end + i64.const 7899941177818720 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 245 + i32.const 206 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 322331231231020 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 3072 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getTime|inlined.22 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $112 + i32.store $0 offset=224 + local.get $112 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.22 + end + i64.const 7899936080218720 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 247 + i32.const 209 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 253402300799999 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 3152 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 11 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getTime|inlined.23 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $113 + i32.store $0 offset=228 + local.get $113 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.23 + end + i64.const 7899964937818720 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 249 + i32.const 211 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 253402300800000 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 3232 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getUTCMonth|inlined.8 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $114 + i32.store $0 offset=232 + local.get $114 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.8 + end + i32.const 11 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 251 + i32.const 215 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -62847038769226 - call $~lib/date/Date#constructor - local.tee $123 - i32.store $0 offset=72 - local.get $123 - call $~lib/date/Date#toISOString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 3312 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + block $~lib/date/Date#getTime|inlined.24 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $115 + i32.store $0 offset=236 + local.get $115 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.24 + end + i64.const 7899933401818720 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 253 + i32.const 216 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -61536067200000 - call $~lib/date/Date#constructor - local.tee $124 - i32.store $0 offset=84 - local.get $124 - call $~lib/date/Date#toDateString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 4240 + local.get $107 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 12 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/date/Date#setUTCMonth@varargs + block $~lib/date/Date#getUTCMonth|inlined.9 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $116 + i32.store $0 offset=240 + local.get $116 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.9 + end + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 259 + i32.const 218 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 1580601600000 - call $~lib/date/Date#constructor - local.tee $124 - i32.store $0 offset=84 - local.get $124 - call $~lib/date/Date#toDateString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 4304 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + block $~lib/date/Date#getTime|inlined.25 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $107 + local.tee $117 + i32.store $0 offset=244 + local.get $117 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.25 + end + i64.const 7899936080218720 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 261 + i32.const 219 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const -62183116800000 + i64.const 7941202527925698 call $~lib/date/Date#constructor - local.tee $124 - i32.store $0 offset=84 - local.get $124 - call $~lib/date/Date#toDateString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 4368 - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=80 - local.get $156 - call $~lib/string/String.__eq + local.tee $118 + i32.store $0 offset=248 + block $~lib/date/Date#getUTCFullYear|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $118 + local.tee $119 + i32.store $0 offset=252 + local.get $119 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.3 + end + i32.const 253616 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 264 + i32.const 225 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -61536067200000 - call $~lib/date/Date#constructor - local.tee $125 - i32.store $0 offset=88 - local.get $125 - call $~lib/date/Date#toTimeString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 4480 + local.get $118 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 1976 + call $~lib/date/Date#setUTCFullYear + block $~lib/date/Date#getUTCFullYear|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $118 + local.tee $120 + i32.store $0 offset=256 + local.get $120 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.4 + end + i32.const 1976 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 270 + i32.const 227 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 253402300799999 - call $~lib/date/Date#constructor - local.tee $125 - i32.store $0 offset=88 - local.get $125 - call $~lib/date/Date#toTimeString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 4528 + local.get $118 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 20212 + call $~lib/date/Date#setUTCFullYear + block $~lib/date/Date#getUTCFullYear|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $118 + local.tee $121 + i32.store $0 offset=260 + local.get $121 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.5 + end + i32.const 20212 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 273 + i32.const 229 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -61536067200000 - call $~lib/date/Date#constructor - local.tee $126 - i32.store $0 offset=92 - local.get $126 - call $~lib/date/Date#toUTCString - local.set $156 - global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 5424 + local.get $118 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + i32.const 71 + call $~lib/date/Date#setUTCFullYear + block $~lib/date/Date#getUTCFullYear|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $118 + local.tee $122 + i32.store $0 offset=264 + local.get $122 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.6 + end + i32.const 71 + i32.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 279 + i32.const 231 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const 1580741613467 + i64.const -62167219200000 call $~lib/date/Date#constructor - local.tee $126 - i32.store $0 offset=92 - local.get $126 - call $~lib/date/Date#toUTCString + local.tee $123 + i32.store $0 offset=268 + local.get $123 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toISOString local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $156 - i32.const 5504 + i32.const 2672 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $156 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 281 + i32.const 237 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const -62183116800000 + i64.const -62167219200000 + i64.const 1 + i64.sub call $~lib/date/Date#constructor - local.tee $126 - i32.store $0 offset=92 - local.get $126 - call $~lib/date/Date#toUTCString + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - i32.const 5584 + call $~lib/date/Date#toISOString local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 + local.get $156 + i32.const 2752 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 local.get $156 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 284 + i32.const 239 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5664 + i32.const 0 + i64.const -62127219200000 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.26 (result i64) - local.get $127 - local.set $128 - local.get $128 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.26 - end - i64.const 192067200000 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 291 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 5936 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2832 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=272 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.27 (result i64) - local.get $127 - local.set $129 - local.get $129 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.27 - end - i64.const 192067200000 - i64.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 293 + i32.const 241 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5984 + i32.const 0 + i64.const 1231231231020 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.28 (result i64) - local.get $127 - local.set $130 - local.get $130 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.28 - end - i64.const 11860387200000 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 6032 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2912 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=272 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.29 (result i64) - local.get $127 - local.set $131 - local.get $131 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.29 - end - i64.const 192112496000 - i64.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 299 + i32.const 243 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6096 + i32.const 0 + i64.const 1231231231456 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.30 (result i64) - local.get $127 - local.set $132 - local.get $132 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.30 - end - i64.const 192112496456 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 303 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 6176 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 2992 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=272 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.31 (result i64) - local.get $127 - local.set $133 - local.get $133 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.31 - end - i64.const 192112496456 - i64.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 307 + i32.const 245 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6256 + i32.const 0 + i64.const 322331231231020 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.32 (result i64) - local.get $127 - local.set $134 - local.get $134 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.32 - end - i64.const -62167219200000 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 310 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 6288 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 3072 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=272 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.33 (result i64) - local.get $127 - local.set $135 - local.get $135 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.33 - end - i64.const -62135596800000 - i64.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 313 + i32.const 247 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6320 + i32.const 0 + i64.const 253402300799999 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.34 (result i64) - local.get $127 - local.set $136 - local.get $136 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.34 - end - i64.const 189302400000 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 128 - i32.const 316 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 6352 + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 3152 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=272 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.35 (result i64) - local.get $127 - local.set $137 - local.get $137 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.35 - end - i64.const 191980800000 - i64.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 319 + i32.const 249 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 5664 + i32.const 0 + i64.const 253402300800000 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.36 (result i64) - local.get $127 - local.set $138 - local.get $138 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.36 - end - i64.const 192067200000 - i64.eq + call $~lib/date/Date#toISOString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 3232 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 322 + i32.const 251 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6400 + i32.const 0 + i64.const -62847038769226 + call $~lib/date/Date#constructor + local.tee $123 + i32.store $0 offset=268 + local.get $123 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.37 (result i64) - local.get $127 - local.set $139 - local.get $139 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.37 - end - i64.const 192112440000 - i64.eq + call $~lib/date/Date#toISOString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 3312 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 325 + i32.const 253 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 6032 + i32.const 0 + i64.const -61536067200000 + call $~lib/date/Date#constructor + local.tee $124 + i32.store $0 offset=280 + local.get $124 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=76 + i32.store $0 offset=276 local.get $156 - call $~lib/date/Date.fromString - local.tee $127 - i32.store $0 offset=96 - block $~lib/date/Date#getTime|inlined.38 (result i64) - local.get $127 - local.set $140 - local.get $140 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.38 - end - i64.const 192112496000 - i64.eq + call $~lib/date/Date#toDateString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 4240 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 328 + i32.const 259 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer i32.const 0 - i64.const -8640000000000000 + i64.const 1580601600000 call $~lib/date/Date#constructor - local.tee $141 - i32.store $0 offset=100 + local.tee $124 + i32.store $0 offset=280 + local.get $124 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 8640000000000000 - call $~lib/date/Date#constructor - local.tee $142 - i32.store $0 offset=104 - block $~lib/date/Date#getTime|inlined.39 (result i64) - local.get $141 - local.set $143 - local.get $143 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.39 - end - i64.const -8640000000000000 - i64.eq + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toDateString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 4304 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 346 + i32.const 261 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getTime|inlined.40 (result i64) - local.get $142 - local.set $144 - local.get $144 - call $~lib/date/Date#get:epochMillis - br $~lib/date/Date#getTime|inlined.40 - end - i64.const 8640000000000000 - i64.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const -62183116800000 + call $~lib/date/Date#constructor + local.tee $124 + i32.store $0 offset=280 + local.get $124 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toDateString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 4368 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 347 + i32.const 264 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCFullYear|inlined.7 (result i32) - local.get $141 - local.set $145 - local.get $145 - call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.7 - end - i32.const -271821 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const -61536067200000 + call $~lib/date/Date#constructor + local.tee $125 + i32.store $0 offset=284 + local.get $125 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toTimeString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 4480 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 349 + i32.const 270 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCFullYear|inlined.8 (result i32) - local.get $142 - local.set $146 - local.get $146 - call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.8 - end - i32.const 275760 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 253402300799999 + call $~lib/date/Date#constructor + local.tee $125 + i32.store $0 offset=284 + local.get $125 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toTimeString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 4528 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 350 + i32.const 273 i32.const 3 call $~lib/builtins/abort unreachable - end - block $~lib/date/Date#getUTCMonth|inlined.10 (result i32) - local.get $141 - local.set $147 - local.get $147 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.10 - end - i32.const 3 - i32.eq + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const -61536067200000 + call $~lib/date/Date#constructor + local.tee $126 + i32.store $0 offset=288 + local.get $126 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toUTCString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 5424 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 352 + i32.const 279 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCMonth|inlined.11 (result i32) - local.get $142 - local.set $148 - local.get $148 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.11 - end - i32.const 8 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const 1580741613467 + call $~lib/date/Date#constructor + local.tee $126 + i32.store $0 offset=288 + local.get $126 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toUTCString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 5504 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 353 + i32.const 281 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDate|inlined.5 (result i32) - local.get $141 - local.set $149 - local.get $149 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.5 - end - i32.const 20 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 0 + i64.const -62183116800000 + call $~lib/date/Date#constructor + local.tee $126 + i32.store $0 offset=288 + local.get $126 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toUTCString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 5584 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 128 - i32.const 355 + i32.const 284 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDate|inlined.6 (result i32) - local.get $142 - local.set $150 - local.get $150 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.6 + global.get $~lib/memory/__stack_pointer + i32.const 5664 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.26 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $128 + i32.store $0 offset=296 + local.get $128 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.26 end - i32.const 13 - i32.eq + i64.const 192067200000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 356 + i32.const 291 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $141 - call $~lib/date/Date#toISOString - local.set $156 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 6464 + i32.const 5936 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.27 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $129 + i32.store $0 offset=300 + local.get $129 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.27 + end + i64.const 192067200000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 358 + i32.const 293 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $142 - call $~lib/date/Date#toISOString - local.set $156 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 6544 + i32.const 5984 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.28 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $130 + i32.store $0 offset=304 + local.get $130 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.28 + end + i64.const 11860387200000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 359 + i32.const 295 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const 8640000000000000 - i64.const 1 - i64.sub - call $~lib/date/Date#constructor - local.tee $151 - i32.store $0 offset=108 + i32.const 6032 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i64.const -8640000000000000 - i64.const 1 - i64.add - call $~lib/date/Date#constructor - local.tee $152 - i32.store $0 offset=112 - block $~lib/date/Date#getUTCFullYear|inlined.9 (result i32) - local.get $152 - local.set $153 - local.get $153 - call $~lib/date/Date#get:year - br $~lib/date/Date#getUTCFullYear|inlined.9 + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.29 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $131 + i32.store $0 offset=308 + local.get $131 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.29 end - i32.const -271821 - i32.eq + i64.const 192112496000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 364 + i32.const 299 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCMonth|inlined.12 (result i32) - local.get $152 - local.set $154 - local.get $154 - call $~lib/date/Date#get:month - i32.const 1 - i32.sub - br $~lib/date/Date#getUTCMonth|inlined.12 + global.get $~lib/memory/__stack_pointer + i32.const 6096 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.30 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $132 + i32.store $0 offset=312 + local.get $132 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.30 end - i32.const 3 - i32.eq + i64.const 192112496456 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 365 + i32.const 303 i32.const 3 call $~lib/builtins/abort unreachable end - block $~lib/date/Date#getUTCDate|inlined.7 (result i32) - local.get $152 - local.set $155 - local.get $155 - call $~lib/date/Date#get:day - br $~lib/date/Date#getUTCDate|inlined.7 + global.get $~lib/memory/__stack_pointer + i32.const 6176 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.31 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $133 + i32.store $0 offset=316 + local.get $133 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.31 end - i32.const 20 - i32.eq + i64.const 192112496456 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 366 + i32.const 307 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - call $~lib/date/Date#getUTCHours - i32.const 0 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 6256 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.32 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $134 + i32.store $0 offset=320 + local.get $134 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.32 + end + i64.const -62167219200000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 367 + i32.const 310 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - call $~lib/date/Date#getUTCMinutes - i32.const 0 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 6288 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.33 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $135 + i32.store $0 offset=324 + local.get $135 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.33 + end + i64.const -62135596800000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 368 + i32.const 313 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - call $~lib/date/Date#getUTCSeconds - i32.const 0 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 6320 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.34 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $136 + i32.store $0 offset=328 + local.get $136 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.34 + end + i64.const 189302400000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 369 + i32.const 316 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - call $~lib/date/Date#getUTCMilliseconds - i32.const 1 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 6352 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.35 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $137 + i32.store $0 offset=332 + local.get $137 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.35 + end + i64.const 191980800000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 370 + i32.const 319 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $151 - call $~lib/date/Date#toISOString - local.set $156 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 6624 + i32.const 5664 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.36 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $138 + i32.store $0 offset=336 + local.get $138 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.36 + end + i64.const 192067200000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 372 + i32.const 322 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $152 - call $~lib/date/Date#toISOString - local.set $156 global.get $~lib/memory/__stack_pointer - local.get $156 - i32.store $0 offset=76 - local.get $156 - i32.const 6704 + i32.const 6400 local.set $156 global.get $~lib/memory/__stack_pointer local.get $156 - i32.store $0 offset=80 + i32.store $0 offset=8 local.get $156 - call $~lib/string/String.__eq + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.37 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $127 + local.tee $139 + i32.store $0 offset=340 + local.get $139 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.37 + end + i64.const 192112440000 + i64.eq i32.eqz if i32.const 0 i32.const 128 - i32.const 373 + i32.const 325 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 116 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/date/Date#constructor (type $i32_i64_=>_i32) (param $this i32) (param $epochMillis 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 + i32.const 6032 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date.fromString + local.tee $127 + i32.store $0 offset=292 + block $~lib/date/Date#getTime|inlined.38 (result i64) global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $epochMillis - call $~lib/date/Date#set:epochMillis - local.get $this - i32.const 0 - call $~lib/date/Date#set:year - local.get $this - i32.const 0 - call $~lib/date/Date#set:month - local.get $this - i32.const 0 - call $~lib/date/Date#set:day - local.get $epochMillis - call $~lib/date/invalidDate - if - i32.const 32 - i32.const 80 - i32.const 100 - i32.const 35 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $epochMillis - call $~lib/date/dateFromEpoch - call $~lib/date/Date#set:year - local.get $this - global.get $~lib/date/_month - call $~lib/date/Date#set:month - local.get $this - global.get $~lib/date/_day - call $~lib/date/Date#set:day - local.get $this - 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/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - (local $sign i32) - (local $out i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|8 i32) - (local $buffer|9 i32) - (local $num|10 i32) - (local $offset|11 i32) - (local $val32 i32) - (local $decimals|13 i32) - (local $14 i32) + local.get $127 + local.tee $140 + i32.store $0 offset=344 + local.get $140 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.38 + end + i64.const 192112496000 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 328 + i32.const 3 + 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 + i32.const 0 + i64.const -8640000000000000 + call $~lib/date/Date#constructor + local.tee $141 + i32.store $0 offset=348 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s + i64.const 8640000000000000 + call $~lib/date/Date#constructor + local.tee $142 + i32.store $0 offset=352 + block $~lib/date/Date#getTime|inlined.39 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $141 + local.tee $143 + i32.store $0 offset=356 + local.get $143 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.39 end + i64.const -8640000000000000 + i64.eq + i32.eqz if - i32.const 656 - i32.const 784 - i32.const 373 - i32.const 5 + i32.const 0 + i32.const 128 + i32.const 346 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $value + block $~lib/date/Date#getTime|inlined.40 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $142 + local.tee $144 + i32.store $0 offset=360 + local.get $144 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:epochMillis + br $~lib/date/Date#getTime|inlined.40 + end + i64.const 8640000000000000 + i64.eq i32.eqz if - i32.const 848 - local.set $14 + i32.const 0 + i32.const 128 + i32.const 347 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCFullYear|inlined.7 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return + local.get $141 + local.tee $145 + i32.store $0 offset=364 + local.get $145 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.7 end - local.get $value - i32.const 31 - i32.shr_u - i32.const 1 - i32.shl - local.set $sign - local.get $sign + i32.const -271821 + i32.eq + i32.eqz if i32.const 0 - local.get $value - i32.sub - local.set $value + i32.const 128 + i32.const 349 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $radix - i32.const 10 + block $~lib/date/Date#getUTCFullYear|inlined.8 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $142 + local.tee $146 + i32.store $0 offset=368 + local.get $146 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.8 + end + i32.const 275760 i32.eq + i32.eqz if - local.get $value - call $~lib/util/number/decimalCount32 - local.set $decimals + i32.const 0 + i32.const 128 + i32.const 350 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCMonth|inlined.10 (result i32) global.get $~lib/memory/__stack_pointer - local.get $decimals + local.get $141 + local.tee $147 + i32.store $0 offset=372 + local.get $147 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer - local.get $value - local.set $num - local.get $decimals - local.set $offset + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.10 + end + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 + i32.const 128 + i32.const 352 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCMonth|inlined.11 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $142 + local.tee $148 + i32.store $0 offset=376 + local.get $148 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 31 - local.get $value - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|8 - global.get $~lib/memory/__stack_pointer - local.get $decimals|8 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|9 - local.get $value - local.set $num|10 - local.get $decimals|8 - local.set $offset|11 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|9 - local.get $num|10 - i64.extend_i32_u - local.get $offset|11 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - local.set $val32 - local.get $val32 - i64.extend_i32_u - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|13 - global.get $~lib/memory/__stack_pointer - local.get $decimals|13 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.get $val32 - i64.extend_i32_u - local.get $decimals|13 - local.get $radix - call $~lib/util/number/utoa64_any_core - end + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.11 + end + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 353 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCDate|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $141 + local.tee $149 + i32.store $0 offset=380 + local.get $149 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.5 end - local.get $sign + i32.const 20 + i32.eq + i32.eqz if - local.get $out - i32.const 45 - i32.store16 $0 + i32.const 0 + i32.const 128 + i32.const 355 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $out - local.set $14 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) - (local $thisSize i32) - (local $targetSize i32) - (local $padSize i32) - (local $prependSize i32) - (local $out i32) - (local $repeatCount i32) - (local $restBase i32) - (local $restSize 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 $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $length - i32.const 1 - i32.shl - local.set $targetSize - local.get $pad - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $padSize - local.get $targetSize - local.get $thisSize - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $padSize - i32.eqz + block $~lib/date/Date#getUTCDate|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $142 + local.tee $150 + i32.store $0 offset=384 + local.get $150 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.6 end + i32.const 13 + i32.eq + i32.eqz if - local.get $this - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 128 + i32.const 356 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $targetSize - local.get $thisSize - i32.sub - local.set $prependSize + local.get $141 + local.set $156 global.get $~lib/memory/__stack_pointer - local.get $targetSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $prependSize - local.get $padSize - i32.gt_u + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toISOString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 6464 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq + i32.eqz if - local.get $prependSize - i32.const 2 - i32.sub - local.get $padSize - i32.div_u - local.set $repeatCount - local.get $repeatCount - local.get $padSize - i32.mul - local.set $restBase - local.get $prependSize - local.get $restBase - i32.sub - local.set $restSize - local.get $out - local.get $pad - local.get $padSize - local.get $repeatCount - call $~lib/memory/memory.repeat - local.get $out - local.get $restBase - i32.add - local.get $pad - local.get $restSize - memory.copy $0 $0 - else - local.get $out - local.get $pad - local.get $prependSize - memory.copy $0 $0 + i32.const 0 + i32.const 128 + i32.const 358 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $out - local.get $prependSize - i32.add - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.set $11 + local.get $142 + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out i32) - (local $6 i32) + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toISOString + local.set $156 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 6544 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 359 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize + i64.const 8640000000000000 + i64.const 1 + i64.sub + call $~lib/date/Date#constructor + local.tee $151 + i32.store $0 offset=388 + global.get $~lib/memory/__stack_pointer i32.const 0 + i64.const -8640000000000000 + i64.const 1 + i64.add + call $~lib/date/Date#constructor + local.tee $152 + i32.store $0 offset=392 + block $~lib/date/Date#getUTCFullYear|inlined.9 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $152 + local.tee $153 + i32.store $0 offset=396 + local.get $153 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:year + br $~lib/date/Date#getUTCFullYear|inlined.9 + end + i32.const -271821 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 364 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCMonth|inlined.12 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $152 + local.tee $154 + i32.store $0 offset=400 + local.get $154 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:month + i32.const 1 + i32.sub + br $~lib/date/Date#getUTCMonth|inlined.12 + end + i32.const 3 i32.eq + i32.eqz if - i32.const 2432 - local.set $6 + i32.const 0 + i32.const 128 + i32.const 365 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + block $~lib/date/Date#getUTCDate|inlined.7 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + local.get $152 + local.tee $155 + i32.store $0 offset=404 + local.get $155 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#get:day + br $~lib/date/Date#getUTCDate|inlined.7 end + i32.const 20 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 366 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $152 + local.set $156 global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $4 i32) - (local $estLen i32) - (local $value i32) - (local $i i32) - (local $offset i32) - (local $sepLen i32) - (local $result i32) - (local $i|11 i32) - (local $valueLen i32) - (local $13 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCHours + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $152 + local.set $156 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCMinutes + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 368 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $152 + local.set $156 global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + call $~lib/date/Date#getUTCSeconds i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 369 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $152 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 i32.store $0 offset=8 - local.get $length + local.get $156 + call $~lib/date/Date#getUTCMilliseconds i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s + i32.eq + i32.eqz if - i32.const 2432 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + i32.const 0 + i32.const 128 + i32.const 370 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $lastIndex + local.get $151 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toISOString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 6624 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq i32.eqz if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if (result i32) - local.get $4 - else - i32.const 2432 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return + i32.const 0 + i32.const 128 + i32.const 372 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $estLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $estLen - local.get $value - call $~lib/string/String#get:length - i32.add - local.set $estLen - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + local.get $152 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=276 + local.get $156 + call $~lib/date/Date#toISOString + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=8 + local.get $156 + i32.const 6704 + local.set $156 + global.get $~lib/memory/__stack_pointer + local.get $156 + i32.store $0 offset=272 + local.get $156 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 128 + i32.const 373 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $offset - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen global.get $~lib/memory/__stack_pointer - local.get $estLen - local.get $sepLen - local.get $lastIndex - i32.mul + i32.const 408 i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val 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 $0 i32.const 1 - i32.shl + drop + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 offset=8 - i32.const 0 - local.set $i|11 - loop $for-loop|1 - local.get $i|11 - local.get $lastIndex - i32.lt_s + i32.shl + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i|11 - i32.const 2 - i32.shl - i32.add + local.get $cur i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $value - call $~lib/string/String#get:length - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen - i32.add - local.set $offset - end - local.get $sepLen + local.set $val + local.get $val if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - local.get $i|11 - i32.const 1 + local.get $cur + i32.const 4 i32.add - local.set $i|11 - br $for-loop|1 + local.set $cur + br $while-continue|0 end end + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $value - call $~lib/string/String#get:length - i32.const 1 - i32.shl - memory.copy $0 $0 - end - local.get $result - local.set $13 + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - return ) - (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $finalStart i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $finalEnd i32) - (local $14 i32) - (local $15 i32) - (local $fromPos i32) - (local $17 i32) - (local $18 i32) - (local $toPos i32) - (local $size i32) - (local $out i32) - (local $22 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -10478,119 +12874,202 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $finalStart - local.get $end - local.tee $9 i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_s - select - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - local.set $finalEnd - local.get $finalStart - local.tee $14 - local.get $finalEnd - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $fromPos - local.get $finalStart - local.tee $17 - local.get $finalEnd - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $toPos - local.get $toPos - local.get $fromPos + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i32) + (local $offset|11 i32) + (local $val32 i32) + (local $decimals|13 i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $size - local.get $size + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 656 + i32.const 784 + i32.const 373 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value i32.eqz if - i32.const 2432 - local.set $22 + i32.const 848 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $14 return end - local.get $fromPos - i32.eqz - if (result i32) - local.get $toPos - local.get $len - i32.const 1 - i32.shl - i32.eq - else + local.get $value + i32.const 31 + i32.shr_u + i32.const 1 + i32.shl + local.set $sign + local.get $sign + if i32.const 0 + local.get $value + i32.sub + local.set $value end + local.get $radix + i32.const 10 + i32.eq if - local.get $this - local.set $22 + local.get $value + call $~lib/util/number/decimalCount32 + local.set $decimals global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $decimals + i32.const 1 + i32.shl + local.get $sign i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $radix + i32.const 16 + i32.eq + if + i32.const 31 + local.get $value + i32.clz + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $decimals|8 + global.get $~lib/memory/__stack_pointer + local.get $decimals|8 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|9 + local.get $value + local.set $num|10 + local.get $decimals|8 + local.set $offset|11 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|9 + local.get $num|10 + i64.extend_i32_u + local.get $offset|11 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.set $val32 + local.get $val32 + i64.extend_i32_u + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|13 + global.get $~lib/memory/__stack_pointer + local.get $decimals|13 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.get $val32 + i64.extend_i32_u + local.get $decimals|13 + local.get $radix + call $~lib/util/number/utoa64_any_core + end + end + local.get $sign + if + local.get $out + i32.const 45 + i32.store16 $0 end - global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $fromPos - i32.add - local.get $size - memory.copy $0 $0 local.get $out - local.set $22 + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $14 return ) (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) @@ -10646,61 +13125,4 @@ local.get $7 return ) - (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value 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 $0 - local.get $index - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u - if - i32.const 368 - i32.const 5712 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 5808 - i32.const 5712 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - return - ) ) diff --git a/tests/compiler/std/date.release.wat b/tests/compiler/std/date.release.wat index 33a2152505..1a04cb023d 100644 --- a/tests/compiler/std/date.release.wat +++ b/tests/compiler/std/date.release.wat @@ -1,6 +1,6 @@ (module - (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) @@ -10,9 +10,9 @@ (type $i32_i32_i32_i32_i32_i32_i32_=>_i64 (func_subtype (param i32 i32 i32 i32 i32 i32 i32) (result i64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_i32_i32_i64_=>_i64 (func_subtype (param i32 i32 i32 i64) (result i64) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) + (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/date/_day (mut i32) (i32.const 0)) (global $~lib/date/_month (mut i32) (i32.const 0)) @@ -1885,148 +1885,6 @@ memory.fill $0 local.get $1 ) - (func $~lib/date/Date#setTime (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) - local.get $1 - i64.const -8640000000000000 - i64.lt_s - local.get $1 - i64.const 8640000000000000 - i64.gt_s - i32.or - if - i32.const 1056 - i32.const 1104 - i32.const 112 - i32.const 28 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i64.store $0 offset=16 - local.get $0 - local.get $1 - call $~lib/date/dateFromEpoch - i32.store $0 - local.get $0 - global.get $~lib/date/_month - i32.store $0 offset=4 - local.get $0 - global.get $~lib/date/_day - i32.store $0 offset=8 - ) - (func $~lib/date/Date#setUTCMilliseconds (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) - local.get $0 - local.get $1 - local.get $0 - i64.load $0 offset=16 - local.tee $3 - i64.const 1000 - i64.rem_s - local.tee $2 - i64.const 1000 - i64.const 0 - local.get $2 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.sub - i64.extend_i32_s - local.get $3 - i64.add - call $~lib/date/Date#setTime - ) - (func $~lib/date/Date#setUTCSeconds (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) - local.get $0 - local.get $1 - local.get $0 - i64.load $0 offset=16 - local.tee $3 - i64.const 60000 - i64.rem_s - local.tee $2 - i64.const 60000 - i64.const 0 - local.get $2 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s - i32.sub - i32.const 1000 - i32.mul - i64.extend_i32_s - local.get $3 - i64.add - call $~lib/date/Date#setTime - ) - (func $~lib/date/Date#setUTCMinutes (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) - local.get $0 - local.get $1 - local.get $0 - i64.load $0 offset=16 - local.tee $3 - i64.const 3600000 - i64.rem_s - local.tee $2 - i64.const 3600000 - i64.const 0 - local.get $2 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s - i32.sub - i32.const 60000 - i32.mul - i64.extend_i32_s - local.get $3 - i64.add - call $~lib/date/Date#setTime - ) - (func $~lib/date/Date#setUTCHours (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i64) - (local $3 i64) - local.get $0 - local.get $1 - local.get $0 - i64.load $0 offset=16 - local.tee $3 - i64.const 86400000 - i64.rem_s - local.tee $2 - i64.const 86400000 - i64.const 0 - local.get $2 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s - i32.sub - i32.const 3600000 - i32.mul - i64.extend_i32_s - local.get $3 - i64.add - call $~lib/date/Date#setTime - ) (func $~lib/date/join (type $i32_i32_i32_i64_=>_i64) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i64) (result i64) (local $4 i32) local.get $0 @@ -2100,80 +1958,6 @@ i64.mul i64.add ) - (func $~lib/date/Date#setUTCDate (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - i32.load $0 offset=8 - local.get $1 - i32.eq - if - return - end - local.get $0 - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - local.get $0 - i64.load $0 offset=16 - call $~lib/date/join - call $~lib/date/Date#setTime - ) - (func $~lib/date/Date#setUTCMonth@varargs (type $i32_i32_=>_none) (param $0 i32) (param $1 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 $0 offset=8 - local.set $2 - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.add - i32.ne - if - local.get $0 - local.get $0 - i32.load $0 - local.get $1 - i32.const 1 - i32.add - local.get $2 - local.get $0 - i64.load $0 offset=16 - call $~lib/date/join - call $~lib/date/Date#setTime - end - ) - (func $~lib/date/Date#setUTCFullYear (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - i32.load $0 - local.get $1 - i32.eq - if - return - end - local.get $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.get $0 - i64.load $0 offset=16 - call $~lib/date/join - call $~lib/date/Date#setTime - ) (func $~lib/number/I32#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -2411,244 +2195,25 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_=>_i32) (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 $0 - local.tee $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $5 - 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 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinStringArray - local.get $5 - i32.const 1 - i32.sub - local.tee $6 - 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 3456 - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray - end - local.get $6 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 3456 - local.get $0 - select - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray - end - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $1 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $1 - end - 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 - local.get $6 - i32.const 3452 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - local.get $6 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $4 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 3456 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $5 - i32.add - local.set $2 - 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 $3 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.store $0 offset=4 - local.get $1 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $0 - ) - (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_=>_i32) (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 - local.get $3 - i32.const 4 - i32.ge_u - i32.and + 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 + local.get $3 + i32.const 4 + i32.ge_u + i32.and if loop $do-loop|0 local.get $1 @@ -2709,844 +2274,781 @@ end i32.const 0 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) (local $2 i32) - local.get $0 - local.get $1 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 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/string/String#indexOf (type $i32_i32_i32_=>_i32) (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 $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.eqz + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/array/Array + block $~lib/array/Array<~lib/string/String> + block $~lib/staticarray/StaticArray<~lib/string/String> + block $~lib/date/Date + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/array/Array $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + return + end + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.add + local.set $1 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + return + end + 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 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.const 2 + i32.shl + i32.add + local.set $2 + loop $while-continue|04 + local.get $1 + local.get $2 + i32.lt_u + if + local.get $1 + i32.load $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|04 + end + end + br $folding-inner1 + end + 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 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner1 + end + unreachable + end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~start (type $none_=>_none) + global.get $~started if - i32.const -1 return end + i32.const 1 + global.set $~started + call $start:std/date + ) + (func $~lib/date/Date#constructor (type $i64_=>_i32) (param $0 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i64.store $0 offset=16 local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 + i32.store $0 local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $4 + i32.store $0 offset=4 local.get $2 - local.get $4 - i32.lt_s - select - local.set $2 - local.get $4 - local.get $3 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.le_s - if - local.get $0 - local.get $2 - local.get $1 - local.get $3 - 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/string/String#substring@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i64.const -8640000000000000 + i64.lt_s + local.get $0 + i64.const 8640000000000000 + i64.gt_s + i32.or + if + i32.const 1056 + i32.const 1104 + i32.const 100 + i32.const 35 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 local.get $0 + call $~lib/date/dateFromEpoch + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + global.get $~lib/date/_month + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + global.get $~lib/date/_day + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - local.get $2 - call $~lib/string/String#substring ) - (func $~lib/array/ensureCapacity (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/date/Date#setTime (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - local.get $0 - i32.load $0 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 6784 - i32.const 6736 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $2 - i32.const 1 - i32.shl - local.tee $2 - local.get $2 - i32.const 1073741820 - i32.ge_u - select - local.tee $2 - i32.const 8 - local.get $1 - local.get $1 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 - local.get $1 - local.get $2 - i32.lt_u - select - local.tee $3 - local.get $0 - i32.load $0 - local.tee $2 - i32.const 20 - i32.sub - local.tee $4 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $4 - local.get $3 - i32.store $0 offset=16 - local.get $2 - local.set $1 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $3 - local.get $4 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $2 - local.get $3 - local.get $4 - i32.load $0 offset=16 - local.tee $4 - local.get $3 - local.get $4 - i32.lt_u - select - memory.copy $0 $0 - end - local.get $1 - local.get $2 - i32.ne - if - local.get $0 - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $1 - if - local.get $0 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end - local.get $0 - local.get $3 - i32.store $0 offset=8 + 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 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - local.get $0 - i32.load $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $1 + i64.const -8640000000000000 + i64.lt_s + local.get $1 + i64.const 8640000000000000 + i64.gt_s + i32.or + if + i32.const 1056 + i32.const 1104 + i32.const 112 + i32.const 28 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.const 1 - i32.add - local.tee $3 - call $~lib/array/ensureCapacity local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add + i32.store $0 + local.get $0 local.get $1 + i64.store $0 offset=16 + local.get $2 + local.get $0 i32.store $0 + local.get $0 local.get $1 + call $~lib/date/dateFromEpoch + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + global.get $~lib/date/_month + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + global.get $~lib/date/_day + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#getUTCHours (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + 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 7828 + i32.lt_s if - local.get $0 - local.get $1 + i32.const 40624 + i32.const 40672 i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - local.get $3 - i32.store $0 offset=12 - ) - (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 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 - i32.const 2147483647 - local.set $2 - end + i32.store $0 local.get $0 + i64.load $0 offset=16 + i64.const 86400000 + i64.rem_s + local.set $2 local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - call $~lib/string/String#split + i64.const 86400000 + i64.const 0 + local.get $2 + i64.const 0 + i64.lt_s + select + i64.add + i32.wrap_i64 + i32.const 3600000 + i32.div_s ) - (func $~lib/util/string/strtol (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/date/Date#getUTCMinutes (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.const 20 + (local $2 i64) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s if - i32.const 0 - return + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 local.get $0 - local.tee $2 - i32.load16_u $0 - local.set $0 - loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $0 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $0 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - i32.const 1 - local.get $0 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $0 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - 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 $4 - local.get $0 - i32.const 43 - i32.eq + i32.store $0 local.get $0 - i32.const 45 - i32.eq - i32.or - if (result i32) - local.get $1 + i64.load $0 offset=16 + i64.const 3600000 + i64.rem_s + local.set $2 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i64.const 3600000 + i64.const 0 + local.get $2 + i64.const 0 + i64.lt_s + select + i64.add + i32.wrap_i64 + i32.const 60000 + i32.div_s + ) + (func $~lib/date/Date#getUTCSeconds (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + 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 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 i32.const 1 - i32.sub - local.tee $1 - i32.eqz - if - i32.const 0 - return - end - i32.const -1 i32.const 1 - local.get $0 - i32.const 45 - i32.eq - select - local.set $4 - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - else - local.get $0 + call $~lib/builtins/abort + unreachable end - i32.const 48 - i32.eq + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 - i32.const 2 - i32.gt_s - i32.and + local.get $0 + i32.store $0 + local.get $0 + i64.load $0 offset=16 + i64.const 60000 + i64.rem_s + local.set $2 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i64.const 60000 + i64.const 0 + local.get $2 + i64.const 0 + i64.lt_s + select + i64.add + i32.wrap_i64 + i32.const 1000 + i32.div_s + ) + (func $~lib/date/Date#getUTCMilliseconds (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i64) + 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 7828 + i32.lt_s if - block $break|1 - block $case2|1 - block $case1|1 - local.get $2 - i32.load16_u $0 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 $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 2 - local.set $3 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 8 - local.set $3 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.sub - local.set $1 - i32.const 16 - local.set $3 - end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $3 - i32.const 10 - local.get $3 - select - local.set $3 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 - i32.const 1 + local.get $0 + i32.store $0 + local.get $0 + i64.load $0 offset=16 + i64.const 1000 + i64.rem_s + local.set $2 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + i64.const 1000 + i64.const 0 + local.get $2 + i64.const 0 + i64.lt_s + select + i64.add + i32.wrap_i64 + ) + (func $~lib/date/Date#setUTCMilliseconds (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i64) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $6 - loop $while-continue|2 - local.get $1 - local.tee $0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 i32.const 1 - i32.sub - local.set $1 - local.get $0 - if - block $while-break|2 - local.get $3 - local.get $2 - i32.load16_u $0 - 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 65 - i32.sub - i32.const 25 - i32.le_u - if (result i32) - local.get $0 - i32.const 55 - i32.sub - else - 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 - end - end - local.tee $0 - i32.le_u - if - local.get $1 - local.get $6 - i32.eq - if - i32.const 0 - return - end - br $while-break|2 - end - local.get $3 - local.get $5 - i32.mul - local.get $0 - i32.add - local.set $5 - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|2 - end - end - end - local.get $4 - local.get $5 - i32.mul - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/staticarray/StaticArray<~lib/string/String> - block $~lib/date/Date - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $~lib/date/Date $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $folding-inner0 $invalid - end - return - end - return - end - return - end - return - end - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.add - local.set $1 - loop $while-continue|0 - local.get $0 - local.get $1 - i32.lt_u - if - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 - end - end - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $3 - loop $while-continue|04 - local.get $1 - local.get $3 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $2 - if - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|04 - end - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end + i32.const 1 + call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.load $0 offset=16 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + local.get $1 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds + i32.sub + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~start (type $none_=>_none) - global.get $~started + (func $~lib/date/Date#setUTCSeconds (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i64) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s if - return + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 1 - global.set $~started - call $start:std/date + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.load $0 offset=16 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + local.get $1 + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.sub + i32.const 1000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/date/stringify (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/date/Date#setUTCMinutes (type $i32_i32_=>_none) (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 $3 i64) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $0 - call $~lib/number/I32#toString - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1872 - i32.store $0 offset=4 - 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 7828 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/string/String#padStart - i32.const 1868 - i32.load $0 - i32.const -2 - i32.and - local.tee $2 - i32.eqz - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - local.get $1 - i32.const 1 - i32.shl - local.tee $5 - i32.gt_u - i32.or - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/string/String#padStart - end - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $5 - local.get $4 - i32.sub - local.tee $7 - local.get $2 - i32.gt_u - if - local.get $7 - local.get $7 - i32.const 2 - i32.sub - local.get $2 - i32.div_u - local.get $2 - i32.mul - local.tee $6 - i32.sub - local.set $5 - loop $while-continue|0 - local.get $3 - local.get $6 - i32.lt_u - if - local.get $1 - local.get $3 - i32.add - i32.const 1872 - local.get $2 - memory.copy $0 $0 - local.get $2 - local.get $3 - i32.add - local.set $3 - br $while-continue|0 - end - end - local.get $1 - local.get $6 - i32.add - i32.const 1872 - local.get $5 - memory.copy $0 $0 - else - local.get $1 - i32.const 1872 - local.get $7 - memory.copy $0 $0 - end - local.get $1 - local.get $7 - i32.add - local.get $0 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.load $0 offset=16 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + local.get $1 + local.get $0 + call $~lib/date/Date#getUTCMinutes + i32.sub + i32.const 60000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCHours (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i64) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.load $0 offset=16 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + local.get $1 + local.get $0 + call $~lib/date/Date#getUTCHours + i32.sub + i32.const 3600000 + i32.mul + i64.extend_i32_s + i64.add + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/Date#setUTCDate (type $i32_i32_=>_none) (param $0 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + 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 - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + local.get $2 + local.get $1 + local.get $0 + i64.load $0 offset=16 + call $~lib/date/join + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/date/Date#toISOString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i64) + (func $~lib/date/Date#setUTCMonth@varargs (type $i32_i32_=>_none) (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 - i32.const 36 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -3555,282 +3057,1804 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 36 - memory.fill $0 - local.get $2 - local.get $0 - i32.load $0 - local.tee $2 i32.const 0 - i32.lt_s - local.tee $3 - local.get $2 - i32.const 10000 - i32.ge_s - i32.or - if (result i32) - block $__inlined_func$~lib/string/String#concat (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.const 1648 - local.get $3 - select - local.tee $3 - i32.store $0 - local.get $2 - i32.const 31 - i32.shr_s - local.tee $4 - local.get $2 - local.get $4 - i32.add - i32.xor - i32.const 6 - call $~lib/date/stringify - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - 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 7828 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $5 - i32.add - local.tee $6 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 3456 - br $__inlined_func$~lib/string/String#concat + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 - local.get $6 - local.get $3 - local.get $4 - memory.copy $0 $0 - local.get $4 - local.get $6 - i32.add - local.get $2 - local.get $5 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 + unreachable end - else - local.get $2 - i32.const 4 - call $~lib/date/stringify + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $2 end - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - i32.const 2 - call $~lib/date/stringify - local.tee $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 - i32.const 2 - call $~lib/date/stringify - local.tee $5 - i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - i64.const 86400000 - i64.const 0 + local.tee $3 local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $6 - i32.store $0 offset=20 + i32.store $0 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i64.const 3600000 - i64.const 0 - local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $7 - i32.store $0 offset=24 + i32.const 7828 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i64.const 60000 + local.tee $3 i64.const 0 + i64.store $0 + local.get $3 local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $2 - i32.store $0 offset=28 - global.get $~lib/memory/__stack_pointer - i64.const 1000 - i64.const 0 + i32.store $0 local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select + i32.load $0 offset=4 local.get $1 - i64.add - i32.wrap_i64 - i32.const 3 - call $~lib/date/stringify - local.tee $0 - i32.store $0 offset=32 - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 0 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 1 + i32.add + i32.ne + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + local.get $1 + i32.const 1 + i32.add + local.get $2 + local.get $0 + i64.load $0 offset=16 + call $~lib/date/join + call $~lib/date/Date#setTime + end global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 2 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 i32.const 4 - local.get $5 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 6 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/date/Date#setUTCFullYear (type $i32_i32_=>_none) (param $0 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 + i32.eq + if + 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.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=8 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $4 + local.get $2 + local.get $0 + i64.load $0 offset=16 + call $~lib/date/join + call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/date/stringify (type $i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1872 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $2 + local.get $4 + i32.const 1872 + i32.store $0 + block $__inlined_func$~lib/string/String#padStart + i32.const 1868 + i32.load $0 + i32.const -2 + i32.and + local.tee $6 + i32.eqz + local.get $1 + i32.const 1 + i32.shl + local.tee $4 + local.get $2 + i32.lt_u + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#padStart + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.sub + local.tee $7 + local.get $6 + i32.gt_u + if + local.get $7 + local.get $7 + i32.const 2 + i32.sub + local.get $6 + i32.div_u + local.get $6 + i32.mul + local.tee $5 + i32.sub + local.set $4 + loop $while-continue|0 + local.get $3 + local.get $5 + i32.lt_u + if + local.get $1 + local.get $3 + i32.add + i32.const 1872 + local.get $6 + memory.copy $0 $0 + local.get $3 + local.get $6 + i32.add + local.set $3 + br $while-continue|0 + end + end + local.get $1 + local.get $5 + i32.add + i32.const 1872 + local.get $4 + memory.copy $0 $0 + else + local.get $1 + i32.const 1872 + local.get $7 + memory.copy $0 $0 + end + local.get $1 + local.get $7 + i32.add + local.get $0 + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.set $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/string/joinStringArray (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + return + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 3456 + local.get $0 + select + return + end + loop $for-loop|0 + local.get $1 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 3456 + i32.store $0 offset=8 + local.get $1 + local.get $2 + i32.const 3452 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $4 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $4 + 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 $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $6 + i32.add + local.set $3 + end + local.get $1 + if + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3456 + local.get $1 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $3 + i32.add + local.set $3 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $2 + local.get $1 + i32.const 3456 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/util/string/joinStringArray + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/date/Date#toISOString (type $i32_=>_i32) (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 68 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 68 + memory.fill $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $1 + i32.const 0 + i32.lt_s + local.tee $3 + local.get $1 + i32.const 10000 + i32.ge_s + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 1616 + i32.const 1648 + local.get $3 + select + local.tee $3 + i32.store $0 + local.get $1 + i32.const 31 + i32.shr_s + local.tee $4 + local.get $1 + local.get $4 + i32.add + i32.xor + i32.const 6 + call $~lib/date/stringify + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/string/String#concat (result i32) + local.get $4 + local.get $3 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $3 + i32.store $0 + local.get $3 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $5 + local.get $4 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $4 + local.get $5 + i32.add + local.tee $6 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 3456 + br $__inlined_func$~lib/string/String#concat + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=4 + local.get $6 + local.get $3 + local.get $5 + memory.copy $0 $0 + local.get $5 + local.get $6 + i32.add + local.get $1 + local.get $4 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + end + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + else + local.get $1 + i32.const 4 + call $~lib/date/stringify + local.set $1 + end + local.get $2 + local.get $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.const 2 + call $~lib/date/stringify + local.tee $2 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.load $0 offset=8 + i32.const 2 + call $~lib/date/stringify + local.tee $3 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $4 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $5 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $6 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCMilliseconds + i32.const 3 + call $~lib/date/stringify + local.tee $0 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=64 + i32.const 3616 + i32.const 0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=64 + i32.const 3616 + i32.const 2 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=64 + i32.const 3616 + i32.const 4 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=64 + i32.const 3616 + i32.const 6 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=64 + i32.const 3616 + i32.const 8 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=64 + i32.const 3616 + i32.const 10 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=64 + i32.const 3616 + i32.const 12 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 offset=4 + i32.const 3616 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 68 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $2 + local.get $3 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + local.get $2 + 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 + 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 + ) + (func $~lib/date/Date#toDateString (type $i32_=>_i32) (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 56 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 56 + memory.fill $0 + i32.const 28 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.const 4640 + i32.const 28 + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.set $1 + i32.const 48 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $3 + i32.const 5072 + i32.const 48 + memory.copy $0 $0 + local.get $1 + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 + local.tee $6 + local.get $1 + i32.const 3 + i32.lt_s + i32.sub + local.tee $7 + i32.const 0 + i32.lt_s + local.set $0 + local.get $1 + i32.const 1579 + i32.add + i32.load8_u $0 + local.get $7 + i32.const 3 + i32.const 0 + local.get $0 + select + i32.sub + i32.const 4 + i32.div_s + local.get $7 + i32.const 99 + i32.const 0 + local.get $0 + select + i32.sub + i32.const 100 + i32.div_s + i32.sub + local.get $7 + i32.const 399 + i32.const 0 + local.get $0 + select + i32.sub + i32.const 400 + i32.div_s + i32.add + local.get $7 + i32.add + i32.add + local.get $5 + i32.add + i32.const 7 + i32.rem_s + local.set $0 + local.get $4 + local.get $6 + i32.const 31 + i32.shr_s + local.tee $4 + local.get $6 + i32.add + local.get $4 + i32.xor + i32.const 4 + call $~lib/date/stringify + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $1 + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 7 + i32.const 0 + local.get $0 + i32.const 0 + i32.lt_s + select + local.get $0 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.const 2 + call $~lib/date/stringify + local.tee $2 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + i32.const 5200 + i32.const 5232 + local.get $6 + i32.const 0 + i32.lt_s + select + local.tee $3 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=48 + i32.const 5152 + i32.const 0 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=48 + i32.const 5152 + i32.const 1 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=48 + i32.const 5152 + i32.const 2 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=48 + i32.const 5152 + i32.const 3 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=48 + i32.const 5152 + i32.const 4 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 offset=52 + i32.const 5152 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 56 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/date/Date#toTimeString (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 36 + memory.fill $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=28 + i32.const 5456 + i32.const 0 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=28 + i32.const 5456 + i32.const 2 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=28 + i32.const 5456 + i32.const 4 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 offset=32 + i32.const 5456 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/date/Date#toUTCString (type $i32_=>_i32) (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 80 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 80 + memory.fill $0 + i32.const 28 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.const 5824 + i32.const 28 + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.set $1 + i32.const 48 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $3 + i32.const 6256 + i32.const 48 + memory.copy $0 $0 + local.get $1 + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $6 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 + local.tee $7 + local.get $5 + i32.const 3 + i32.lt_s + i32.sub + local.tee $8 + i32.const 0 + i32.lt_s + local.set $1 + local.get $5 + i32.const 1579 + i32.add + i32.load8_u $0 + local.get $8 + i32.const 3 + i32.const 0 + local.get $1 + select + i32.sub + i32.const 4 + i32.div_s + local.get $8 + i32.const 99 + i32.const 0 + local.get $1 + select + i32.sub + i32.const 100 + i32.div_s + i32.sub + local.get $8 + i32.const 399 + i32.const 0 + local.get $1 + select + i32.sub + i32.const 400 + i32.div_s + i32.add + local.get $8 + i32.add + i32.add + local.get $6 + i32.add + i32.const 7 + i32.rem_s + local.set $1 + local.get $4 + local.get $7 + i32.const 31 + i32.shr_s + local.tee $4 + local.get $7 + i32.add + local.get $4 + i32.xor + i32.const 4 + call $~lib/date/stringify + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 7 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + local.get $1 + i32.add + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $1 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 2 + call $~lib/date/stringify + local.tee $2 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCHours + i32.const 2 + call $~lib/date/stringify + local.tee $5 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCMinutes + i32.const 2 + call $~lib/date/stringify + local.tee $6 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/date/Date#getUTCSeconds + i32.const 2 + call $~lib/date/stringify + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + i32.const 1616 + i32.const 3456 + local.get $7 + i32.const 0 + i32.lt_s + select + local.tee $7 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=68 + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=72 + i32.const 6368 + i32.const 0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=72 + i32.const 6368 + i32.const 1 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=72 + i32.const 6368 + i32.const 2 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=72 + i32.const 6368 + i32.const 3 + local.get $7 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=72 + i32.const 6368 + i32.const 4 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=72 + i32.const 6368 + i32.const 6 + local.get $5 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=72 + i32.const 6368 + i32.const 8 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=72 + i32.const 6368 + i32.const 10 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 offset=76 + i32.const 6368 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 80 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 i32.const 8 - local.get $7 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 10 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 12 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=4 - i32.const 3616 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 return end - i32.const 40624 - i32.const 40672 - i32.const 1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable + 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 $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 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/date/Date#toDateString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (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 36 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3845,196 +4869,294 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 36 - memory.fill $0 - i32.const 28 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.const 4640 - i32.const 28 - memory.copy $0 $0 - local.get $1 - local.get $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 48 - i32.const 5 - call $~lib/rt/itcms/__new local.tee $3 - i32.const 5072 - i32.const 48 - memory.copy $0 $0 - local.get $1 + i64.const 0 + i64.store $0 local.get $3 - i32.store $0 offset=4 - local.get $0 - i32.load $0 - local.tee $4 local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.const 3 - i32.lt_s - i32.sub - local.tee $5 + i32.store $0 + local.get $1 i32.const 0 - i32.lt_s - local.set $6 - local.get $0 - i32.load $0 offset=8 - local.tee $0 local.get $1 - i32.const 1579 - i32.add - i32.load8_u $0 - local.get $5 - local.get $5 - i32.const 3 i32.const 0 - local.get $6 + i32.gt_s select + local.tee $1 + local.get $0 + i32.const 20 i32.sub - i32.const 4 - i32.div_s - local.get $5 - i32.const 99 - i32.const 0 - local.get $6 + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + local.get $3 + i32.lt_s select - i32.sub - i32.const 100 - i32.div_s - i32.sub - local.get $5 - i32.const 399 + local.tee $1 + local.get $2 i32.const 0 - local.get $6 + local.get $2 + i32.const 0 + i32.gt_s select - i32.sub - i32.const 400 - i32.div_s - i32.add - i32.add - i32.add - i32.add - i32.const 7 - i32.rem_s - local.set $5 - global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select + local.tee $2 + local.get $1 + local.get $2 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $4 + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $1 local.get $4 - i32.const 31 - i32.shr_s - local.tee $6 + 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 3456 + return + end local.get $4 - i32.add - local.get $6 - i32.xor - i32.const 4 - call $~lib/date/stringify - local.tee $6 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $3 + i32.eqz local.get $1 + local.get $3 i32.const 1 - i32.sub - i32.const 2 i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.store $0 offset=12 + i32.eq + i32.and + 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 $2 - i32.const 7 - i32.const 0 - local.get $5 - i32.const 0 - i32.lt_s - select - local.get $5 - i32.add i32.const 2 - i32.shl + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + local.get $4 i32.add - i32.load $0 - local.tee $2 - i32.store $0 offset=16 + local.get $2 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 2 - call $~lib/date/stringify - local.tee $0 - i32.store $0 offset=20 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 5200 - i32.const 5232 - local.get $4 - i32.const 0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 7828 i32.lt_s - select - local.tee $3 - i32.store $0 offset=24 + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 - i32.const 5152 i32.const 0 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 - i32.const 5152 - i32.const 1 + local.get $0 + i32.store $0 + local.get $0 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + local.get $2 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 - i32.const 5152 - i32.const 2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 - i32.const 5152 - i32.const 3 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + ) + (func $~lib/array/ensureCapacity (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 - i32.const 5152 i32.const 4 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 5152 - i32.store $0 offset=28 + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=32 - i32.const 5152 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 6784 + i32.const 6736 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $2 + i32.const 1 + i32.shl + local.tee $2 + local.get $2 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + i32.const 8 + local.get $1 + local.get $1 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.tee $3 + local.get $0 + i32.load $0 + local.tee $2 + i32.const 20 + i32.sub + local.tee $4 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $4 + local.get $3 + i32.store $0 offset=16 + local.get $2 + local.set $1 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $3 + local.get $4 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $1 + local.get $2 + local.get $3 + local.get $4 + i32.load $0 offset=16 + local.tee $4 + local.get $3 + local.get $4 + i32.lt_u + select + memory.copy $0 $0 + end + local.get $1 + local.get $2 + i32.ne + if + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $3 + i32.store $0 offset=8 + end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/date/Date#toTimeString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i64) + (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4049,117 +5171,426 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i64.const 86400000 - i64.const 0 - local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i64.const 3600000 - i64.const 0 - local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i64.const 60000 - i64.const 0 - local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store $0 offset=12 - i32.const 5456 - i32.const 0 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store $0 offset=12 - i32.const 5456 - i32.const 2 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store $0 offset=12 - i32.const 5456 - i32.const 4 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=16 - i32.const 5456 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 20 + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.load $0 offset=12 + local.tee $2 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (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 40 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 40 + memory.fill $0 + local.get $2 + i32.eqz + br_if $folding-inner1 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=4 + 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 7828 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=12 + i32.eqz + if + local.get $1 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.get $0 + i32.store $0 + local.get $0 + if + local.get $1 + local.get $0 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $folding-inner2 + end + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $5 + local.get $6 + local.get $1 + i32.store $0 offset=8 + i32.const 2147483647 + local.get $2 + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $7 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $8 + if + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + i32.const 3456 + i32.store $0 + br $folding-inner2 + end + else + local.get $5 + i32.eqz + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $7 + local.get $5 + local.get $7 + i32.lt_s + select + local.tee $3 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=16 + local.get $5 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + br $folding-inner2 + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=24 + loop $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $1 + i32.store $0 offset=28 + local.get $0 + local.get $1 + local.get $3 + call $~lib/string/String#indexOf + local.tee $9 + i32.const -1 + i32.xor + if + local.get $9 + local.get $3 + i32.sub + local.tee $6 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + local.tee $10 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=32 + local.get $6 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $10 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=28 + local.get $2 + local.get $6 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=8 + local.get $3 + i32.const 3456 + i32.store $0 offset=28 + local.get $2 + i32.const 3456 + call $~lib/array/Array<~lib/string/String>#push + end + local.get $4 + i32.const 1 + i32.add + local.tee $4 + local.get $7 + i32.eq + br_if $folding-inner3 + local.get $8 + local.get $9 + i32.add + local.set $3 + br $while-continue|1 + end + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=28 + local.get $2 + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + br $folding-inner3 + end + local.get $5 + local.get $3 + i32.sub + local.tee $1 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=36 + local.get $4 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $1 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=28 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=8 + local.get $0 + i32.const 3456 + i32.store $0 offset=28 + local.get $2 + i32.const 3456 + call $~lib/array/Array<~lib/string/String>#push + end + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $~lib/rt/__newArray + local.set $1 + end + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + end + global.get $~lib/memory/__stack_pointer + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $2 ) - (func $~lib/date/Date#toUTCString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i64) + (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (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 48 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4169,287 +5600,154 @@ i32.const 40624 i32.const 40672 i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 48 - memory.fill $0 - i32.const 28 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $3 - i32.const 5824 - i32.const 28 - memory.copy $0 $0 - local.get $2 - local.get $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.set $2 - i32.const 48 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $4 - i32.const 6256 - i32.const 48 - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.store $0 offset=4 - local.get $0 - i32.load $0 - local.tee $2 - local.get $0 - i32.load $0 offset=4 - local.tee $5 - i32.const 3 - i32.lt_s - i32.sub - local.tee $6 - i32.const 0 - i32.lt_s - local.set $7 - local.get $5 - i32.const 1579 - i32.add - i32.load8_u $0 - local.get $6 - local.get $6 - i32.const 3 - i32.const 0 - local.get $7 - select - i32.sub - i32.const 4 - i32.div_s - local.get $6 - i32.const 99 - i32.const 0 - local.get $7 - select - i32.sub - i32.const 100 - i32.div_s - i32.sub - local.get $6 - i32.const 399 - i32.const 0 - local.get $7 - select - i32.sub - i32.const 400 - i32.div_s - i32.add - i32.add - i32.add - local.get $0 - i32.load $0 offset=8 - local.tee $6 - i32.add - i32.const 7 - i32.rem_s - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 31 - i32.shr_s - local.tee $8 - local.get $2 - i32.add - local.get $8 - i32.xor - i32.const 4 - call $~lib/date/stringify - local.tee $8 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $5 - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 7 - i32.const 0 - local.get $7 - i32.const 0 - i32.lt_s - select - local.get $7 - i32.add - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $3 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.const 2 - call $~lib/date/stringify - local.tee $5 - i32.store $0 offset=20 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 86400000 - i64.const 0 - local.get $1 i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $6 - i32.store $0 offset=24 + i64.store $0 + 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 + i32.const 2147483647 + local.set $2 + end global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 3600000 - i64.const 0 + i32.store $0 + local.get $3 local.get $1 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $7 - i32.store $0 offset=28 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 60000 - i64.const 0 local.get $1 - i64.const 0 - i64.lt_s - select - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s - i32.const 2 - call $~lib/date/stringify - local.tee $0 - i32.store $0 offset=32 - global.get $~lib/memory/__stack_pointer - i32.const 1616 - i32.const 3456 local.get $2 - i32.const 0 - i32.lt_s - select - local.tee $2 - i32.store $0 offset=36 - global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 0 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + call $~lib/string/String#split + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 1 - local.get $5 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 2 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 3 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 i32.const 4 - local.get $8 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 6 - local.get $6 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 i32.const 8 - local.get $7 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 - i32.const 6368 - i32.const 10 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 offset=40 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1392 + i32.const 6736 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=44 - i32.const 6368 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 6832 + i32.const 6736 + i32.const 118 + i32.const 40 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/util/string/strtol (type $i32_=>_i32) (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 36 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4460,279 +5758,327 @@ i32.const 40672 i32.const 1 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 36 - memory.fill $0 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - local.get $2 - i32.eqz - br_if $folding-inner0 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=12 - i32.eqz - if - local.get $2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $2 - i32.const 1 - i32.store $0 offset=12 - end - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.store $0 - local.get $0 - if - local.get $2 - local.get $0 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - br $folding-inner1 - end + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + block $folding-inner0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + i32.eqz + br_if $folding-inner0 + local.get $0 + local.tee $2 + i32.load16_u $0 + local.set $0 + loop $while-continue|0 + block $__inlined_func$~lib/util/string/isSpace (result i32) local.get $0 - i32.const 20 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $0 + i32.const 9 i32.sub - i32.load $0 offset=16 + i32.const 4 + i32.le_u + i32.or + local.get $0 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace + drop i32.const 1 - i32.shr_u - local.set $7 - i32.const 2147483647 - local.get $2 - local.get $2 + local.get $0 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case0|0 + local.get $0 + i32.const 5760 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8232 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8233 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8239 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 8287 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 12288 + i32.eq + br_if $case0|0 + local.get $0 + i32.const 65279 + i32.eq + br_if $case0|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end i32.const 0 - i32.lt_s - select - local.set $9 + end + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + local.set $0 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - i32.shr_u - local.tee $4 - if - local.get $7 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=16 + i32.sub + local.set $1 + br $while-continue|0 + end + end + i32.const 1 + local.set $4 + local.get $0 + i32.const 43 + i32.eq + local.get $0 + i32.const 45 + i32.eq + i32.or + if (result i32) + 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 $4 + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + else + local.get $0 + end + i32.const 48 + i32.eq + local.get $1 + i32.const 2 + i32.gt_s + i32.and + if + block $break|1 + block $case2|1 + block $case1|1 local.get $2 - i32.load $0 offset=4 - i32.const 3456 - i32.store $0 - br $folding-inner1 - end - else - local.get $7 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $9 - local.get $7 - local.get $9 - i32.lt_s - select - local.tee $1 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.tee $0 + i32.const 98 + i32.ne if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 - local.get $5 local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 - local.get $5 - if - local.get $2 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|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 $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 2 + local.set $3 + br $break|1 end - br $folding-inner1 - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=20 - loop $while-continue|1 - local.get $0 + local.get $2 + i32.const 4 + i32.add + local.set $2 local.get $1 - local.get $3 - call $~lib/string/String#indexOf - local.tee $10 - i32.const -1 - i32.xor - if - local.get $10 - local.get $3 + i32.const 2 + i32.sub + local.set $1 + i32.const 8 + local.set $3 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.sub + local.set $1 + i32.const 16 + local.set $3 + end + end + local.get $3 + i32.const 10 + local.get $3 + select + local.set $5 + i32.const 0 + local.set $3 + local.get $1 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|2 + local.get $1 + local.tee $0 + i32.const 1 + i32.sub + local.set $1 + local.get $0 + if + block $while-break|2 + local.get $5 + local.get $2 + i32.load16_u $0 + 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 - local.tee $2 - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=24 - local.get $2 + else + local.get $0 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + if (result i32) local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $5 - memory.copy $0 $0 + i32.const 55 + i32.sub else - i32.const 3456 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=28 + 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 end - local.get $8 - local.get $2 - call $~lib/array/Array<~lib/string/String>#push + end + local.tee $0 + i32.le_u + if + local.get $1 local.get $6 - i32.const 1 - i32.add - local.tee $6 - local.get $9 i32.eq - br_if $folding-inner2 - local.get $4 - local.get $10 - i32.add - local.set $3 - br $while-continue|1 + br_if $folding-inner0 + br $while-break|2 end - end - local.get $3 - i32.eqz - if - local.get $8 - local.get $0 - call $~lib/array/Array<~lib/string/String>#push - br $folding-inner2 - end - local.get $7 - local.get $3 - i32.sub - local.tee $1 - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=32 - local.get $2 - local.get $0 local.get $3 - i32.const 1 - i32.shl + local.get $5 + i32.mul + local.get $0 i32.add - local.get $1 - memory.copy $0 $0 - local.get $8 + local.set $3 local.get $2 - call $~lib/array/Array<~lib/string/String>#push - else - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 offset=28 - local.get $8 - i32.const 3456 - call $~lib/array/Array<~lib/string/String>#push + i32.const 2 + i32.add + local.set $2 + br $while-continue|2 end - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return end - i32.const 0 - call $~lib/rt/__newArray - local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $3 + local.get $4 + i32.mul return end global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + i32.const 0 + ) + (func $~lib/number/I32.parseInt (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 7828 + i32.lt_s + if + i32.const 40624 + i32.const 40672 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/util/string/strtol + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/date/Date.fromString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -4758,9 +6104,13 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 i32.const 28 memory.fill $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -4776,12 +6126,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 3488 + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 i32.store $0 + local.get $1 + i32.const 3488 + i32.store $0 offset=8 local.get $0 + local.tee $1 i32.const 3488 i32.const 0 call $~lib/string/String#indexOf @@ -4790,12 +6146,19 @@ i32.xor if global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 local.get $0 i32.const 0 local.get $6 call $~lib/string/String#substring local.tee $1 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -4805,10 +6168,13 @@ i32.add call $~lib/string/String#substring@varargs local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - i32.const 3520 + local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3520 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength global.get $~lib/memory/__stack_pointer @@ -4816,9 +6182,12 @@ i32.const 3520 call $~lib/string/String#split@varargs local.tee $0 - i32.store $0 offset=12 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 - i32.load $0 offset=12 + call $~lib/array/Array<~lib/string/String>#get:length local.tee $6 i32.const 1 i32.le_s @@ -4830,39 +6199,52 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/array/Array<~lib/string/String>#__get local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=16 + i32.store $0 local.get $3 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 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 $0 offset=16 + i32.store $0 local.get $4 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $4 local.get $6 i32.const 3 i32.ge_s if global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 i32.const 2 call $~lib/array/Array<~lib/string/String>#__get local.tee $0 i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i32.const 3552 + local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3552 + i32.store $0 offset=8 local.get $0 i32.const 3552 i32.const 0 @@ -4871,6 +6253,9 @@ i32.const -1 i32.xor if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 local.get $6 @@ -4878,10 +6263,13 @@ local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=16 + i32.store $0 local.get $2 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -4892,21 +6280,27 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store $0 local.get $0 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $5 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $2 end end end global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 1616 + local.get $1 i32.store $0 + local.get $0 + i32.const 1616 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 @@ -4915,47 +6309,59 @@ call $~lib/string/String#split@varargs local.tee $0 i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 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 $0 offset=16 + i32.store $0 local.get $1 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $7 i32.const 1 local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 + i32.store $0 + local.get $0 + call $~lib/array/Array<~lib/string/String>#get:length local.tee $6 i32.const 2 i32.ge_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 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 $0 offset=16 + i32.store $0 local.get $1 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt local.set $1 local.get $6 i32.const 3 i32.ge_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 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 $0 offset=16 + i32.store $0 local.get $0 - call $~lib/util/string/strtol + call $~lib/number/I32.parseInt else i32.const 1 end @@ -4985,7 +6391,7 @@ (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 116 + i32.const 408 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -5001,7 +6407,7 @@ end global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 116 + i32.const 408 memory.fill $0 block $folding-inner0 i32.const 1970 @@ -5230,6 +6636,12 @@ call $~lib/date/Date#constructor local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1541847600001 @@ -5242,9 +6654,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.const 1541847600002 call $~lib/date/Date#setTime + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1541847600002 @@ -5261,7 +6682,13 @@ i64.const 5918283958183706 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 189512 @@ -5274,6 +6701,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=24 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 12 @@ -5286,6 +6720,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=28 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 14 @@ -5298,21 +6739,11 @@ call $~lib/builtins/abort unreachable end - i64.const 86400000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCHours i32.const 22 i32.ne if @@ -5323,21 +6754,11 @@ call $~lib/builtins/abort unreachable end - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 9 i32.ne if @@ -5348,21 +6769,11 @@ call $~lib/builtins/abort unreachable end - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 43 i32.ne if @@ -5373,19 +6784,11 @@ call $~lib/builtins/abort unreachable end - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 706 i32.ne if @@ -5400,6 +6803,12 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=8 local.get $0 i32.load $0 @@ -5413,6 +6822,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=40 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 12 @@ -5425,6 +6841,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=44 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 4 @@ -5437,21 +6860,11 @@ call $~lib/builtins/abort unreachable end - i64.const 86400000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCHours i32.const 1 i32.ne if @@ -5462,21 +6875,11 @@ call $~lib/builtins/abort unreachable end - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 3 i32.ne if @@ -5487,21 +6890,11 @@ call $~lib/builtins/abort unreachable end - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 11 i32.ne if @@ -5512,19 +6905,11 @@ call $~lib/builtins/abort unreachable end - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 274 i32.ne if @@ -5539,20 +6924,12 @@ i64.const 399464523963984 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=12 - i64.const 1000 - i64.const 0 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 984 i32.ne if @@ -5563,22 +6940,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCMilliseconds - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 12 i32.ne if @@ -5589,22 +6961,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 568 call $~lib/date/Date#setUTCMilliseconds - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 568 i32.ne if @@ -5615,9 +6982,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 399464523963000 @@ -5630,9 +7006,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 999 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 399464523963999 @@ -5645,22 +7030,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 2000 call $~lib/date/Date#setUTCMilliseconds - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds if i32.const 0 i32.const 1152 @@ -5669,6 +7049,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=60 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 399464523965000 @@ -5681,22 +7068,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const -2000 call $~lib/date/Date#setUTCMilliseconds - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds if i32.const 0 i32.const 1152 @@ -5705,6 +7087,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=64 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 399464523963000 @@ -5721,22 +7110,12 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=16 - i64.const 60000 - i64.const 0 + i32.store $0 offset=68 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 31 i32.ne if @@ -5747,24 +7126,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCSeconds - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 12 i32.ne if @@ -5775,24 +7147,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 50 call $~lib/date/Date#setUTCSeconds - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 50 i32.ne if @@ -5803,9 +7168,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCSeconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=72 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027318300986 @@ -5818,9 +7192,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 59 call $~lib/date/Date#setUTCSeconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=76 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027318359986 @@ -5837,22 +7220,12 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=20 - i64.const 3600000 - i64.const 0 - local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=80 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 45 i32.ne if @@ -5863,24 +7236,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCMinutes - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 12 i32.ne if @@ -5891,24 +7257,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 50 call $~lib/date/Date#setUTCMinutes - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 50 i32.ne if @@ -5919,9 +7278,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCMinutes + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027315631986 @@ -5934,9 +7302,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 59 call $~lib/date/Date#setUTCMinutes + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027319171986 @@ -5953,22 +7330,12 @@ i64.const 372027318331986 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=24 - i64.const 86400000 - i64.const 0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCHours i32.const 17 i32.ne if @@ -5979,24 +7346,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCHours - i64.const 86400000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCHours i32.const 12 i32.ne if @@ -6007,24 +7367,17 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 2 call $~lib/date/Date#setUTCHours - i64.const 86400000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCHours i32.const 2 i32.ne if @@ -6035,9 +7388,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 0 call $~lib/date/Date#setUTCHours + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027257131986 @@ -6050,9 +7412,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 23 call $~lib/date/Date#setUTCHours + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=100 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 372027339931986 @@ -6069,7 +7440,13 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=28 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=108 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 1973 @@ -6082,6 +7459,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=112 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 12 @@ -6094,9 +7478,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 12 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=116 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 12 @@ -6109,9 +7502,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 2 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=120 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 2 @@ -6124,31 +7526,58 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 30 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 0 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 31 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 2024 call $~lib/date/Date#setUTCFullYear + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 1 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=124 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 3 @@ -6161,17 +7590,32 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 29 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 1 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=128 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1709168591274 @@ -6184,6 +7628,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=132 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 2 @@ -6196,6 +7647,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=136 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 29 @@ -6208,21 +7666,11 @@ call $~lib/builtins/abort unreachable end - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMinutes i32.const 3 i32.ne if @@ -6233,21 +7681,11 @@ call $~lib/builtins/abort unreachable end - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCSeconds i32.const 11 i32.ne if @@ -6258,19 +7696,11 @@ call $~lib/builtins/abort unreachable end - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $0 + call $~lib/date/Date#getUTCMilliseconds i32.const 274 i32.ne if @@ -6285,10 +7715,19 @@ i64.const 1362106799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=28 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 20 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=140 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1363748399999 @@ -6301,9 +7740,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=144 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1362106799999 @@ -6316,9 +7764,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1000 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=148 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1362106800000 @@ -6331,9 +7788,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 3600000 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=152 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1362110400000 @@ -6346,9 +7812,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 3600001 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=156 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1362114000001 @@ -6361,9 +7836,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 3600001 call $~lib/date/Date#setUTCMilliseconds + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=160 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 1362117600001 @@ -6380,10 +7864,19 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=28 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const -2208 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=164 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const -67301808726 @@ -6400,10 +7893,19 @@ i64.const 123814991274 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=28 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 2208 call $~lib/date/Date#setUTCDate + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=168 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 314240591274 @@ -6420,54 +7922,65 @@ i64.const 1467763200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=32 + i32.store $0 offset=172 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 + local.get $2 local.get $3 - local.get $3 + i32.const 3 + i32.lt_s + i32.sub + local.tee $0 i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6493,54 +8006,65 @@ i64.const 1467763199999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=36 + i32.store $0 offset=176 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 - local.get $3 + local.get $2 local.get $3 i32.const 3 + i32.lt_s + i32.sub + local.tee $0 + i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6566,54 +8090,65 @@ i64.const 1467849599999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=40 + i32.store $0 offset=180 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 + local.get $2 local.get $3 - local.get $3 + i32.const 3 + i32.lt_s + i32.sub + local.tee $0 i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6639,54 +8174,65 @@ i64.const 1467849600000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=44 + i32.store $0 offset=184 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 - local.get $3 + local.get $2 local.get $3 i32.const 3 + i32.lt_s + i32.sub + local.tee $0 + i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6712,54 +8258,65 @@ i64.const 1468022400000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=48 + i32.store $0 offset=188 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 + local.get $2 local.get $3 - local.get $3 + i32.const 3 + i32.lt_s + i32.sub + local.tee $0 i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6785,54 +8342,65 @@ i64.const 1468022399999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=52 + i32.store $0 offset=192 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 - local.get $3 + local.get $2 local.get $3 i32.const 3 + i32.lt_s + i32.sub + local.tee $0 + i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6858,54 +8426,65 @@ i64.const 1468108799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=56 + i32.store $0 offset=196 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 + local.get $2 local.get $3 - local.get $3 + i32.const 3 + i32.lt_s + i32.sub + local.tee $0 i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -6931,54 +8510,65 @@ i64.const 1468108800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=60 + i32.store $0 offset=200 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.tee $2 - i32.const 3 - i32.lt_s - i32.sub local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 7 i32.const 0 local.get $0 i32.load $0 offset=8 - local.get $2 + local.get $3 i32.const 1579 i32.add i32.load8_u $0 - local.get $3 + local.get $2 local.get $3 i32.const 3 + i32.lt_s + i32.sub + local.tee $0 + i32.const 3 i32.const 0 - local.get $3 + local.get $0 i32.const 0 i32.lt_s - local.tee $0 + local.tee $2 select i32.sub i32.const 4 i32.div_s - local.get $3 + local.get $0 i32.const 99 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 100 i32.div_s i32.sub - local.get $3 + local.get $0 i32.const 399 i32.const 0 - local.get $0 + local.get $2 select i32.sub i32.const 400 i32.div_s i32.add + local.get $0 i32.add i32.add i32.add @@ -7002,7 +8592,13 @@ i64.const 7899943856218720 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=64 + i32.store $0 offset=204 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=208 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 4 @@ -7015,11 +8611,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 10 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=212 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 11 @@ -7032,11 +8637,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 2 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=216 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 3 @@ -7049,6 +8663,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=220 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 7899941177818720 @@ -7061,11 +8682,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 0 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=224 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 7899936080218720 @@ -7078,11 +8708,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 11 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=228 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 7899964937818720 @@ -7095,11 +8734,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const -1 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=232 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 12 @@ -7112,6 +8760,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=236 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 7899933401818720 @@ -7124,11 +8779,20 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 i32.const 1 global.set $~argumentsLength local.get $0 i32.const 12 call $~lib/date/Date#setUTCMonth@varargs + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=240 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -7141,6 +8805,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=244 + local.get $2 + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 7899936080218720 @@ -7157,7 +8828,13 @@ i64.const 7941202527925698 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=68 + i32.store $0 offset=248 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=252 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 253616 @@ -7170,9 +8847,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 1976 call $~lib/date/Date#setUTCFullYear + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=256 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 1976 @@ -7185,9 +8871,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 20212 call $~lib/date/Date#setUTCFullYear + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=260 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 20212 @@ -7200,9 +8895,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.const 71 call $~lib/date/Date#setUTCFullYear + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=264 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const 71 @@ -7219,16 +8923,19 @@ i64.const -62167219200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 3696 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 3696 call $~lib/string/String.__eq @@ -7245,16 +8952,19 @@ i64.const -62167219200001 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 3776 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 3776 call $~lib/string/String.__eq @@ -7271,16 +8981,19 @@ i64.const -62127219200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 3856 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 3856 call $~lib/string/String.__eq @@ -7297,16 +9010,19 @@ i64.const 1231231231020 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 3936 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 3936 call $~lib/string/String.__eq @@ -7323,16 +9039,19 @@ i64.const 1231231231456 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4016 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 4016 call $~lib/string/String.__eq @@ -7349,16 +9068,19 @@ i64.const 322331231231020 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4096 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 4096 call $~lib/string/String.__eq @@ -7375,16 +9097,19 @@ i64.const 253402300799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4176 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 4176 call $~lib/string/String.__eq @@ -7401,16 +9126,19 @@ i64.const 253402300800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4256 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 4256 call $~lib/string/String.__eq @@ -7427,16 +9155,19 @@ i64.const -62847038769226 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=72 + i32.store $0 offset=268 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4336 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 4336 call $~lib/string/String.__eq @@ -7453,16 +9184,19 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=84 + i32.store $0 offset=280 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 5264 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 5264 call $~lib/string/String.__eq @@ -7479,16 +9213,19 @@ i64.const 1580601600000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=84 + i32.store $0 offset=280 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 5328 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 5328 call $~lib/string/String.__eq @@ -7505,16 +9242,19 @@ i64.const -62183116800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=84 + i32.store $0 offset=280 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toDateString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 5392 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 5392 call $~lib/string/String.__eq @@ -7531,16 +9271,19 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=88 + i32.store $0 offset=284 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toTimeString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 5504 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 5504 call $~lib/string/String.__eq @@ -7557,16 +9300,19 @@ i64.const 253402300799999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=88 + i32.store $0 offset=284 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toTimeString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 5552 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 5552 call $~lib/string/String.__eq @@ -7583,16 +9329,19 @@ i64.const -61536067200000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=92 + i32.store $0 offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 6448 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 6448 call $~lib/string/String.__eq @@ -7609,16 +9358,19 @@ i64.const 1580741613467 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=92 + i32.store $0 offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 6528 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 6528 call $~lib/string/String.__eq @@ -7635,16 +9387,19 @@ i64.const -62183116800000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=92 + i32.store $0 offset=288 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toUTCString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=76 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 6608 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 6608 call $~lib/string/String.__eq @@ -7660,12 +9415,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 6688 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 6688 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=296 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192067200000 @@ -7681,12 +9442,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 6960 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 6960 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=300 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192067200000 @@ -7702,12 +9469,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7008 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7008 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=304 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 11860387200000 @@ -7723,12 +9496,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7056 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7056 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=308 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192112496000 @@ -7744,12 +9523,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7120 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7120 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=312 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192112496456 @@ -7765,12 +9550,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7200 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7200 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=316 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192112496456 @@ -7786,12 +9577,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7280 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7280 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=320 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const -62167219200000 @@ -7807,12 +9604,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7312 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7312 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=324 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const -62135596800000 @@ -7828,12 +9631,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7344 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7344 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=328 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 189302400000 @@ -7849,12 +9658,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7376 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7376 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=332 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 191980800000 @@ -7870,12 +9685,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 6688 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 6688 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=336 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192067200000 @@ -7891,12 +9712,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7424 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7424 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=340 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192112440000 @@ -7912,12 +9739,18 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 7056 - i32.store $0 offset=76 + i32.store $0 offset=8 local.get $0 i32.const 7056 call $~lib/date/Date.fromString local.tee $0 - i32.store $0 offset=96 + i32.store $0 offset=292 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=344 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const 192112496000 @@ -7934,12 +9767,18 @@ i64.const -8640000000000000 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=100 + i32.store $0 offset=348 global.get $~lib/memory/__stack_pointer i64.const 8640000000000000 call $~lib/date/Date#constructor local.tee $2 - i32.store $0 offset=104 + i32.store $0 offset=352 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=356 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i64.load $0 offset=16 i64.const -8640000000000000 @@ -7952,6 +9791,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=360 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i64.load $0 offset=16 i64.const 8640000000000000 @@ -7964,6 +9810,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=364 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 i32.const -271821 @@ -7976,6 +9829,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=368 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 i32.const 275760 @@ -7988,6 +9848,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=372 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 i32.const 4 @@ -8000,6 +9867,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=376 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 offset=4 i32.const 9 @@ -8012,6 +9886,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=380 + local.get $3 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 i32.const 20 @@ -8024,6 +9905,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=384 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 offset=8 i32.const 13 @@ -8036,16 +9924,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=76 - local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 7488 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 7488 call $~lib/string/String.__eq @@ -8058,16 +9948,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=276 local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=76 - local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 7568 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 7568 call $~lib/string/String.__eq @@ -8084,12 +9976,18 @@ i64.const 8639999999999999 call $~lib/date/Date#constructor local.tee $0 - i32.store $0 offset=108 + i32.store $0 offset=388 global.get $~lib/memory/__stack_pointer i64.const -8639999999999999 call $~lib/date/Date#constructor local.tee $2 - i32.store $0 offset=112 + i32.store $0 offset=392 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=396 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 i32.const -271821 @@ -8102,6 +10000,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=400 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 offset=4 i32.const 4 @@ -8114,6 +10019,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=404 + local.get $3 + local.get $2 + i32.store $0 offset=8 local.get $2 i32.load $0 offset=8 i32.const 20 @@ -8126,21 +10038,11 @@ call $~lib/builtins/abort unreachable end - i64.const 86400000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $2 - i64.load $0 offset=16 - i64.const 86400000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 3600000 - i32.div_s + i32.store $0 offset=8 + local.get $2 + call $~lib/date/Date#getUTCHours if i32.const 0 i32.const 1152 @@ -8149,21 +10051,11 @@ call $~lib/builtins/abort unreachable end - i64.const 3600000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $2 - i64.load $0 offset=16 - i64.const 3600000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 60000 - i32.div_s + i32.store $0 offset=8 + local.get $2 + call $~lib/date/Date#getUTCMinutes if i32.const 0 i32.const 1152 @@ -8172,21 +10064,11 @@ call $~lib/builtins/abort unreachable end - i64.const 60000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $2 - i64.load $0 offset=16 - i64.const 60000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 - i32.const 1000 - i32.div_s + i32.store $0 offset=8 + local.get $2 + call $~lib/date/Date#getUTCSeconds if i32.const 0 i32.const 1152 @@ -8195,19 +10077,11 @@ call $~lib/builtins/abort unreachable end - i64.const 1000 - i64.const 0 + global.get $~lib/memory/__stack_pointer local.get $2 - i64.load $0 offset=16 - i64.const 1000 - i64.rem_s - local.tee $1 - i64.const 0 - i64.lt_s - select - local.get $1 - i64.add - i32.wrap_i64 + i32.store $0 offset=8 + local.get $2 + call $~lib/date/Date#getUTCMilliseconds i32.const 1 i32.ne if @@ -8218,16 +10092,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=276 local.get $0 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 offset=76 - local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 7648 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 7648 call $~lib/string/String.__eq @@ -8240,16 +10116,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=276 local.get $2 call $~lib/date/Date#toISOString local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $2 local.get $0 - i32.store $0 offset=76 - local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 7728 - i32.store $0 offset=80 + i32.store $0 offset=272 local.get $0 i32.const 7728 call $~lib/string/String.__eq @@ -8263,7 +10141,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 116 + i32.const 408 i32.add global.set $~lib/memory/__stack_pointer return @@ -8275,191 +10153,6 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/date/Date#constructor (type $i64_=>_i32) (param $0 i64) (result i32) - (local $1 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 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - i64.store $0 offset=16 - local.get $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i64.const -8640000000000000 - i64.lt_s - local.get $0 - i64.const 8640000000000000 - i64.gt_s - i32.or - if - i32.const 1056 - i32.const 1104 - i32.const 100 - i32.const 35 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $0 - call $~lib/date/dateFromEpoch - i32.store $0 - local.get $1 - global.get $~lib/date/_month - i32.store $0 offset=4 - local.get $1 - global.get $~lib/date/_day - i32.store $0 offset=8 - 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 (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - 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 $0 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.gt_s - select - i32.const 1 - i32.shl - local.set $4 - local.get $3 - local.get $2 - local.get $2 - local.get $3 - i32.lt_s - select - i32.const 1 - i32.shl - local.tee $2 - local.get $4 - 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 3456 - return - end - local.get $4 - i32.eqz - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - 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 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - local.get $4 - i32.add - local.get $3 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $~lib/rt/__newArray (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -8520,63 +10213,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 7828 - i32.lt_s - if - i32.const 40624 - i32.const 40672 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1392 - i32.const 6736 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 6832 - i32.const 6736 - i32.const 118 - 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 $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/hash.debug.wat b/tests/compiler/std/hash.debug.wat index 9b57179838..d9336af376 100644 --- a/tests/compiler/std/hash.debug.wat +++ b/tests/compiler/std/hash.debug.wat @@ -39,6 +39,181 @@ i32.shr_u return ) + (func $std/hash/check (type $i32_=>_i32) (param $hash i32) (result i32) + i32.const 1 + return + ) + (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.0 + end + return + ) + (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) + (local $key|1 i64) + (local $h 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 + block $~lib/util/hash/hash64|inlined.0 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.0 + end + return + ) + (func $~start (type $none_=>_none) + call $start:std/hash + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33168 + i32.const 33216 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/util/hash/HASH<~lib/string/String|null> (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) (local $h i32) @@ -58,11 +233,22 @@ (local $h|16 i32) (local $key|17 i32) (local $end|18 i32) + (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 i32.const 1 drop block $~lib/util/hash/hashStr|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $key - local.set $key|1 + local.tee $key|1 + i32.store $0 local.get $key|1 i32.const 0 i32.eq @@ -71,6 +257,11 @@ br $~lib/util/hash/hashStr|inlined.0 end local.get $key|1 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -304,10 +495,12 @@ local.get $h br $~lib/util/hash/hashStr|inlined.0 end - return - ) - (func $std/hash/check (type $i32_=>_i32) (param $hash i32) (result i32) - i32.const 1 + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 return ) (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $key i32) (result i32) @@ -329,11 +522,22 @@ (local $h|16 i32) (local $key|17 i32) (local $end|18 i32) + (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 i32.const 1 drop block $~lib/util/hash/hashStr|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer local.get $key - local.set $key|1 + local.tee $key|1 + i32.store $0 local.get $key|1 i32.const 0 i32.eq @@ -342,6 +546,11 @@ br $~lib/util/hash/hashStr|inlined.1 end local.get $key|1 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 call $~lib/string/String#get:length i32.const 1 i32.shl @@ -575,179 +784,14 @@ local.get $h br $~lib/util/hash/hashStr|inlined.1 end - return - ) - (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.eq - drop - block $~lib/util/hash/hash32|inlined.0 (result i32) - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.0 - end - return - ) - (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) - (local $key|1 i64) - (local $h 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 + local.set $19 + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.eq - drop - block $~lib/util/hash/hash64|inlined.0 (result i32) - local.get $key - i64.reinterpret_f64 - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.0 - end + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 return ) - (func $~start (type $none_=>_none) - call $start:std/hash - ) - (func $~stack_check (type $none_=>_none) - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 33168 - i32.const 33216 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) (func $start:std/hash (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/hash.release.wat b/tests/compiler/std/hash.release.wat index 28cddc6e67..999031cf7a 100644 --- a/tests/compiler/std/hash.release.wat +++ b/tests/compiler/std/hash.release.wat @@ -1,7 +1,7 @@ (module - (type $i32_=>_none (func_subtype (param i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/memory/__stack_pointer (mut i32) (i32.const 34172)) (memory $0 1) @@ -27,6 +27,82 @@ (data (i32.const 1368) "\02\00\00\00\12\00\00\00a\00b\00c\00d\00e\00f\00g\00h\00i") (export "memory" (memory $0)) (start $~start) + (func $~start (type $none_=>_none) + 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 1404 + i32.lt_s + if + i32.const 34192 + i32.const 34240 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + i32.const 0 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 + i32.const 1056 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 + i32.const 1088 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1120 + i32.store $0 + i32.const 1120 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1152 + i32.store $0 + i32.const 1152 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 + i32.const 1184 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1216 + i32.store $0 + i32.const 1216 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1248 + i32.store $0 + i32.const 1248 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1280 + i32.store $0 + i32.const 1280 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1328 + i32.store $0 + i32.const 1328 + call $~lib/util/hash/HASH<~lib/string/String|null> + global.get $~lib/memory/__stack_pointer + i32.const 1376 + i32.store $0 + i32.const 1376 + call $~lib/util/hash/HASH<~lib/string/String|null> + 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|null> (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) @@ -35,10 +111,35 @@ (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 + global.get $~lib/memory/__stack_pointer + i32.const 1404 + i32.lt_s + if + i32.const 34192 + i32.const 34240 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 if + global.get $~lib/memory/__stack_pointer local.get $0 local.tee $1 + i32.store $0 offset=4 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -196,80 +297,8 @@ end end end - ) - (func $~start (type $none_=>_none) - 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 1404 - i32.lt_s - if - i32.const 34192 - i32.const 34240 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 0 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 - i32.const 1056 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 1088 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1120 - i32.store $0 - i32.const 1120 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1152 - i32.store $0 - i32.const 1152 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 1184 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1216 - i32.store $0 - i32.const 1216 - call $~lib/util/hash/HASH<~lib/string/String|null> global.get $~lib/memory/__stack_pointer - i32.const 1248 - i32.store $0 - i32.const 1248 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1280 - i32.store $0 - i32.const 1280 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1328 - i32.store $0 - i32.const 1328 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 1376 - i32.store $0 - i32.const 1376 - call $~lib/util/hash/HASH<~lib/string/String|null> - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) diff --git a/tests/compiler/std/map.debug.wat b/tests/compiler/std/map.debug.wat index 3dd974c341..b8d1a3e2b2 100644 --- a/tests/compiler/std/map.debug.wat +++ b/tests/compiler/std/map.debug.wat @@ -7,17 +7,17 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_=>_i64 (func_subtype (param i32) (result i64) func)) + (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) - (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_=>_f32 (func_subtype (param i32) (result f32) func)) - (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) - (type $i32_f32_=>_i32 (func_subtype (param i32 f32) (result i32) func)) (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) + (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) + (type $i32_f32_=>_i32 (func_subtype (param i32 f32) (result i32) func)) (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) - (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) @@ -25,12 +25,12 @@ (type $i32_i64_i64_=>_i32 (func_subtype (param i32 i64 i64) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $f32_=>_i32 (func_subtype (param f32) (result i32) func)) + (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) - (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) + (type $i32_f32_f32_=>_i32 (func_subtype (param i32 f32 f32) (result i32) func)) (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) - (type $i32_f32_f32_=>_i32 (func_subtype (param i32 f32 f32) (result i32) func)) (type $i32_f64_f64_=>_i32 (func_subtype (param i32 f64 f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -2456,66 +2456,6 @@ local.get $this i32.load8_s $0 ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.extend8_s - local.get $key - i32.extend8_s - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this local.get $value @@ -2551,180 +2491,6 @@ local.get $taggedNext i32.store $0 offset=8 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - 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 (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2811,157 +2577,10 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 0 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer @@ -2994,57 +2613,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this local.get $buckets @@ -3121,65 +2689,6 @@ local.get $entriesCount i32.store $0 offset=20 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 @@ -3196,57 +2705,7 @@ local.get $this i32.load8_s $0 ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.extend8_s - local.get $key - i32.extend8_s - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this local.get $value i32.store8 $0 offset=1 @@ -3281,153 +2740,6 @@ local.get $taggedNext i32.store $0 offset=4 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - 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/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) (local $len i32) @@ -3512,54 +2824,6 @@ local.get $this i32.load $0 ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this local.get $value @@ -3595,758 +2859,343 @@ local.get $taggedNext i32.store $0 offset=8 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer + local.get $this + local.get $buckets i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $entries + i32.store $0 offset=8 local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.2 (result i32) + local.get $key + i32.const 255 + i32.and + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.2 end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + i32.load8_u $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load $0 offset=16 ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:entriesCount - return + i32.load $0 offset=12 ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:entriesCount - return + i32.load $0 offset=20 ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + i32.store8 $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.get $buffer + i32.store $0 local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash - end - i32.const 1 - return + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k i32) - (local $k|2 i32) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key i32) - (local $value i32) - (local $k|10 i32) - (local $k|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 + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load8_u $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store8 $0 offset=1 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store8 $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load8_u $0 offset=1 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets i32.store $0 + local.get $this + local.get $buckets i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $map - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s - if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - 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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $map - 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 $map - call $~lib/map/Map#keys - local.tee $keys + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer + local.get $this + local.get $entries i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - 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 $map - local.get $value - 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 $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - 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 $k|10 - loop $for-loop|3 - local.get $k|10 - i32.const 50 - i32.lt_s - if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 $k|10 - i32.const 1 - i32.add - local.set $k|10 - br $for-loop|3 - end - end - local.get $map - 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 $k|11 - loop $for-loop|4 - local.get $k|11 - i32.const 50 - i32.lt_s - if - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - 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 $k|11 - i32.const 1 - i32.add - local.set $k|11 - br $for-loop|4 - end - end - local.get $map - 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 $map - call $~lib/map/Map#clear - local.get $map - 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 (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop + drop i32.const 0 drop i32.const 0 drop - i32.const 1 + i32.const 2 i32.const 4 i32.le_u drop - block $~lib/util/hash/hash32|inlined.2 (result i32) + block $~lib/util/hash/hash32|inlined.3 (result i32) local.get $key - i32.const 255 - i32.and + i32.extend16_s local.set $key|1 - i32.const 1 + i32.const 2 local.set $len i32.const 0 i32.const 374761393 @@ -4393,298 +3242,62 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.2 + br $~lib/util/hash/hash32|inlined.3 end return ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load8_u $0 + i32.load16_s $0 ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.const 255 - i32.and - local.get $key - i32.const 255 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store16 $0 ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext i32.store $0 offset=8 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - 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 (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer i32.store $0 @@ -4693,81 +3306,30 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart i32.store $0 offset=4 ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength i32.store $0 offset=8 ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 0 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this local.get $buckets i32.store $0 @@ -4776,12 +3338,12 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this local.get $bucketsMask i32.store $0 offset=4 ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this local.get $entries i32.store $0 offset=8 @@ -4790,976 +3352,7409 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity i32.store $0 offset=12 ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset i32.store $0 offset=16 ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount i32.store $0 offset=20 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load8_u $0 - ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.const 255 - i32.and - local.get $key - i32.const 255 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return + i32.load16_s $0 ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this local.get $value - i32.store8 $0 offset=1 + i32.store16 $0 offset=2 ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store16 $0 ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load8_u $0 offset=1 + i32.load16_s $0 offset=2 ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext i32.store $0 offset=4 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer + local.get $this + local.get $buckets i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $entries + i32.store $0 offset=8 local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.4 (result i32) + local.get $key + i32.const 65535 + i32.and + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.4 end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + i32.load16_u $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load $0 offset=16 ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/map/Map#get:entriesCount - return + i32.load $0 offset=12 ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext + i32.store16 $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.get $buffer + i32.store $0 local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash - end - i32.const 1 - return + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k i32) - (local $k|2 i32) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key i32) - (local $value i32) - (local $k|10 i32) - (local $k|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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets i32.store $0 + local.get $this + local.get $buckets i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_u - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $map - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_u - if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - 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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $map - 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 $map - call $~lib/map/Map#keys - local.tee $keys + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer + local.get $this + local.get $entries i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset i32.store $0 offset=16 - i32.const 0 - local.set $index - loop $for-loop|2 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load16_u $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store16 $0 offset=2 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store16 $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load16_u $0 offset=2 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.5 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.5 + end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) + (local $key|1 i64) + (local $h 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 + block $~lib/util/hash/hash64|inlined.0 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.0 + end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + local.get $this + local.get $key + i64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=12 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) + local.get $this + local.get $value + i64.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + local.get $this + local.get $key + i64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) + (local $key|1 i64) + (local $h 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 + block $~lib/util/hash/hash64|inlined.1 (result i32) + local.get $key + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.1 + end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + local.get $this + local.get $key + i64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=12 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) + local.get $this + local.get $value + i64.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + local.get $this + local.get $key + i64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + block $~lib/util/hash/hash32|inlined.6 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.6 + end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) + local.get $this + f32.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) + local.get $this + local.get $key + f32.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) + local.get $this + f32.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_f32_=>_none) (param $this i32) (param $value f32) + local.get $this + local.get $value + f32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) + local.get $this + local.get $key + f32.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_f32) (param $this i32) (result f32) + local.get $this + f32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) + (local $key|1 i64) + (local $h 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 + block $~lib/util/hash/hash64|inlined.2 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 + i32.const 0 + i32.const 374761393 + i32.add + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.2 + end + return + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) + local.get $this + f64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) + local.get $this + local.get $key + f64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=12 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/MapEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) + local.get $this + f64.load $0 + ) + (func $~lib/map/MapEntry#set:value (type $i32_f64_=>_none) (param $this i32) (param $value f64) + local.get $this + local.get $value + f64.store $0 offset=8 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) + local.get $this + local.get $key + f64.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_f64) (param $this i32) (result f64) + local.get $this + f64.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=16 + ) + (func $~lib/rt/itcms/__collect (type $none_=>_none) + 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 + 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 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop + ) + (func $start:std/map (type $none_=>_none) + memory.size $0 + 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 (type $i32_=>_none) (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 (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + 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.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/map + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33664 + i32.const 33712 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + i32.extend8_s + local.get $key + i32.extend8_s + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 0 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 0 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 0 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + local.get $value + 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#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + i32.extend8_s + local.get $key + i32.extend8_s + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash + end + 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 + ) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k i32) + (local $k|2 i32) + (local $keys i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key i32) + (local $value i32) + (local $k|10 i32) + (local $k|11 i32) + (local $12 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $map + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + 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 $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 + i32.const 0 + local.set $index + loop $for-loop|2 local.get $index local.get $keys - call $~lib/array/Array#get:length + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + 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 $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|10 + loop $for-loop|3 + local.get $k|10 + i32.const 50 i32.lt_s if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - call $~lib/map/Map#has + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + i32.const 1 + i32.add + local.set $k|10 + br $for-loop|3 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|11 + loop $for-loop|4 + local.get $k|11 + i32.const 50 + i32.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i32.const 1 + i32.add + local.set $k|11 + br $for-loop|4 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + i32.const 255 + i32.and + local.get $key + i32.const 255 + i32.and + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr end - local.get $map - local.get $value - 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 + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 end - local.get $keyMap - call $~lib/map/Map#get:size - i32.const 100 - i32.eq + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this 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 10 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end - local.get $valMap - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 0 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if + local.get $index i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 0 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 0 - local.set $k|10 - loop $for-loop|3 - local.get $k|10 - i32.const 50 - i32.lt_u + i32.shl + i32.add + local.get $value + i32.store8 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 0 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 end - local.get $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - call $~lib/map/Map#has - i32.eqz + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + 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 $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $k|10 + local.get $i i32.const 1 i32.add - local.set $k|10 - br $for-loop|3 + local.set $i + br $for-loop|0 end end - local.get $map - 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 + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - i32.const 50 - i32.lt_u + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $map - local.get $k|11 - 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 + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 end - local.get $map - local.get $k|11 - i32.const 10 - local.get $k|11 + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has - i32.eqz + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + 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 $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end - local.get $k|11 + local.get $i i32.const 1 i32.add - local.set $k|11 - br $for-loop|4 + local.set $i + br $for-loop|0 end end - local.get $map - 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 $map - call $~lib/map/Map#clear - local.get $map - call $~lib/map/Map#get:size + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq + i32.store $0 offset=8 + local.get $this 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 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + call $~lib/map/Map#set:entriesOffset local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - local.get $entriesOffset - i32.store $0 offset=16 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 - drop + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 0 - drop + i32.shl + i32.add + i32.load8_u $0 + local.set $value i32.const 0 drop - i32.const 2 + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.le_u - drop - block $~lib/util/hash/hash32|inlined.3 (result i32) - local.get $key - i32.extend16_s - local.set $key|1 - i32.const 2 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.3 - end + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load16_s $0 - ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -5770,7 +10765,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -5778,16 +10773,24 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key - i32.extend16_s + call $~lib/map/MapEntry#get:key + i32.const 255 + i32.and local.get $key - i32.extend16_s + i32.const 255 + i32.and i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -5800,54 +10803,15 @@ end end 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 ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store16 $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -5860,14 +10824,18 @@ (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -5889,23 +10857,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -5920,7 +10898,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -5928,17 +10906,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -5951,22 +10929,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -5974,1230 +10952,2183 @@ end end local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) + (local $halfBucketsMask 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 $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry i32.eqz if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 1 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - call $~lib/array/Array#set:length_ + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength + local.get $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $this - local.get $buckets + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 + local.get $6 local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 local.get $this - call $~lib/array/Array#get:length_ + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index i32.const 1 - i32.shl + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - local.get $value + global.set $~lib/memory/__stack_pointer + local.get $6 return ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load16_s $0 - ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 i32.const 4 i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.extend16_s - local.get $key - i32.extend16_s - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store16 $0 offset=2 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store16 $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - i32.load16_s $0 offset=2 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $taggedNext + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount global.get $~lib/memory/__stack_pointer i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k i32) + (local $k|2 i32) + (local $keys i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key i32) + (local $value i32) + (local $k|10 i32) + (local $k|11 i32) + (local $12 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 $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + i32.const 0 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + call $~lib/map/Map#constructor + local.tee $map i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + 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 $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.get $12 + 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.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_u if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#has i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr + i32.const 0 + i32.const 544 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + 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 $k|2 + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $k|2 + br $for-loop|1 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq i32.eqz if i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity + i32.const 544 + i32.const 21 i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $~lib/builtins/abort + unreachable end - i32.const 1 - return - ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k i32) - (local $k|2 i32) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key i32) - (local $value i32) - (local $k|10 i32) - (local $k|11 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + 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 $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $keyMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 - call $~lib/map/Map#constructor - local.tee $map - i32.store $0 - i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s + local.set $k|10 + loop $for-loop|3 + local.get $k|10 + i32.const 50 + i32.lt_u if local.get $map - local.get $k - call $~lib/map/Map#has - i32.eqz + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 6 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k - i32.const 10 - local.get $k + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - call $~lib/map/Map#has + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 8 + i32.const 42 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - i32.add - i32.eq + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#has + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 9 + i32.const 44 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k + local.get $k|10 i32.const 1 i32.add - local.set $k - br $for-loop|0 + local.set $k|10 + br $for-loop|3 end end local.get $map - call $~lib/map/Map#get:size - i32.const 100 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 11 + i32.const 46 i32.const 3 call $~lib/builtins/abort unreachable end i32.const 0 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + i32.const 50 + i32.lt_u if local.get $map - local.get $k|2 - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#has + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 15 + i32.const 50 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k|2 - call $~lib/map/Map#get + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 i32.const 10 - local.get $k|2 + local.get $k|11 i32.add - i32.eq + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 16 + i32.const 52 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.add - call $~lib/map/Map#set + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete drop local.get $map - local.get $k|2 - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - i32.add - i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 19 + i32.const 54 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|2 + local.get $k|11 i32.const 1 i32.add - local.set $k|2 - br $for-loop|1 + local.set $k|11 + br $for-loop|4 end end local.get $map - call $~lib/map/Map#get:size - i32.const 100 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map - call $~lib/map/Map#keys - local.tee $keys + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap - i32.store $0 offset=12 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap - i32.store $0 offset=16 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length - i32.lt_s + i32.store $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - call $~lib/map/Map#has + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and i32.eqz - if + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + i32.extend16_s + local.get $key + i32.extend16_s + i32.eq + else i32.const 0 - i32.const 544 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $map - local.get $value - 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 + local.get $entry + 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 $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index + local.get $taggedNext i32.const 1 - i32.add - local.set $index - br $for-loop|2 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $keyMap - 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 + 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 + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 end - local.get $valMap - 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 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 end - i32.const 0 - local.set $k|10 - loop $for-loop|3 - local.get $k|10 - i32.const 50 - i32.lt_s + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - i32.add - i32.eq + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 42 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr end - local.get $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 end - local.get $k|10 - i32.const 1 i32.add - local.set $k|10 - br $for-loop|3 + local.set $oldPtr + br $while-continue|0 end end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - i32.const 50 - i32.lt_s + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq if - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - 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 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $k|11 - i32.const 1 - i32.add - local.set $k|11 - br $for-loop|4 + call $~lib/map/Map#rehash end - end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq - i32.eqz - if + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key i32.const 0 - i32.const 544 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 end - local.get $map - call $~lib/map/Map#clear - local.get $map - call $~lib/map/Map#get:size + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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.eq + i32.store $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry i32.eqz if - i32.const 0 - i32.const 544 - i32.const 60 - i32.const 3 + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 call $~lib/builtins/abort unreachable end + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i64.const 0 + i64.store $0 offset=8 local.get $this - local.get $buckets - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buckets + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + call $~lib/array/Array#set:buffer local.get $this - local.get $bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - local.get $entries - i32.store $0 offset=8 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this - local.get $entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 1 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - local.get $entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 2 + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.le_u - drop - block $~lib/util/hash/hash32|inlined.4 (result i32) - local.get $key - i32.const 65535 - i32.and - local.set $key|1 - i32.const 2 - local.set $len + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index i32.const 0 - i32.const 374761393 - i32.add - local.get $len + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul + i32.const 1 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.4 - end - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/array/Array#set:length_ + end local.get $this - i32.load $0 offset=8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 local.get $this - i32.load16_u $0 + local.get $newLength + i32.const 1 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) (local $entry i32) - (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - i32.const 65535 - i32.and - local.get $key - i32.const 65535 - i32.and - i32.eq - else - i32.const 0 - end if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 local.get $entry - return + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $taggedNext + local.get $i i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $i + br $for-loop|0 end end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store16 $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -7206,290 +13137,238 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + local.get $8 i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $size + call $~lib/array/Array#constructor + local.tee $values i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end + local.get $8 + local.get $length + local.tee $7 + i32.const 1 i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end + local.get $i + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry 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 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this - local.get $dataStart + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 1 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $newLength - i32.const 1 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $buckets - i32.store $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + call $~lib/map/Map#set:entriesOffset local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + call $~lib/map/Map#set:entriesCount local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if i32.const 224 @@ -7500,42 +13379,56 @@ unreachable end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index i32.const 1 i32.shl i32.add - i32.load16_u $0 + i32.load16_s $0 local.set $value i32.const 0 drop local.get $value + 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/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load16_u $0 - ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -7546,7 +13439,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -7554,18 +13447,22 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key - i32.const 65535 - i32.and + call $~lib/map/MapEntry#get:key + i32.extend16_s local.get $key - i32.const 65535 - i32.and + i32.extend16_s i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -7578,44 +13475,15 @@ end end 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 ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store16 $0 offset=2 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store16 $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load16_u $0 offset=2 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=4 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -7628,14 +13496,18 @@ (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -7657,23 +13529,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -7688,7 +13570,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -7696,17 +13578,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -7719,22 +13601,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -7742,62 +13624,359 @@ end end local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBuckets - call $~lib/map/Map#set:buckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntries - call $~lib/map/Map#set:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask 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 $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry 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 $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -7807,7 +13986,12 @@ i32.const 4 local.tee $4 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.tee $5 local.get $4 local.get $5 @@ -7816,9 +14000,19 @@ i32.ge_u if (result i32) local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -7829,13 +14023,110 @@ end if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end 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 ) - (func $std/map/testNumeric (type $none_=>_none) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) (local $k|2 i32) @@ -7848,18 +14139,19 @@ (local $value i32) (local $k|10 i32) (local $k|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $map i32.store $0 i32.const 0 @@ -7867,11 +14159,16 @@ loop $for-loop|0 local.get $k i32.const 100 - i32.lt_u + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -7883,15 +14180,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -7902,8 +14209,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k i32.add @@ -7925,7 +14237,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -7942,11 +14259,16 @@ loop $for-loop|1 local.get $k|2 i32.const 100 - i32.lt_u + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -7957,8 +14279,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k|2 i32.add @@ -7973,15 +14300,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -7992,8 +14329,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $k|2 i32.add @@ -8015,7 +14357,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -8029,43 +14376,73 @@ end global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#keys - local.tee $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#values + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values local.tee $vals - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $keyMap - i32.store $0 offset=12 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/map/Map#constructor local.tee $valMap - i32.store $0 offset=16 + i32.store $0 offset=20 i32.const 0 local.set $index loop $for-loop|2 local.get $index local.get $keys - call $~lib/array/Array#get:length + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length i32.lt_s if local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $index - call $~lib/array/Array#__get + call $~lib/array/Array#__get local.set $key local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $index call $~lib/array/Array#__get local.set $value local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $key - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -8076,10 +14453,15 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -8090,11 +14472,21 @@ unreachable end local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $value i32.const 20 i32.sub @@ -8111,7 +14503,12 @@ end end local.get $keyMap - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -8124,6 +14521,11 @@ unreachable end local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 call $~lib/map/Map#get:size i32.const 100 i32.eq @@ -8141,11 +14543,16 @@ loop $for-loop|3 local.get $k|10 i32.const 50 - i32.lt_u + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -8156,8 +14563,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $k|10 i32.add @@ -8172,12 +14584,22 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $~lib/map/Map#delete drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -8196,7 +14618,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -8213,11 +14640,16 @@ loop $for-loop|4 local.get $k|11 i32.const 50 - i32.lt_u + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -8229,883 +14661,1148 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 - call $~lib/map/Map#has + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i32.const 1 + i32.add + local.set $k|11 + br $for-loop|4 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and i32.eqz - if + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + i32.const 65535 + i32.and + local.get $key + i32.const 65535 + i32.and + i32.eq + else i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - 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 + local.get $entry + 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 $k|11 + local.get $taggedNext i32.const 1 - i32.add - local.set $k|11 - br $for-loop|4 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $map - 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 $map - call $~lib/map/Map#clear - local.get $map - 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 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 + return ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $key local.get $key - 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 - return - ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 - local.tee $4 - local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash - end - i32.const 1 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k i32) - (local $k|2 i32) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key i32) - (local $value i32) - (local $k|10 i32) - (local $k|11 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 end - local.get $map - 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 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 end - i32.const 0 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - 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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - call $~lib/map/Map#has + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr end - local.get $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - i32.add - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 19 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 end - local.get $k|2 - i32.const 1 i32.add - local.set $k|2 - br $for-loop|1 + local.set $oldPtr + br $while-continue|0 end end - local.get $map - 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 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#keys - local.tee $keys - i32.store $0 offset=4 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap - i32.store $0 offset=16 - i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - 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 $map - local.get $value - 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 $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value i32.const 0 - i32.const 544 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $k|10 - loop $for-loop|3 - local.get $k|10 - i32.const 50 - i32.lt_s + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $k|10 - i32.const 1 - i32.add - local.set $k|10 - br $for-loop|3 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry i32.eqz if - i32.const 0 - i32.const 544 - i32.const 46 - i32.const 3 + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 call $~lib/builtins/abort unreachable end + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this 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 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - i32.const 50 - i32.lt_s - if - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - 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 $k|11 - i32.const 1 - i32.add - local.set $k|11 - br $for-loop|4 - end - end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this 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 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $map - call $~lib/map/Map#clear - local.get $map - call $~lib/map/Map#get:size + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.eq - i32.eqz + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u if - i32.const 0 - i32.const 544 + i32.const 432 + i32.const 704 + i32.const 70 i32.const 60 - i32.const 3 call $~lib/builtins/abort unreachable end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 1 + i32.shl + local.set $bufferSize global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - local.get $bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 4 + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.le_u - drop - block $~lib/util/hash/hash32|inlined.5 (result i32) - local.get $key - local.set $key|1 - i32.const 4 - local.set $len + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index i32.const 0 - i32.const 374761393 - i32.add - local.get $len + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul + i32.const 1 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.5 + call $~lib/array/Array#set:length_ end - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $newLength + i32.const 1 + i32.const 0 + call $~lib/array/ensureCapacity local.get $this - i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) (local $entry i32) - (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - i32.eq - else - i32.const 0 - end if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 local.get $entry - return + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $taggedNext + local.get $i i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $i + br $for-loop|0 end end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9114,290 +15811,238 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + local.get $8 i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end + local.get $8 + local.get $length + local.tee $7 + i32.const 1 i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end + local.get $i + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $i + br $for-loop|0 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount + local.get $8 return ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + i32.eqz if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 2 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - local.get $buckets - i32.store $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + call $~lib/map/Map#set:entriesOffset local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) (local $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if i32.const 224 @@ -9408,42 +16053,56 @@ unreachable end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load $0 + i32.load16_u $0 local.set $value i32.const 0 drop local.get $value + 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/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -9454,7 +16113,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -9462,14 +16121,24 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key + i32.const 65535 + i32.and local.get $key + i32.const 65535 + i32.and i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -9482,44 +16151,15 @@ end end 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 ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -9532,14 +16172,18 @@ (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -9561,23 +16205,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -9592,7 +16246,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -9600,17 +16254,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -9623,22 +16277,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -9646,62 +16300,359 @@ end end local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBuckets - call $~lib/map/Map#set:buckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntries - call $~lib/map/Map#set:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask 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 $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry 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 $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -9711,7 +16662,12 @@ i32.const 4 local.tee $4 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.tee $5 local.get $4 local.get $5 @@ -9720,9 +16676,19 @@ i32.ge_u if (result i32) local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -9733,13 +16699,110 @@ end if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end 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 ) - (func $std/map/testNumeric (type $none_=>_none) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) (local $map i32) (local $k i32) (local $k|2 i32) @@ -9752,18 +16815,19 @@ (local $value i32) (local $k|10 i32) (local $k|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $map i32.store $0 i32.const 0 @@ -9774,8 +16838,13 @@ i32.lt_u if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -9787,15 +16856,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k i32.const 10 local.get $k i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9806,8 +16885,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k i32.add @@ -9829,7 +16913,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -9849,8 +16938,13 @@ i32.lt_u if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9861,8 +16955,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k|2 i32.add @@ -9877,15 +16976,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 i32.const 20 local.get $k|2 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9896,8 +17005,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $k|2 i32.add @@ -9919,7 +17033,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -9933,43 +17052,73 @@ end global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#keys - local.tee $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#values + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values local.tee $vals - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $keyMap - i32.store $0 offset=12 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/map/Map#constructor local.tee $valMap - i32.store $0 offset=16 + i32.store $0 offset=20 i32.const 0 local.set $index loop $for-loop|2 local.get $index local.get $keys - call $~lib/array/Array#get:length + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length i32.lt_s if local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $index - call $~lib/array/Array#__get + call $~lib/array/Array#__get local.set $key local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $index call $~lib/array/Array#__get local.set $value local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $key - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9980,10 +17129,15 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $value i32.const 20 i32.sub - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -9994,11 +17148,21 @@ unreachable end local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $key local.get $key - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $value i32.const 20 i32.sub @@ -10015,7 +17179,12 @@ end end local.get $keyMap - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -10028,6 +17197,11 @@ unreachable end local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 call $~lib/map/Map#get:size i32.const 100 i32.eq @@ -10048,8 +17222,13 @@ i32.lt_u if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10060,8 +17239,13 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $k|10 i32.add @@ -10076,12 +17260,22 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#delete + call $~lib/map/Map#delete drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|10 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -10100,7 +17294,12 @@ end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 50 i32.eq i32.eqz @@ -10120,8 +17319,13 @@ i32.lt_u if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -10133,15 +17337,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 i32.const 10 local.get $k|11 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -10152,448 +17366,138 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|11 - call $~lib/map/Map#delete + call $~lib/map/Map#delete drop local.get $map - local.get $k|11 - 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 $k|11 - i32.const 1 - i32.add - local.set $k|11 - br $for-loop|4 - end - end - local.get $map - 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 $map - call $~lib/map/Map#clear - local.get $map - 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 (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) - (local $key|1 i64) - (local $h 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 - block $~lib/util/hash/hash64|inlined.0 (result i32) - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.0 - end - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 - ) - (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - i64.eq - else - i32.const 0 - end + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#has + i32.eqz + i32.eqz if - local.get $entry - return + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $taggedNext + local.get $k|11 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $k|11 + br $for-loop|4 end end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) - local.get $this - local.get $key - i64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=12 + 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#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + i32.ne + 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 + return ) - (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry 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 $0 local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry i32.eqz @@ -10606,279 +17510,127 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount + call $~lib/map/MapEntry#get:value + 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:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - local.get $buckets + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this - local.get $buckets + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask + local.get $size + call $~lib/array/Array#constructor + local.tee $keys i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value + local.set $length i32.const 0 - drop - local.get $value - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 - ) - (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - i64.eq - else - i32.const 0 - end if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 local.get $entry - return + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $taggedNext + local.get $i i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $i + br $for-loop|0 end end - i32.const 0 + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) - local.get $this - local.get $value - i64.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) - local.get $this - local.get $key - i64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=16 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -10887,168 +17639,183 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + local.get $8 i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $size + call $~lib/array/Array#constructor + local.tee $values i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 - end + local.get $8 + local.get $length + local.tee $7 + i32.const 1 i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask 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 $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry 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 $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -11058,7 +17825,12 @@ i32.const 4 local.tee $4 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.tee $5 local.get $4 local.get $5 @@ -11067,9 +17839,19 @@ i32.ge_u if (result i32) local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -11080,49 +17862,152 @@ end if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end 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 ) - (func $std/map/testNumeric (type $none_=>_none) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) (local $map i32) - (local $k i64) - (local $k|2 i64) + (local $k i32) + (local $k|2 i32) (local $keys i32) (local $vals i32) (local $keyMap i32) (local $valMap i32) (local $index i32) - (local $key i64) + (local $key i32) (local $value i32) - (local $k|10 i64) - (local $k|11 i64) + (local $k|10 i32) + (local $k|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $map i32.store $0 - i64.const 0 + i32.const 0 local.set $k loop $for-loop|0 local.get $k - i64.const 100 - i64.lt_s + i32.const 100 + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz i32.eqz if @@ -11134,16 +18019,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k i32.const 10 local.get $k - i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11154,11 +18048,15 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k - i32.wrap_i64 i32.add i32.eq i32.eqz @@ -11171,14 +18069,19 @@ unreachable end local.get $k - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $k br $for-loop|0 end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -11190,16 +18093,21 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $k|2 loop $for-loop|1 local.get $k|2 - i64.const 100 - i64.lt_s + i32.const 100 + i32.lt_s if local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11210,11 +18118,15 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 10 local.get $k|2 - i32.wrap_i64 i32.add i32.eq i32.eqz @@ -11227,16 +18139,25 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 i32.const 20 local.get $k|2 - i32.wrap_i64 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set drop local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#has + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -11247,11 +18168,15 @@ unreachable end local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $k|2 - call $~lib/map/Map#get + call $~lib/map/Map#get i32.const 20 local.get $k|2 - i32.wrap_i64 i32.add i32.eq i32.eqz @@ -11264,14 +18189,19 @@ unreachable end local.get $k|2 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $k|2 br $for-loop|1 end end local.get $map - call $~lib/map/Map#get:size + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 100 i32.eq i32.eqz @@ -11285,867 +18215,530 @@ end global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#keys - local.tee $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#values + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values local.tee $vals - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor + call $~lib/map/Map#constructor local.tee $keyMap - i32.store $0 offset=12 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer i32.const 0 call $~lib/map/Map#constructor local.tee $valMap - i32.store $0 offset=16 + i32.store $0 offset=20 i32.const 0 local.set $index loop $for-loop|2 local.get $index local.get $keys - call $~lib/array/Array#get:length + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length i32.lt_s if local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - 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 $map - local.get $value - 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 $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - 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 $k|10 - loop $for-loop|3 - local.get $k|10 - i64.const 50 - i64.lt_s - if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 $k|10 - i64.const 1 - i64.add - local.set $k|10 - br $for-loop|3 - end - end - local.get $map - 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 - i64.const 0 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - i64.const 50 - i64.lt_s - if - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value local.get $map - local.get $k|11 - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 52 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has - i32.eqz + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 54 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|11 - i64.const 1 - i64.add - local.set $k|11 - br $for-loop|4 + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 end end - local.get $map - 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 $map - call $~lib/map/Map#clear - local.get $map - 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 (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) - (local $key|1 i64) - (local $h 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 - block $~lib/util/hash/hash64|inlined.1 (result i32) - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.1 - end - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 - ) - (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|10 + loop $for-loop|3 + local.get $k|10 + i32.const 50 + i32.lt_s if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - i64.eq - else + if + i32.const 0 + i32.const 544 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#has + i32.eqz + i32.eqz if - local.get $entry - return + i32.const 0 + i32.const 544 + i32.const 44 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $taggedNext + local.get $k|10 i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $k|10 + br $for-loop|3 end end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) - local.get $this - local.get $key - i64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=12 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $12 i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.get $12 + 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.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + i32.const 50 + i32.lt_s if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#has + i32.eqz i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $k|11 + br $for-loop|4 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq i32.eqz if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz if - local.get $index i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add + i32.const 544 + i32.const 60 i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + call $~lib/builtins/abort + unreachable end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.get $value - i64.store $0 - i32.const 0 - drop + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 3 + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i32.store $0 offset=8 local.get $this - local.get $buckets - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - i64.load $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -12156,7 +18749,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -12164,14 +18757,20 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.get $key - i64.eq + i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -12184,44 +18783,45 @@ end end 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 ) - (func $~lib/map/MapEntry#set:value (type $i32_i64_=>_none) (param $this i32) (param $value i64) - local.get $this - local.get $value - i64.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $key - i64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=16 + local.get $key + 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 + return ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -12231,17 +18831,21 @@ (local $newPtr i32) (local $oldEntry i32) (local $newEntry i32) - (local $oldEntryKey i64) + (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -12263,23 +18867,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -12294,7 +18908,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -12302,17 +18916,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -12325,730 +18939,1005 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr br $while-continue|0 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + 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 + return ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry i32.eqz if - i32.const 0 - return + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.sub - call $~lib/map/Map#set:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - local.tee $4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end - i32.const 1 - return + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k i64) - (local $k|2 i64) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key i64) - (local $value i32) - (local $k|10 i64) - (local $k|11 i64) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (local $2 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 i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 + local.get $this + local.get $newLength + i32.const 2 i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry 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 - local.set $k - loop $for-loop|0 - local.get $k - i64.const 100 - i64.lt_u - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - 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 $k - i64.const 1 - i64.add - local.set $k - br $for-loop|0 - end - end - local.get $map - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i64.const 100 - i64.lt_u - if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - 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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.wrap_i64 - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - 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 $k|2 - i64.const 1 - i64.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $map - 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 + i64.store $0 + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#keys - local.tee $keys - i32.store $0 offset=4 + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals - i32.store $0 offset=8 + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap - i32.store $0 offset=16 + local.set $length i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length + local.set $i + loop $for-loop|0 + local.get $i + local.get $size i32.lt_s if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - 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 $map - local.get $value - 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 + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 end - local.get $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 + i32.mul i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - 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 $k|10 - loop $for-loop|3 - local.get $k|10 - i64.const 50 - i64.lt_u - if - local.get $map - local.get $k|10 - call $~lib/map/Map#has + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - i32.wrap_i64 + local.get $i + i32.const 1 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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 $k|10 - i64.const 1 - i64.add - local.set $k|10 - br $for-loop|3 + local.set $i + br $for-loop|0 end end - local.get $map - 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 + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - i64.const 50 - i64.lt_u + i64.store $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $map - local.get $k|11 - 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 + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 end - local.get $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.wrap_i64 + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - 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 $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has - i32.eqz + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + 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 $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end - local.get $k|11 - i64.const 1 - i64.add - local.set $k|11 - br $for-loop|4 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this 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 20 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $map - call $~lib/map/Map#clear - local.get $map - call $~lib/map/Map#get:size + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 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 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + i32.store $0 + local.get $index local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value i32.const 0 drop - i32.const 1 - drop - i32.const 4 + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - drop - block $~lib/util/hash/hash32|inlined.6 (result i32) - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.6 - end + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) - local.get $this - f32.load $0 - ) - (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -13059,7 +19948,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -13067,74 +19956,41 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.get $key - f32.eq + i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) - local.get $this - local.get $key - f32.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 + end + local.get $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -13144,17 +20000,21 @@ (local $newPtr i32) (local $oldEntry i32) (local $newEntry i32) - (local $oldEntryKey f32) + (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -13176,23 +20036,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -13207,7 +20077,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -13215,17 +20085,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -13238,511 +20108,382 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - 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 (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 - call $~lib/builtins/abort - unreachable - end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - f32.store $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $value f32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.set $oldPtr + br $while-continue|0 + end end local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this - f32.load $0 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) (local $entry i32) - (local $taggedNext i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - call $~lib/map/Map#get:buckets + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 + call $~lib/map/Map#find local.set $entry - loop $while-continue|0 + local.get $entry + if local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - f32.eq + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask else - i32.const 0 - end - if - local.get $entry - return + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + call $~lib/map/Map#rehash end - end - i32.const 0 - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_f32_=>_none) (param $this i32) (param $value f32) - local.get $this - local.get $value - f32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) - local.get $this - local.get $key - f32.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_f32) (param $this i32) (result f32) - local.get $this - f32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end local.get $this - local.get $taggedNext - i32.store $0 offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey f32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount + local.get $1 return ) - (func $~lib/map/Map#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (func $~lib/map/Map#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry i32) (local $halfBucketsMask 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 $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry 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 $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.or - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.sub - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shr_u local.set $halfBucketsMask @@ -13752,7 +20493,12 @@ i32.const 4 local.tee $4 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.tee $5 local.get $4 local.get $5 @@ -13761,9 +20507,19 @@ i32.ge_u if (result i32) local.get $this - call $~lib/map/Map#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -13774,1073 +20530,883 @@ end if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $halfBucketsMask - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end i32.const 1 - return - ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k f32) - (local $k|2 f32) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key f32) - (local $value i32) - (local $k|10 f32) - (local $k|11 f32) + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) + (local $1 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 - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 - f32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - f32.const 100 - f32.lt - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.trunc_sat_f32_s - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - i32.trunc_sat_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 $k - f32.const 1 - f32.add - local.set $k - br $for-loop|0 - end - end - local.get $map - 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 - f32.const 0 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - f32.const 100 - f32.lt - if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - i32.trunc_sat_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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.trunc_sat_f32_s - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - i32.trunc_sat_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 - end - local.get $k|2 - f32.const 1 - f32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $map - 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 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#keys - local.tee $keys + local.get $1 i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k i32) + (local $k|2 i32) + (local $keys i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key i32) + (local $value i32) + (local $k|10 i32) + (local $k|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals - i32.store $0 offset=8 + i32.const 24 + 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 $keyMap - i32.store $0 offset=12 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap - i32.store $0 offset=16 + call $~lib/map/Map#constructor + local.tee $map + i32.store $0 i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length - i32.lt_s + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_u if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value local.get $map - local.get $key - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map - local.get $value - 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 6 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - 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.set $k|10 - loop $for-loop|3 - local.get $k|10 - f32.const 50 - f32.lt - if + call $~lib/map/Map#set + drop local.get $map - local.get $k|10 - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - i32.trunc_sat_f32_s + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k 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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - call $~lib/map/Map#has - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 44 + i32.const 9 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|10 - f32.const 1 - f32.add - local.set $k|10 - br $for-loop|3 + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 end end local.get $map - call $~lib/map/Map#get:size - i32.const 50 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 46 + i32.const 11 i32.const 3 call $~lib/builtins/abort unreachable end - f32.const 0 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - f32.const 50 - f32.lt + i32.const 0 + local.set $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_u if local.get $map - local.get $k|11 - call $~lib/map/Map#has - i32.eqz + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 544 - i32.const 50 + i32.const 15 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k|11 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get i32.const 10 - local.get $k|11 - i32.trunc_sat_f32_s + local.get $k|2 i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 52 + i32.const 16 i32.const 5 call $~lib/builtins/abort unreachable end local.get $map - local.get $k|11 - call $~lib/map/Map#delete + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.add + call $~lib/map/Map#set drop local.get $map - local.get $k|11 - call $~lib/map/Map#has + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + i32.add + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 54 + i32.const 19 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|11 - f32.const 1 - f32.add - local.set $k|11 - br $for-loop|4 + local.get $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 end end local.get $map - call $~lib/map/Map#get:size - i32.const 50 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 56 + i32.const 21 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $map - call $~lib/map/Map#clear - local.get $map - 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 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask + local.get $12 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries + local.get $12 + call $~lib/map/Map#keys + local.tee $keys i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity + global.get $~lib/memory/__stack_pointer + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $keyMap i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) - (local $key|1 i64) - (local $h i32) + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 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 - block $~lib/util/hash/hash64|inlined.2 (result i32) - local.get $key - i64.reinterpret_f64 - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.2 - end - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) - local.get $this - f64.load $0 - ) - (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length + i32.lt_s if - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + call $~lib/map/Map#has i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry#get:key - local.get $key - f64.eq - else + if i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if - local.get $entry - return + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $taggedNext + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $index + br $for-loop|2 end end - i32.const 0 - return - ) - (func $~lib/map/Map#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) - local.get $this - local.get $key - f64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=12 - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey f64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $keyMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.1 + local.set $k|10 + loop $for-loop|3 + local.get $k|10 + i32.const 50 + i32.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + i32.const 1 + i32.add + local.set $k|10 + br $for-loop|3 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 - local.get $this - call $~lib/map/Map#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.get $12 + 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.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + i32.const 50 + i32.lt_u if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#has + i32.eqz i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr + i32.const 0 + i32.const 544 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.4 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $k|11 + br $for-loop|4 end end - local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq i32.eqz if - i32.const 592 - i32.const 656 - i32.const 105 - i32.const 17 + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz if - local.get $index i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 704 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.get $value - f64.store $0 - i32.const 0 - drop + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 3 + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + i32.store $0 offset=8 local.get $this - local.get $buckets - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $value f64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 704 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - f64.load $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -14851,7 +21417,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -14859,14 +21425,20 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.get $key - f64.eq + i64.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -14879,44 +21451,45 @@ end end 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 ) - (func $~lib/map/MapEntry#set:value (type $i32_f64_=>_none) (param $this i32) (param $value f64) - local.get $this - local.get $value - f64.store $0 offset=8 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) - local.get $this - local.get $key - f64.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_f64) (param $this i32) (result f64) - local.get $this - f64.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key 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 $0 local.get $this - local.get $taggedNext - i32.store $0 offset=16 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -14926,17 +21499,21 @@ (local $newPtr i32) (local $oldEntry i32) (local $newEntry i32) - (local $oldEntryKey f64) + (local $oldEntryKey i64) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -14958,23 +21535,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.1 + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -14989,7 +21576,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -14997,17 +21584,17 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key local.get $newEntry local.get $oldEntry - call $~lib/map/MapEntry#get:value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -15020,22 +21607,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.3 + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.4 + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -15043,1607 +21630,3359 @@ end end local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount + local.get $8 return ) - (func $~lib/map/Map#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 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 $0 local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry i32.eqz if - i32.const 0 - return + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end local.get $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/map/MapEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - call $~lib/map/Map#set:entriesCount + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 - local.tee $4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - call $~lib/map/Map#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 22 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u if - local.get $this - local.get $halfBucketsMask - call $~lib/map/Map#rehash + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize i32.const 1 - return + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $std/map/testNumeric (type $none_=>_none) - (local $map i32) - (local $k f64) - (local $k|2 f64) - (local $keys i32) - (local $vals i32) - (local $keyMap i32) - (local $valMap i32) - (local $index i32) - (local $key f64) - (local $value i32) - (local $k|10 f64) - (local $k|11 f64) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) + (local $3 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 i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $map + local.get $3 i32.store $0 - f64.const 0 - local.set $k - loop $for-loop|0 - local.get $k - f64.const 100 - f64.lt - if - local.get $map - local.get $k - 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 $map - local.get $k - i32.const 10 - local.get $k - i32.trunc_sat_f64_s - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k - 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 $map - local.get $k - call $~lib/map/Map#get - i32.const 10 - local.get $k - i32.trunc_sat_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 $k - f64.const 1 - f64.add - local.set $k - br $for-loop|0 - end - end - local.get $map - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if + local.get $index i32.const 0 - i32.const 544 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - f64.const 100 - f64.lt + i32.lt_s if - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 10 - local.get $k|2 - i32.trunc_sat_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 $map - local.get $k|2 - i32.const 20 - local.get $k|2 - i32.trunc_sat_f64_s - i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|2 - 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 $map - local.get $k|2 - call $~lib/map/Map#get - i32.const 20 - local.get $k|2 - i32.trunc_sat_f64_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 $k|2 - f64.const 1 - f64.add - local.set $k|2 - br $for-loop|1 + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end - end - local.get $map - call $~lib/map/Map#get:size - i32.const 100 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 21 + local.get $this + local.get $index + i32.const 1 + i32.add i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#keys - local.tee $keys - i32.store $0 offset=4 + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ global.get $~lib/memory/__stack_pointer - local.get $map - call $~lib/map/Map#values - local.tee $vals - i32.store $0 offset=8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/map/Map#constructor - local.tee $keyMap - i32.store $0 offset=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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#constructor - local.tee $valMap - i32.store $0 offset=16 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $keys - call $~lib/array/Array#get:length + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size i32.lt_s if - local.get $keys - local.get $index - call $~lib/array/Array#__get - local.set $key - local.get $vals - local.get $index - call $~lib/array/Array#__get - local.set $value - local.get $map - local.get $key - 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 $map - local.get $value - i32.const 20 - i32.sub - f64.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 - end - local.get $keyMap - local.get $key - local.get $key - call $~lib/map/Map#set - drop - local.get $valMap - local.get $value - i32.const 20 - i32.sub - local.get $value - i32.const 20 - i32.sub - call $~lib/map/Map#set - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $keyMap - 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 $valMap - 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 - f64.const 0 - local.set $k|10 - loop $for-loop|3 - local.get $k|10 - f64.const 50 - f64.lt - if - local.get $map - local.get $k|10 - 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 $map - local.get $k|10 - call $~lib/map/Map#get - i32.const 20 - local.get $k|10 - i32.trunc_sat_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 $map - local.get $k|10 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|10 - 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 $k|10 - f64.const 1 - f64.add - local.set $k|10 - br $for-loop|3 - end - end - local.get $map - 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 - f64.const 0 - local.set $k|11 - loop $for-loop|4 - local.get $k|11 - f64.const 50 - f64.lt - if - local.get $map - local.get $k|11 - 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 + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 end - local.get $map - local.get $k|11 - i32.const 10 - local.get $k|11 - i32.trunc_sat_f64_s + i32.mul i32.add - call $~lib/map/Map#set - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set end - local.get $map - local.get $k|11 - call $~lib/map/Map#delete - drop - local.get $map - local.get $k|11 - call $~lib/map/Map#has - i32.eqz + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + 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 $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end - local.get $k|11 - f64.const 1 - f64.add - local.set $k|11 - br $for-loop|4 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end - local.get $map - call $~lib/map/Map#get:size - i32.const 50 - i32.eq + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this 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 23 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $map - call $~lib/map/Map#clear - local.get $map - call $~lib/map/Map#get:size + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 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 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - drop - global.get $~lib/rt/itcms/state + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 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.gt_s + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - 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 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl i32.add - global.set $~lib/rt/itcms/threshold - i32.const 0 - drop + i64.load $0 + local.set $value i32.const 0 drop + local.get $value + 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 $start:std/map (type $none_=>_none) - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base + (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 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 (type $i32_=>_none) (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 (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this - call $~lib/map/Map#get:entries - local.set $entries + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + i64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $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 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) + (local $hashCode i32) + (local $entry i32) (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - i32.load $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 - drop + i32.store $0 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.store $0 local.get $1 - call $~lib/object/Object~visit - local.get $0 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/map/Map#__visit + return ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash + end + 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 ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + call $~lib/map/Map#set:buckets local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + call $~lib/map/Map#set:entries local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - i32.load $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k i64) + (local $k|2 i64) + (local $keys i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key i64) + (local $value i32) + (local $k|10 i64) + (local $k|11 i64) + (local $12 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $map + i32.store $0 + i64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i64.const 100 + i64.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + 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 $k + i64.const 1 + i64.add + local.set $k + br $for-loop|0 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i64.const 100 + i64.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + 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 $k|2 + i64.const 1 + i64.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + 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 $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|10 + loop $for-loop|3 + local.get $k|10 + i64.const 50 + i64.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + i64.const 1 + i64.add + local.set $k|10 + br $for-loop|3 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 + i64.const 0 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + i64.const 50 + i64.lt_s + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i64.const 1 + i64.add + local.set $k|11 + br $for-loop|4 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + 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#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + i32.store $0 offset=8 local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 24 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=8 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + call $~lib/map/Map#set:buckets local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this - call $~lib/map/Map#get:entries - local.set $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + call $~lib/map/Map#set:entries local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - drop + call $~lib/map/Map#set:entriesOffset local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/map/Map#get:entries - local.set $entries i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/map/Map#__visit ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this - call $~lib/map/Map#get:entries - local.set $entries + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + i64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#has (type $i32_i64_=>_i32) (param $this i32) (param $key 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 $0 local.get $this - i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - 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 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return + i32.add + local.set $newPtr end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return end - unreachable + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + 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 $~start (type $none_=>_none) - call $start:std/map + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~stack_check (type $none_=>_none) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz if - i32.const 33664 - i32.const 33712 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 3 i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + call $~lib/array/Array#set:length_ end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + i32.const 0 + i32.store $0 local.get $this + local.get $newLength + i32.const 3 i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets + call $~lib/array/ensureCapacity local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 1 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries + i64.const 0 + i64.store $0 local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $8 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -16653,329 +24992,222 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $8 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 8 + i32.const 26 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end + i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:buckets local.get $this 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/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 + local.get $1 i32.const 4 + 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 $0 + call $~lib/map/Map#set:bucketsMask local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + call $~lib/map/Map#set:entries local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this 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 $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + i32.store $0 local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this + call $~lib/array/Array#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 + return ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -16984,191 +25216,530 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/map/Map#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + i32.store $0 + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + i64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 - call $~lib/map/Map#set:entriesCount + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) i32.const 24 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - i32.eqz + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 + local.set $8 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 $8 + return ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -17179,53 +25750,26 @@ i32.const 0 i32.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/map/Map#get:entriesCount local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $entry i32) + (local $halfBucketsMask i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -17235,65 +25779,121 @@ i64.const 0 i64.store $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry i32.eqz if + i32.const 0 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end + local.get $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets + local.get $6 + i32.store $0 + local.get $6 local.get $this - i32.const 4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:entriesCount local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.tee $4 local.get $this - local.set $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash + end + 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 $1 + local.get $6 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -17304,39 +25904,14 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.0 - end + i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 @@ -17344,479 +25919,748 @@ local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:buckets local.get $this 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/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer + i32.store $0 + local.get $1 i32.const 4 + 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 $0 + call $~lib/map/Map#set:bucketsMask local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 local.get $1 - call $~lib/map/Map#set:entries - local.get $this i32.const 4 - call $~lib/map/Map#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k i64) + (local $k|2 i64) + (local $keys i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key i64) + (local $value i32) + (local $k|10 i64) + (local $k|11 i64) + (local $12 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $map + i32.store $0 + i64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i64.const 100 + i64.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + 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 $k + i64.const 1 + i64.add + local.set $k + br $for-loop|0 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i64.const 100 + i64.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + 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 $k|2 + i64.const 1 + i64.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 i32.const 0 - call $~lib/map/Map#set:entriesCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this 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.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + 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 $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $keyMap + local.set $12 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 36 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $valMap + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 + local.get $12 + 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 $k|10 + loop $for-loop|3 + local.get $k|10 + i64.const 50 + i64.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + i64.const 1 + i64.add + local.set $k|10 + br $for-loop|3 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - 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/map/Map#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - 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/map/Map#clear (type $i32_=>_none) (param $this 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 $0 - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + i32.const 0 + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this 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 + i64.const 0 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + i64.const 50 + i64.lt_u + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.wrap_i64 + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + i64.const 1 + i64.add + local.set $k|11 + br $for-loop|4 + end + end + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this + local.get $12 + call $~lib/map/Map#get:size i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 + 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 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 23 + i32.const 27 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - 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/map/Map#clear (type $i32_=>_none) (param $this 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 $0 - local.get $this i32.const 0 i32.const 4 i32.const 4 @@ -17825,183 +26669,75 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 24 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + call $~lib/map/Map#set:bucketsMask local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 offset=8 local.get $1 - ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 26 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + call $~lib/map/Map#set:entries local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:buckets - local.get $this i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + call $~lib/map/Map#set:entriesCapacity local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this i32.const 0 - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this 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 $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18011,191 +26747,508 @@ i32.const 0 i32.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + f32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/map/Map#has (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset + i32.store $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - call $~lib/map/Map#set:entriesCount + 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 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 27 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 call $~lib/map/Map#set:buckets local.get $this - i32.const 4 - i32.const 1 - i32.sub + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask call $~lib/map/Map#set:bucketsMask local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 call $~lib/map/Map#set:entries local.get $this - i32.const 4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity call $~lib/map/Map#set:entriesCapacity local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#set (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - i32.eqz + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry if + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 29 - call $~lib/rt/itcms/__new - local.tee $this + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - local.set $1 + local.set $8 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 $8 + return ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/map/Map#get (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (local $entry i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18205,191 +27258,201 @@ i32.const 0 i32.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.8 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 30 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + i32.store $0 local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this + call $~lib/map/Map#get:entriesCount 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 + return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 32 + i32.const 16 + i32.const 28 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $6 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $6 ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18398,316 +27461,403 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + f32.store $0 i32.const 0 + drop + global.get $~lib/memory/__stack_pointer i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.8 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/map/Map#set:entriesOffset + i32.store $0 local.get $this + local.get $newLength + i32.const 2 i32.const 0 - call $~lib/map/Map#set:entriesCount + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer i32) - (local $3 i32) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 432 - i32.const 480 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $keys + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $8 i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - local.set $3 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $keys + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $8 return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase 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 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 i32.const 1 - i32.or + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 end - local.get $this + local.get $values local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 + i32.const 24 + i32.const 29 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 0 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.0 end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 0 - i32.shl - local.set $bufferSize + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - local.set $6 + 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 $6 + local.get $1 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18717,170 +27867,77 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $1 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $1 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $value f32) (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (local $4 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 + local.get $index local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - i32.const 432 + i32.const 224 i32.const 704 - i32.const 70 - i32.const 60 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 2 i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.add + f32.load $0 + local.set $value + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $value + 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 + return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) + (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) (local $entry i32) - (local $7 i32) - (local $8 i32) + (local $taggedNext i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -18890,196 +27947,274 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $5 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext i32.const 1 i32.and i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + f32.eq + else + i32.const 0 + end if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set + 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 $i + local.get $taggedNext i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + 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 $8 + local.get $5 return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end end local.get $this - local.set $8 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $~lib/map/Map#set (type $i32_f32_f32_=>_i32) (param $this i32) (param $key f32) (param $value f32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -19087,40 +28222,73 @@ (local $bucketPtrBase i32) (local $8 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $key - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $hashCode local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.eq if local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -19128,59 +28296,104 @@ i32.lt_s if (result i32) local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask else local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shl 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 $this - call $~lib/map/Map#get:entries - local.tee $entries + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 local.get $entries local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + br $~lib/map/ENTRY_SIZE|inlined.5 end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:buckets + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -19189,7 +28402,7 @@ local.get $entry local.get $bucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $bucketPtrBase local.get $entry i32.store $0 @@ -19197,19 +28410,14 @@ local.get $this local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $8 return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19218,121 +28426,152 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key - local.get $hashCode - call $~lib/map/Map#find + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find local.set $entry local.get $entry + i32.eqz if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end + 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 $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) local.get $this - call $~lib/map/Map#get:entries - local.tee $entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 - local.get $entries - local.get $this + local.get $6 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 - end + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value + i32.const 4 + i32.div_s + i32.lt_s + else i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + end + if local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash end - local.get $this - local.set $8 + i32.const 1 + 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 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -19342,594 +28581,840 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/array/Array#set:dataStart + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 0 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.8 end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 0 - i32.shl - local.set $bufferSize + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $1 i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - local.set $6 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k f32) + (local $k|2 f32) (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key f32) + (local $value i32) + (local $k|10 f32) + (local $k|11 f32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys - i32.store $0 - i32.const 0 - local.set $length + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i + call $~lib/map/Map#constructor + local.tee $map + i32.store $0 + f32.const 0 + local.set $k loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $k + f32.const 100 + f32.lt if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 - i32.mul + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.trunc_sat_f32_s i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#has i32.eqz if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set + i32.const 0 + i32.const 544 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $i - i32.const 1 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + i32.trunc_sat_f32_s i32.add - local.set $i + 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 $k + f32.const 1 + f32.add + local.set $k br $for-loop|0 end end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 + f32.const 0 + local.set $k|2 + loop $for-loop|1 + local.get $k|2 + f32.const 100 + f32.lt + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + i32.trunc_sat_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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.trunc_sat_f32_s + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + i32.trunc_sat_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 + end + local.get $k|2 + f32.const 1 + f32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values - i32.store $0 + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $length + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size + local.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length i32.lt_s if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + f32.convert_i32_s + call $~lib/map/Map#has i32.eqz if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $i + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index i32.const 1 i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase 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 $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + local.set $index + br $for-loop|2 + end end - local.get $this - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + local.get $keyMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + local.set $k|10 + loop $for-loop|3 + local.get $k|10 + f32.const 50 + f32.lt if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 - call $~lib/map/Map#rehash + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + i32.trunc_sat_f32_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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + f32.const 1 + f32.add + local.set $k|10 + br $for-loop|3 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + f32.const 50 + f32.lt + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.trunc_sat_f32_s + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + f32.const 1 + f32.add + local.set $k|11 + br $for-loop|4 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 + i32.const 24 + i32.const 30 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 1 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.0 end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 1 - i32.shl - local.set $bufferSize + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount local.get $this - local.set $6 + 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 $6 + local.get $1 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) + (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) - (local $7 i32) - (local $8 i32) + (local $taggedNext i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -19939,80 +29424,74 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $5 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext i32.const 1 i32.and i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + f64.eq + else + i32.const 0 + end if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set + 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 $i + local.get $taggedNext i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + 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 $8 + local.get $5 return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20022,72 +29501,227 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 + local.get $2 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find i32.const 0 - local.set $length + 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 + return + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $values - local.get $length - local.tee $7 - i32.const 1 + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.4 end - local.get $i - i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $oldPtr + br $while-continue|0 end end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $~lib/map/Map#set (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $value i32) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -20095,40 +29729,73 @@ (local $bucketPtrBase i32) (local $8 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $key - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $hashCode local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.eq if local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -20136,59 +29803,104 @@ i32.lt_s if (result i32) local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask else local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shl 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 $this - call $~lib/map/Map#get:entries - local.tee $entries + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 local.get $entries local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.5 end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/map/MapEntry#set:key + call $~lib/map/MapEntry#set:key i32.const 0 drop local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount i32.const 1 i32.add - call $~lib/map/Map#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this - call $~lib/map/Map#get:buckets + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -20197,27 +29909,227 @@ local.get $entry local.get $bucketPtrBase i32.load $0 - call $~lib/map/MapEntry#set:taggedNext + call $~lib/map/MapEntry#set:taggedNext local.get $bucketPtrBase local.get $entry i32.store $0 end local.get $this - local.set $8 + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 592 + i32.const 656 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + 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/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 31 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 704 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return + local.get $6 ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20226,121 +30138,102 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode + local.get $index local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value + local.get $index i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + i32.lt_s if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + i32.const 224 + i32.const 704 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 + local.get $index i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount + i32.const 3 i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + call $~lib/array/ensureCapacity local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + f64.store $0 + i32.const 0 + drop global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 + local.get $this + local.get $newLength + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $keys i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -20350,110 +30243,130 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.set $start local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this + local.get $size + call $~lib/array/Array#constructor + local.tee $keys + i32.store $0 offset=4 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 1 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $keys + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/map/MapEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 1 - i32.shl - local.set $bufferSize + local.get $keys + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this + local.get $8 + i32.store $0 + local.get $8 local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + call $~lib/array/Array#set:length + local.get $keys + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $8 + return ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) (local $start i32) (local $size i32) - (local $keys i32) + (local $values i32) (local $length i32) (local $i i32) (local $entry 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 $0 + i64.const 0 + i64.store $0 local.get $this - call $~lib/map/Map#get:entries + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries local.set $start local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 local.get $size - call $~lib/array/Array#constructor - local.tee $keys - i32.store $0 + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 i32.const 0 local.set $length i32.const 0 @@ -20465,20 +30378,25 @@ if local.get $start local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.7 end i32.mul i32.add local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $keys + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $length local.tee $7 i32.const 1 @@ -20486,8 +30404,8 @@ local.set $length local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set + call $~lib/map/MapEntry#get:value + call $~lib/array/Array#__set end local.get $i i32.const 1 @@ -20496,27 +30414,127 @@ br $for-loop|0 end end - local.get $keys + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $length - call $~lib/array/Array#set:length - local.get $keys + call $~lib/array/Array#set:length + local.get $values local.set $8 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 32 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/map/Map#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return + local.get $1 ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20526,78 +30544,24 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $1 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $1 return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $value f64) + (local $3 i32) + (local $4 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20606,124 +30570,51 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode + local.get $index local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + i32.const 224 + i32.const 704 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $4 return ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) + (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) (local $entry i32) - (local $7 i32) - (local $8 i32) + (local $taggedNext i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -20733,155 +30624,274 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets + local.get $hashCode local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $5 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $5 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext i32.const 1 i32.and i32.eqz + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key + local.get $key + f64.eq + else + i32.const 0 + end if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set + 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 $i + local.get $taggedNext i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + 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 $8 + local.get $5 return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE|inlined.1 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entries + local.set $oldPtr + local.get $oldPtr local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values - i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:taggedNext i32.const 1 i32.and i32.eqz if - local.get $values - local.get $length - local.tee $7 - i32.const 1 + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/map/MapEntry#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry#get:value + call $~lib/map/MapEntry#set:value + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE|inlined.3 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/map/ENTRY_SIZE|inlined.4 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.4 end - local.get $i - i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $oldPtr + br $while-continue|0 end end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (func $~lib/map/Map#set (type $i32_f64_f64_=>_i32) (param $this i32) (param $key f64) (param $value f64) (result i32) (local $hashCode i32) (local $entry i32) (local $entries i32) @@ -20889,40 +30899,73 @@ (local $bucketPtrBase i32) (local $8 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $key - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $hashCode local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $key local.get $hashCode - call $~lib/map/Map#find + call $~lib/map/Map#find local.set $entry local.get $entry if local.get $entry local.get $value - call $~lib/map/MapEntry#set:value + call $~lib/map/MapEntry#set:value i32.const 0 drop else local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.eq if local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesCount + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount local.get $this - call $~lib/map/Map#get:entriesCapacity + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -20930,87 +30973,282 @@ i32.lt_s if (result i32) local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask else local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask i32.const 1 i32.shl 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 $this - call $~lib/map/Map#get:entries - local.tee $entries + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 local.get $entries local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 local.get $this - call $~lib/map/Map#get:entriesOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset local.tee $6 i32.const 1 i32.add - call $~lib/map/Map#set:entriesOffset + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 24 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + call $~lib/map/MapEntry#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/map/Map#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/map/Map#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/map/MapEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.sub + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 - end + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value + i32.const 4 + i32.div_s + i32.lt_s + else i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode + end + if local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/map/Map#rehash end - local.get $this - local.set $8 + i32.const 1 + 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 return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/map/Map#clear (type $i32_=>_none) (param $this i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -21020,594 +31258,827 @@ i64.const 0 i64.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/array/Array#set:dataStart + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#set:buckets local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + i32.const 4 + block $~lib/map/ENTRY_SIZE|inlined.8 (result i32) + i32.const 16 + br $~lib/map/ENTRY_SIZE|inlined.8 end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $1 i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart + local.get $1 + call $~lib/map/Map#set:entries local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/map/Map#set:entriesCapacity local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesOffset local.get $this - local.set $6 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/map/Map#set:entriesCount global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) + (func $std/map/testNumeric (type $none_=>_none) + (local $map i32) + (local $k f64) + (local $k|2 f64) (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (local $vals i32) + (local $keyMap i32) + (local $valMap i32) + (local $index i32) + (local $key f64) + (local $value i32) + (local $k|10 f64) + (local $k|11 f64) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/map/Map#constructor + local.tee $map i32.store $0 - local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + f64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + f64.const 100 + f64.lt + if + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + i32.const 10 + local.get $k + i32.trunc_sat_f64_s + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k + call $~lib/map/Map#get + i32.const 10 + local.get $k + i32.trunc_sat_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 $k + f64.const 1 + f64.add + local.set $k + br $for-loop|0 + end + end + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys - i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + f64.const 100 + f64.lt if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 - i32.mul + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 10 + local.get $k|2 + i32.trunc_sat_f64_s i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + i32.eq i32.eqz if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set + i32.const 0 + i32.const 544 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $i - i32.const 1 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + i32.const 20 + local.get $k|2 + i32.trunc_sat_f64_s i32.add - local.set $i - br $for-loop|0 + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|2 + call $~lib/map/Map#get + i32.const 20 + local.get $k|2 + i32.trunc_sat_f64_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 $k|2 + f64.const 1 + f64.add + local.set $k|2 + br $for-loop|1 end end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#keys + local.tee $keys + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#values + local.tee $vals + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values - i32.store $0 - i32.const 0 - local.set $length + call $~lib/map/Map#constructor + local.tee $keyMap + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size + call $~lib/map/Map#constructor + local.tee $valMap + i32.store $0 offset=20 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/array/Array#get:length i32.lt_s if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + local.get $keys + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $key + local.get $vals + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $index + call $~lib/array/Array#__get + local.set $value + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + 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 - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + f64.convert_i32_s + call $~lib/map/Map#has i32.eqz if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set + i32.const 0 + i32.const 544 + i32.const 32 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $i + local.get $keyMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $key + local.get $key + call $~lib/map/Map#set + drop + local.get $valMap + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $value + i32.const 20 + i32.sub + local.get $value + i32.const 20 + i32.sub + call $~lib/map/Map#set + drop + local.get $index i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $index + br $for-loop|2 end end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + local.get $keyMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $valMap + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 100 + i32.eq + i32.eqz if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + i32.const 544 + i32.const 37 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + local.set $k|10 + loop $for-loop|3 + local.get $k|10 + f64.const 50 + f64.lt if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#get + i32.const 20 + local.get $k|10 + i32.trunc_sat_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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|10 + 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 $k|10 + f64.const 1 + f64.add + local.set $k|10 + br $for-loop|3 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 end - local.get $this - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $map + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + i32.const 544 + i32.const 46 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + local.set $k|11 + loop $for-loop|4 + local.get $k|11 + f64.const 50 + f64.lt if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + i32.const 10 + local.get $k|11 + i32.trunc_sat_f64_s + i32.add + call $~lib/map/Map#set + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + call $~lib/map/Map#delete + drop + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $k|11 + 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 $k|11 + f64.const 1 + f64.add + local.set $k|11 + br $for-loop|4 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value + i32.const 544 + i32.const 56 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#clear + local.get $map + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/map/Map#get:size + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + i32.const 544 + i32.const 60 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 + i32.const 0 + i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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/array/Array#set:dataStart - local.get $this + i32.store $0 i32.const 0 - call $~lib/array/Array#set:byteLength + drop local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 drop local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21617,80 +32088,35 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $3 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21700,78 +32126,35 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $3 i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21780,122 +32163,100 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 $0 local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -21904,214 +32265,100 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 25 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this + i32.store $0 i32.const 0 - call $~lib/array/Array#set:byteLength + drop local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 $0 local.get $this - local.set $6 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22121,80 +32368,61 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $3 i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - local.set $length + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + i32.store $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22204,78 +32432,72 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $3 i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i64_i64_=>_i32) (param $this i32) (param $key i64) (param $value i64) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22284,122 +32506,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + i32.const 0 + drop local.get $this - local.set $8 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22408,214 +32533,73 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 28 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22624,81 +32608,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22708,78 +32636,35 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $3 i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return - ) - (func $~lib/map/Map#set (type $i32_f32_f32_=>_i32) (param $this i32) (param $key f32) (param $value f32) (result i32) - (local $hashCode i32) - (local $entry i32) + ) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22788,122 +32673,35 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -22912,214 +32710,127 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode + i32.const 0 + drop local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 $0 local.get $this - local.set $8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 31 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 704 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 drop local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/map/Map#keys (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $keys i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23129,80 +32840,72 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $keys + local.get $3 i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries i32.const 0 - local.set $length + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $keys - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $keys - local.get $length - call $~lib/array/Array#set:length - local.get $keys - local.set $8 + i32.store $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23211,79 +32914,25 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/map/Map#get:entries - local.set $start - local.get $this - call $~lib/map/Map#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/map/ENTRY_SIZE|inlined.7 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/map/MapEntry#get:value - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_f64_f64_=>_i32) (param $this i32) (param $key f64) (param $value f64) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23292,113 +32941,72 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer 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 $0 + local.get $length + i32.const 1073741820 + i32.gt_u if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - 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 $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 24 - br $~lib/map/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + i32.const 432 + i32.const 480 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable end - local.get $this - local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $3 return ) ) diff --git a/tests/compiler/std/map.release.wat b/tests/compiler/std/map.release.wat index a3697cdcfa..a0b706d036 100644 --- a/tests/compiler/std/map.release.wat +++ b/tests/compiler/std/map.release.wat @@ -1,22 +1,29 @@ (module (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) + (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) - (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) + (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) - (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_i64_i64_=>_none (func_subtype (param i32 i64 i64) func)) + (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_f32_=>_i32 (func_subtype (param i32 f32) (result i32) func)) - (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) - (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) + (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) (type $i32_f32_i32_=>_none (func_subtype (param i32 f32 i32) func)) + (type $i32_f32_f32_=>_none (func_subtype (param i32 f32 f32) func)) + (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) + (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_f64_i32_=>_none (func_subtype (param i32 f64 i32) func)) + (type $i32_f64_f64_=>_none (func_subtype (param i32 f64 f64) func)) + (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -1525,16 +1532,194 @@ memory.fill $0 local.get $1 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + unreachable + end + 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 1896 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~start (type $none_=>_none) + memory.size $0 + i32.const 16 + i32.shl + i32.const 34664 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store $0 + i32.const 1176 + i32.const 1168 + i32.store $0 + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store $0 + i32.const 1352 + i32.const 1344 + i32.store $0 + i32.const 1344 + 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 $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (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.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1549,66 +1734,226 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 - i32.store $0 offset=4 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=8 - local.tee $4 + i32.store $0 local.get $0 - i32.load $0 offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 + i32.load $0 + local.set $4 local.get $3 - local.set $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne + local.get $0 if - local.get $4 + local.get $0 i32.load $0 offset=8 + local.tee $2 i32.const 1 i32.and - i32.eqz - if - local.get $2 - local.get $4 - i32.load8_s $0 - local.tee $8 - i32.store8 $0 - local.get $2 - local.get $4 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $2 - local.get $5 + if (result i32) + i32.const 0 + else + local.get $0 + i32.load8_u $0 local.get $1 - local.get $8 + i32.const 255 + i32.and + i32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend8_s + 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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + 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 $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 + local.get $0 + i32.load $0 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 $7 + i32.ne + if + local.get $7 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $7 + i32.load8_s $0 + local.tee $8 + i32.store8 $0 + local.get $2 + local.get $7 + i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $1 + local.get $8 i32.extend8_s i32.const -1028477379 i32.mul @@ -1652,25 +1997,42 @@ i32.add local.set $2 end - local.get $4 + local.get $7 i32.const 12 i32.add - local.set $4 + local.set $7 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 i32.store $0 - local.get $5 + local.get $6 if local.get $0 - local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -1680,24 +2042,60 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 + local.get $1 local.get $1 i32.extend8_s i32.const -1028477379 @@ -1708,62 +2106,221 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 + local.tee $3 i32.const 15 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $0 + local.tee $3 i32.const 13 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $0 + local.tee $3 i32.const 16 i32.shr_u - local.get $0 + local.get $3 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - if + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $2 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.shl + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store8 $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend8_s + 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 + call $~lib/map/Map#find + local.tee $0 i32.eqz if i32.const 1616 @@ -1775,17 +2332,78 @@ end local.get $0 i32.load $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) + (func $~lib/map/Map#get:size (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 local.get $0 - i32.load $0 offset=8 - local.tee $5 - local.get $2 - i32.shr_u - i32.gt_u + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $5 + local.get $2 + i32.shr_u + i32.gt_u if local.get $1 i32.const 1073741820 @@ -1800,6 +2418,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.set $4 @@ -1888,46 +2509,35 @@ local.get $1 i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + 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 1896 + i32.lt_s if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 + i32.const 34688 + i32.const 34736 i32.const 1 - i32.add - local.tee $3 - i32.const 0 i32.const 1 - call $~lib/array/ensureCapacity - local.get $0 - local.get $3 - i32.store $0 offset=12 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 $0 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1949,53 +2559,73 @@ i32.const 1 i32.add local.tee $3 - i32.const 2 + i32.const 0 i32.const 1 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 - i32.const 2 - i32.shl + local.get $0 + i32.load $0 offset=4 i32.add local.get $2 - i32.store $0 + i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1896 + i32.lt_s if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 - i32.shl + i32.const 0 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/array/Array#constructor (type $i32_=>_i32) (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2010,815 +2640,521 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $1 i64.const 0 i64.store $0 - local.get $2 local.get $1 - i32.const 1 - i32.add + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 16 + i32.const 6 + call $~lib/rt/itcms/__new local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 local.get $0 - i32.load $0 offset=8 - local.tee $4 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 local.get $0 - i32.load $0 offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 + local.get $0 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $2 local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $4 - i32.load $0 - local.tee $8 - i32.store $0 - local.get $2 - local.get $4 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $2 - local.get $5 - local.get $1 - local.get $8 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $8 - i32.const 15 - i32.shr_u - local.get $8 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $8 - i32.const 13 - i32.shr_u - local.get $8 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $8 - i32.const 16 - i32.shr_u - local.get $8 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $8 - i32.load $0 - i32.store $0 offset=8 - local.get $8 - local.get $2 - i32.store $0 - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $4 - i32.const 12 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $0 - local.get $5 i32.store $0 - local.get $5 + local.get $3 if - local.get $0 - local.get $5 + local.get $2 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 i32.store $0 offset=4 - local.get $0 + local.get $2 local.get $3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $6 i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - local.tee $2 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz + 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 1896 + i32.lt_s if - return + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 130 + 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 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 + i32.store $0 local.get $0 i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 + local.get $1 + i32.const 2 + i32.shl i32.add - i32.const 4 - local.get $0 - i32.load $0 offset=20 - local.tee $2 local.get $2 + i32.store $0 + local.get $3 i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1896 + i32.lt_s if - local.get $0 - local.get $1 - call $~lib/map/Map#rehash + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric (type $none_=>_none) - (local $0 i32) + (func $~lib/map/Map#values (type $i32_=>_i32) (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) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 24 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=16 + local.tee $4 + call $~lib/array/Array#constructor + local.tee $5 + i32.store $0 offset=4 + loop $for-loop|0 local.get $2 + local.get $4 + i32.lt_s if local.get $3 local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 4 - i32.store $0 offset=12 - local.get $3 - i32.const 0 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $3 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_s + i32.const 12 + i32.mul + i32.add + local.tee $0 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + local.get $0 + i32.load $0 offset=4 + call $~lib/array/Array#__set local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.const 1 i32.add - i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - 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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - local.get $3 - i32.load $0 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 $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_s - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $3 - local.get $0 - local.get $0 - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - local.get $3 - i32.load $0 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.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 $5 + ) + (func $~lib/map/Map#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 + local.tee $3 + i64.const 0 + i64.store $0 local.get $3 - i32.load $0 offset=8 - local.set $4 + i32.const 0 + i32.store $0 offset=8 local.get $3 - i32.load $0 offset=16 - local.set $5 local.get $0 - i32.const 8 + i32.store $0 + local.get $3 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2826,396 +3162,159 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 + local.tee $3 i32.const 0 i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - local.get $2 - local.get $7 + local.get $3 + local.get $0 i32.store $0 - local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $7 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $2 - local.get $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - local.get $2 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $4 - local.get $12 - i32.const 12 - i32.mul - i32.add - local.tee $6 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz + local.get $4 + local.get $1 + i32.extend8_s + i32.const -1028477379 + i32.mul + i32.const 374761394 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.tee $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 if - local.get $2 - local.get $0 - local.get $6 - i32.load8_s $0 - call $~lib/array/Array#__set - local.get $0 + local.get $3 + i32.load $0 offset=4 + local.tee $4 i32.const 1 - i32.add - local.set $0 + i32.and + if (result i32) + i32.const 0 + else + local.get $3 + i32.load8_u $0 + local.get $1 + i32.const 255 + i32.and + i32.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $4 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 end - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|00 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $3 end - local.get $2 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer local.get $3 - call $~lib/map/Map#values - local.tee $8 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 24 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $13 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - i32.const 4 - i32.store $0 offset=12 - local.get $13 - i32.const 0 - i32.store $0 offset=16 - local.get $13 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $13 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $10 - i32.store $0 offset=16 - i32.const 0 - local.set $12 - loop $for-loop|2 - local.get $12 + local.get $3 local.get $2 + i32.store8 $0 offset=1 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 i32.load $0 offset=12 - i32.lt_s + i32.eq if - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $12 - local.get $2 - i32.load $0 offset=4 - i32.add - i32.load8_s $0 - local.set $14 - local.get $8 - local.get $12 - call $~lib/array/Array#__get - local.set $9 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $14 - i32.extend8_s - 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 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.store $0 + local.get $3 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $14 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end - i32.const 0 - local.set $0 - end + i32.store $0 offset=4 local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 + i32.load $0 offset=20 + local.set $4 local.get $3 - i32.load $0 offset=4 - local.get $9 - i32.const 20 - i32.sub - local.tee $1 - i32.extend8_s - 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 + i32.store $0 offset=4 + local.get $4 local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 + i32.load $0 offset=12 + i32.const 3 i32.mul - local.tee $0 - local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3223,848 +3322,348 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $14 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u + local.tee $3 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u + i32.store $0 offset=8 local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.xor - local.tee $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.load $0 offset=16 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|019 - local.get $0 + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $5 + local.get $9 + i32.ne + if + local.get $5 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if - local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $14 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 + local.get $3 + local.get $5 + i32.load8_s $0 + local.tee $11 + i32.store8 $0 + local.get $3 + local.get $5 + i32.load8_s $0 offset=1 + i32.store8 $0 offset=1 + local.get $3 + local.get $10 + local.get $6 + local.get $11 + i32.extend8_s + i32.const -1028477379 + i32.mul + i32.const 374761394 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $11 + i32.const 15 + i32.shr_u + local.get $11 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $11 + i32.const 13 + i32.shr_u + local.get $11 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $11 + i32.const 16 + i32.shr_u + local.get $11 + i32.xor i32.and - local.set $0 - br $while-continue|019 + i32.const 2 + i32.shl + i32.add + local.tee $11 + i32.load $0 + i32.store $0 offset=4 + local.get $11 + local.get $3 + i32.store $0 + local.get $3 + i32.const 8 + i32.add + local.set $3 end + local.get $5 + i32.const 8 + i32.add + local.set $5 + br $while-continue|00 end - i32.const 0 - local.set $0 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $10 + i32.store $0 offset=12 local.get $0 + local.get $10 + i32.store $0 + local.get $10 if local.get $0 - local.get $14 - i32.store8 $0 offset=1 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $11 - local.get $13 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $11 - i32.ne - if - local.get $11 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $11 - i32.load8_s $0 - local.tee $16 - i32.store8 $0 - local.get $0 - local.get $11 - i32.load8_s $0 offset=1 - i32.store8 $0 offset=1 - local.get $0 - local.get $15 - local.get $4 - local.get $16 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $16 - i32.const 15 - i32.shr_u - local.get $16 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $16 - i32.const 13 - i32.shr_u - local.get $16 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $16 - i32.const 16 - i32.shr_u - local.get $16 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $16 - i32.load $0 - i32.store $0 offset=4 - local.get $16 - local.get $0 - i32.store $0 - local.get $0 - i32.const 8 - i32.add - local.set $0 - end - local.get $11 - i32.const 8 - i32.add - local.set $11 - br $while-continue|00 - end - end - local.get $13 - local.get $15 - i32.store $0 - local.get $15 - if - local.get $13 - local.get $15 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $4 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $6 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $0 - local.get $14 - i32.store8 $0 - local.get $0 - local.get $14 - i32.store8 $0 offset=1 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $13 - i32.load $0 - local.get $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 + local.get $10 + call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - local.get $9 - i32.const 20 - i32.sub - local.tee $0 + local.tee $3 local.get $0 - call $~lib/map/Map#set - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|2 - end - end - local.get $13 - i32.load $0 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 $10 - i32.load $0 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 $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_s - if + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=4 local.get $3 - i32.load $0 + local.get $0 + i32.store $0 offset=8 local.get $3 - i32.load $0 offset=4 + local.get $4 + i32.store $0 offset=12 local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz + local.get $4 + i32.store $0 offset=8 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=8 local.get $0 - 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 $8 + i32.store $0 offset=12 local.get $3 local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 + i32.store $0 offset=8 local.get $3 - i32.load $0 offset=4 local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|3 + global.set $~lib/memory/__stack_pointer end - end - local.get $3 - i32.load $0 offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 46 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + local.tee $4 + local.get $1 + i32.store8 $0 + local.get $4 + local.get $2 + i32.store8 $0 offset=1 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + local.get $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 end - i32.const 0 - local.set $0 - loop $for-loop|4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if local.get $0 - i32.const 50 - i32.lt_s - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|030 - end - end - i32.const 0 - local.set $1 - end + i32.load $0 offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find32 - loop $while-continue|033 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find32 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|033 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl + i32.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find35 - loop $while-continue|036 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find35 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|036 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|4 + return end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end - local.get $3 - i32.load $0 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 $3 - call $~lib/map/Map#clear - local.get $3 - i32.load $0 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 - return end - i32.const 34688 - i32.const 34736 - i32.const 1 - 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 0 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -4073,7 +3672,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4092,6 +3691,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -4099,7 +3701,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -4107,21 +3709,28 @@ i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $7 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 @@ -4129,28 +3738,28 @@ local.get $7 i32.ne if - local.get $4 + local.get $7 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - i32.load8_u $0 + local.get $7 + i32.load $0 local.tee $8 - i32.store8 $0 + i32.store $0 local.get $2 - local.get $4 + local.get $7 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 local.get $1 local.get $8 i32.const -1028477379 i32.mul - i32.const 374761394 + i32.const 374761397 i32.add i32.const 17 i32.rotl @@ -4190,25 +3799,42 @@ i32.add local.set $2 end - local.get $4 + local.get $7 i32.const 12 i32.add - local.set $4 + local.set $7 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 i32.store $0 - local.get $5 + local.get $6 if local.get $0 - local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -4218,114 +3844,256 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 255 - i32.and + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 i32.const -1028477379 i32.mul - i32.const 374761394 + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $0 + local.tee $3 i32.const 15 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $0 + local.tee $3 i32.const 13 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $0 + local.tee $3 i32.const 16 i32.shr_u - local.get $0 + local.get $3 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - if + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $2 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.shl + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 end - local.get $0 - i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 offset=4 - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 - i32.const 255 - i32.and + local.get $1 + i32.extend8_s i32.const -1028477379 i32.mul i32.const 374761394 @@ -4335,63 +4103,32 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u + local.get $1 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/map/Map#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -4400,31 +4137,54 @@ i32.const 1 i32.or i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $1 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -4435,13 +4195,108 @@ else i32.const 0 end + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + 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#clear (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 if local.get $0 local.get $1 - call $~lib/map/Map#rehash + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric (type $none_=>_none) + (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) @@ -4454,13 +4309,8 @@ (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 - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -4469,12 +4319,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $4 i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 - local.get $1 - i32.const 8 + local.get $4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4482,140 +4332,98 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $5 i64.const 0 i64.store $0 - local.get $2 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 i32.const 24 - i32.const 9 + i32.const 4 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $8 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 + local.get $5 + i32.store $0 offset=8 + local.get $8 + local.get $5 i32.store $0 - local.get $2 + local.get $5 if - local.get $3 - local.get $2 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 3 i32.store $0 offset=4 + local.get $5 + local.get $8 + i32.store $0 offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 + local.get $5 i32.store $0 offset=8 - local.get $2 + local.get $8 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $3 - local.get $2 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 4 i32.store $0 offset=12 - local.get $3 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=16 - local.get $3 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $3 + local.get $4 + local.get $8 i32.store $0 loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 - i32.lt_u + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -4624,83 +4432,21 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -4710,10 +4456,13 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.const 10 i32.add i32.ne @@ -4725,15 +4474,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -4745,217 +4497,99 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 - i32.lt_u + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $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 $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + call $~lib/map/Map#get local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end + i32.ne + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 15 + i32.const 18 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - i32.const 10 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 16 + i32.const 19 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - local.get $0 - i32.const 20 + local.get $1 + i32.const 1 i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $0 - i32.const 1 - i32.add - local.set $0 br $for-loop|1 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -4967,8 +4601,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 + local.tee $9 + local.get $8 + i32.store $0 offset=4 + local.get $9 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4976,17 +4613,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $8 i32.store $0 - local.get $3 + local.get $8 i32.load $0 offset=8 local.set $4 - local.get $3 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 i32.load $0 offset=16 - local.set $5 - local.get $0 - i32.const 8 + local.set $10 + local.get $1 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4994,28 +4637,44 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $5 i64.const 0 i64.store $0 - local.get $2 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 i32.const 16 - i32.const 10 + i32.const 5 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $5 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=4 - local.get $2 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=12 - local.get $5 + local.get $10 i32.const 1073741820 i32.gt_u if @@ -5028,100 +4687,119 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $5 - local.get $5 + local.get $10 + local.get $10 i32.const 8 i32.le_u select local.tee $6 i32.const 1 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - local.get $2 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $5 + local.get $11 i32.store $0 - local.get $7 + local.get $11 if - local.get $2 - local.get $7 + local.get $5 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $11 + i32.store $0 offset=4 local.get $7 + local.get $5 i32.store $0 offset=4 - local.get $2 + local.get $5 local.get $6 i32.store $0 offset=8 - local.get $2 + local.get $7 + local.get $5 + i32.store $0 offset=4 local.get $5 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $7 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $5 - local.get $12 - i32.gt_s + local.get $1 + local.get $5 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $10 + i32.lt_s if local.get $4 - local.get $12 + local.get $2 i32.const 12 i32.mul i32.add - local.tee $6 + local.tee $1 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $0 - local.get $6 - i32.load8_u $0 + local.get $1 + i32.load8_s $0 call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $12 + local.get $2 i32.const 1 i32.add - local.set $12 - br $for-loop|00 + local.set $2 + br $for-loop|01 end end - local.get $2 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $2 - i32.store $0 offset=4 + local.get $9 + local.get $5 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $3 + local.tee $0 + local.get $8 + i32.store $0 offset=4 + local.get $0 + local.get $8 call $~lib/map/Map#values - local.tee $8 - i32.store $0 offset=8 + local.tee $0 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.set $0 + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -5129,78 +4807,121 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i64.const 0 i64.store $0 - local.get $1 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 i32.const 24 - i32.const 11 + i32.const 7 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $2 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 i32.store $0 - local.get $1 + local.get $4 if - local.get $13 - local.get $1 + local.get $2 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 3 i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $4 i32.store $0 offset=8 - local.get $1 + local.get $2 + local.get $4 + i32.store $0 offset=8 + local.get $4 if - local.get $13 - local.get $1 + local.get $2 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $13 - i32.store $0 offset=12 + local.get $1 + local.get $2 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $10 - i32.store $0 offset=16 - i32.const 0 - local.set $12 + local.tee $1 + i32.store $0 offset=20 loop $for-loop|2 - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $12 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $5 + i32.store $0 + local.get $3 + local.get $5 i32.load $0 offset=12 i32.ge_u if @@ -5211,83 +4932,33 @@ call $~lib/builtins/abort unreachable end - local.get $12 - local.get $2 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.set $14 - local.get $8 - local.get $12 - call $~lib/array/Array#__get - local.set $9 - local.get $3 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 local.get $3 + local.get $5 i32.load $0 offset=4 - local.get $14 - 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 - i32.and - i32.const 2 - i32.shl + i32.load8_s $0 + local.set $6 + local.get $4 + i32.const 4 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $14 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end - i32.const 0 - local.set $0 - end + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $6 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -5297,80 +4968,14 @@ call $~lib/builtins/abort unreachable end - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $4 i32.const 20 i32.sub - local.tee $1 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -5381,333 +4986,34 @@ unreachable end 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 1896 - i32.lt_s - br_if $folding-inner1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $14 - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - local.tee $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|019 - local.get $0 - if - local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load8_u $0 - local.get $14 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|019 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - local.get $0 - local.get $14 - i32.store8 $0 offset=1 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $11 - local.get $13 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $11 - i32.ne - if - local.get $11 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $11 - i32.load8_u $0 - local.tee $16 - i32.store8 $0 - local.get $0 - local.get $11 - i32.load8_u $0 offset=1 - i32.store8 $0 offset=1 - local.get $0 - local.get $15 - local.get $4 - local.get $16 - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $16 - i32.const 15 - i32.shr_u - local.get $16 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $16 - i32.const 13 - i32.shr_u - local.get $16 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $16 - i32.const 16 - i32.shr_u - local.get $16 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $16 - i32.load $0 - i32.store $0 offset=4 - local.get $16 - local.get $0 - i32.store $0 - local.get $0 - i32.const 8 - i32.add - local.set $0 - end - local.get $11 - i32.const 8 - i32.add - local.set $11 - br $while-continue|00 - end - end - local.get $13 - local.get $15 - i32.store $0 - local.get $15 - if - local.get $13 - local.get $15 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $4 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $6 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $0 - local.get $14 - i32.store8 $0 - local.get $0 - local.get $14 - i32.store8 $0 offset=1 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $13 - i32.load $0 - local.get $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - local.get $9 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $4 i32.const 20 i32.sub - local.tee $0 - local.get $0 + local.tee $4 + local.get $4 call $~lib/map/Map#set - local.get $12 + local.get $3 i32.const 1 i32.add - local.set $12 + local.set $3 br $for-loop|2 end end - local.get $13 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -5718,8 +5024,11 @@ call $~lib/builtins/abort unreachable end - local.get $10 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -5731,83 +5040,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 - i32.lt_u + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -5817,10 +5061,13 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.const 20 i32.add i32.ne @@ -5832,80 +5079,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -5914,15 +5099,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -5934,83 +5122,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 - i32.lt_u + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|030 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6019,83 +5142,21 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find32 - loop $while-continue|033 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find32 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|033 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -6105,80 +5166,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find35 - loop $while-continue|036 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find35 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|036 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -6187,15 +5186,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -6206,11 +5208,17 @@ call $~lib/builtins/abort unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/map/Map#clear - local.get $3 - i32.load $0 offset=20 - if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + if i32.const 0 i32.const 1568 i32.const 60 @@ -6219,7 +5227,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -6231,7 +5239,73 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -6240,7 +5314,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6259,6 +5333,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -6266,7 +5343,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -6274,21 +5351,28 @@ i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $7 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 @@ -6296,29 +5380,28 @@ local.get $7 i32.ne if - local.get $4 + local.get $7 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - i32.load16_s $0 + local.get $7 + i32.load8_u $0 local.tee $8 - i32.store16 $0 + i32.store8 $0 local.get $2 - local.get $4 + local.get $7 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 local.get $1 local.get $8 - i32.extend16_s i32.const -1028477379 i32.mul - i32.const 374761395 + i32.const 374761394 i32.add i32.const 17 i32.rotl @@ -6358,25 +5441,42 @@ i32.add local.set $2 end - local.get $4 + local.get $7 i32.const 12 i32.add - local.set $4 + local.set $7 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 i32.store $0 - local.get $5 + local.get $6 if local.get $0 - local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -6386,270 +5486,306 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.extend16_s + local.get $1 + i32.const 255 + i32.and i32.const -1028477379 i32.mul - i32.const 374761395 + i32.const 374761394 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $0 + local.tee $3 i32.const 15 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $0 + local.tee $3 i32.const 13 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $0 + local.tee $3 i32.const 16 i32.shr_u - local.get $0 + local.get $3 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - if + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.tee $5 local.get $0 - local.get $1 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 i32.const 1 i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add local.tee $3 + local.get $1 + i32.store8 $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 i32.const 1 - i32.const 1 - call $~lib/array/ensureCapacity + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 local.get $0 + i32.store $0 local.get $3 - i32.store $0 offset=12 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.get $2 - i32.store16 $0 + global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 - i32.extend16_s + local.get $1 + i32.const 255 + i32.and i32.const -1028477379 i32.mul - i32.const 374761395 + i32.const 374761394 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/map/Map#find + local.tee $0 i32.eqz if - return + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 local.get $0 i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 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 $0 offset=20 - local.get $0 - i32.load $0 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 $1 - call $~lib/map/Map#rehash - end ) - (func $std/map/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -6659,13 +5795,8 @@ (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 - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -6674,12 +5805,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 8 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6687,644 +5823,602 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 24 - i32.const 12 - call $~lib/rt/itcms/__new local.tee $3 + i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 local.get $3 - local.get $2 + local.get $0 i32.store $0 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $0 + i32.load $0 + local.set $4 local.get $3 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + 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 $3 local.get $3 - i32.const 4 - i32.store $0 offset=12 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 local.get $3 - i32.const 0 - i32.store $0 offset=16 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 local.get $3 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 + i32.shr_u + i32.xor + local.tee $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $3 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_s - if - local.get $3 - i32.load $0 + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + if + local.get $3 + i32.load $0 offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $3 + i32.load8_u $0 local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end + i32.const 255 + i32.and + i32.eq end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $4 + i32.const -2 + i32.and + 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 + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + i32.store8 $0 offset=1 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $3 local.get $0 + i32.store $0 offset=4 local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 + i32.load $0 offset=20 + local.set $4 local.get $3 - i32.load $0 offset=4 local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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.store $0 offset=4 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 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 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 16 - i32.shr_u - i32.xor - i32.and + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 + i32.add + local.tee $3 i32.const 2 i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=8 local.get $0 - 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 + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $3 - i32.load $0 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 $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_s - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + i32.store $0 offset=8 + local.get $5 local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 + i32.load $0 offset=16 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $5 + local.get $9 + i32.ne + if + local.get $5 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $2 - i32.const -2 + local.get $3 + local.get $5 + i32.load8_u $0 + local.tee $11 + i32.store8 $0 + local.get $3 + local.get $5 + i32.load8_u $0 offset=1 + i32.store8 $0 offset=1 + local.get $3 + local.get $10 + local.get $6 + local.get $11 + i32.const -1028477379 + i32.mul + i32.const 374761394 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $11 + i32.const 15 + i32.shr_u + local.get $11 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $11 + i32.const 13 + i32.shr_u + local.get $11 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $11 + i32.const 16 + i32.shr_u + local.get $11 + i32.xor i32.and - local.set $1 - br $while-continue|05 + i32.const 2 + i32.shl + i32.add + local.tee $11 + i32.load $0 + i32.store $0 offset=4 + local.get $11 + local.get $3 + i32.store $0 + local.get $3 + i32.const 8 + i32.add + local.set $3 end + local.get $5 + i32.const 8 + i32.add + local.set $5 + br $while-continue|00 end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=8 + local.get $3 + local.get $10 + i32.store $0 offset=12 local.get $0 - i32.const 10 - i32.add - i32.ne + local.get $10 + i32.store $0 + local.get $10 if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $10 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 + i32.store $0 offset=8 local.get $0 - i32.const 20 - i32.add - call $~lib/map/Map#set + local.get $6 + i32.store $0 offset=4 local.get $3 - i32.load $0 + local.get $0 + i32.store $0 offset=8 local.get $3 - i32.load $0 offset=4 + local.get $4 + i32.store $0 offset=12 local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz + local.get $4 + i32.store $0 offset=8 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $8 + i32.store $0 offset=12 local.get $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=8 + local.get $3 local.get $0 - 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 + i32.store $0 offset=12 local.get $0 - i32.const 1 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 i32.add - local.set $0 - br $for-loop|1 + global.set $~lib/memory/__stack_pointer end - end - local.get $3 - i32.load $0 offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $3 - i32.load $0 offset=8 - local.set $4 - local.get $3 - i32.load $0 offset=16 - local.set $5 - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 - local.get $7 - if + i32.shl + i32.add + local.tee $4 + local.get $1 + i32.store8 $0 + local.get $4 local.get $2 + i32.store8 $0 offset=1 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 end - local.get $2 - local.get $7 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $2 - local.get $5 - i32.store $0 offset=12 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 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $4 - local.get $12 - i32.const 12 - i32.mul - i32.add - local.tee $6 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $0 - local.get $6 - i32.load16_s $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|00 - end - end - local.get $2 - local.get $0 + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 - local.get $0 - i32.store $0 offset=12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + i32.const 15 + i32.shr_u + local.get $1 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + i32.const 13 + i32.shr_u + local.get $1 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + i32.const 16 + i32.shr_u + local.get $1 + i32.xor + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if 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 $2 - i32.store $0 offset=4 + return + end + local.get $1 + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 local.get $3 - call $~lib/map/Map#values - local.tee $8 - i32.store $0 offset=8 + local.get $0 + i32.load $0 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.set $0 + local.get $0 + i32.store $0 + local.get $0 + 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 $std/map/testNumeric (type $none_=>_none) + (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -7332,1059 +6426,852 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $5 i64.const 0 i64.store $0 - local.get $1 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 i32.const 24 - i32.const 14 + i32.const 9 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $8 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $5 + i32.store $0 offset=8 + local.get $8 + local.get $5 i32.store $0 - local.get $1 + local.get $5 if - local.get $13 - local.get $1 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 3 i32.store $0 offset=4 - i32.const 32 + local.get $5 + local.get $8 + i32.store $0 offset=4 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $5 i32.store $0 offset=8 - local.get $1 + local.get $8 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $8 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $13 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $10 - i32.store $0 offset=16 - i32.const 0 - local.set $12 - loop $for-loop|2 - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.lt_s + local.get $4 + local.get $8 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u if - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.ge_u + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=4 - local.get $12 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $14 + global.get $~lib/memory/__stack_pointer local.get $8 - local.get $12 - call $~lib/array/Array#__get - local.set $9 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $14 - i32.extend16_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 - i32.and - i32.const 2 - i32.shl + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $14 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 31 + i32.const 8 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $9 - i32.const 20 - i32.sub - local.tee $1 - i32.extend16_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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 9 + 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 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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|1 + local.get $1 + i32.const 100 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 32 + i32.const 15 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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $14 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 10 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - local.tee $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|019 - local.get $0 - if - local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $14 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|019 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + i32.ne if - local.get $0 - local.get $14 - i32.store16 $0 offset=2 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $11 - local.get $13 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $11 - i32.ne - if - local.get $11 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $11 - i32.load16_s $0 - local.tee $16 - i32.store16 $0 - local.get $0 - local.get $11 - i32.load16_s $0 offset=2 - i32.store16 $0 offset=2 - local.get $0 - local.get $15 - local.get $4 - local.get $16 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $16 - i32.const 15 - i32.shr_u - local.get $16 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $16 - i32.const 13 - i32.shr_u - local.get $16 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $16 - i32.const 16 - i32.shr_u - local.get $16 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $16 - i32.load $0 - i32.store $0 offset=4 - local.get $16 - local.get $0 - i32.store $0 - local.get $0 - i32.const 8 - i32.add - local.set $0 - end - local.get $11 - i32.const 8 - i32.add - local.set $11 - br $while-continue|00 - end - end - local.get $13 - local.get $15 - i32.store $0 - local.get $15 - if - local.get $13 - local.get $15 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $4 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $6 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $0 - local.get $14 - i32.store16 $0 - local.get $0 - local.get $14 - i32.store16 $0 offset=2 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $13 - i32.load $0 - local.get $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 + i32.const 0 + i32.const 1568 + i32.const 16 + i32.const 5 + 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 $10 - local.get $9 - i32.const 20 - i32.sub - local.tee $0 - local.get $0 - call $~lib/map/Map#set - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|2 - end - end - local.get $13 - i32.load $0 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 $10 - i32.load $0 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 $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_s - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 20 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 41 + i32.const 18 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 42 + i32.const 19 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 i32.const 1 i32.add - local.set $0 - br $for-loop|3 + local.set $1 + br $for-loop|1 end end - local.get $3 - i32.load $0 offset=20 - i32.const 50 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 46 + i32.const 21 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $8 + i32.store $0 offset=4 + local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=16 + local.set $10 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + i32.const 16 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - local.set $0 - loop $for-loop|4 - local.get $0 - i32.const 50 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $10 + i32.const 1073741820 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $10 + local.get $10 + i32.const 8 + i32.le_u + select + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $5 + local.get $11 + i32.store $0 + local.get $11 + if + local.get $5 + local.get $11 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $11 + i32.store $0 offset=4 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + i32.store $0 offset=8 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $10 + i32.store $0 offset=12 + local.get $7 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $5 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $10 i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 + local.get $4 + local.get $2 + i32.const 12 i32.mul - i32.const 374761395 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 + i32.load $0 offset=8 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|030 - end - end + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + local.get $1 + i32.load8_u $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + 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 $9 + local.get $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $8 + i32.store $0 offset=4 + local.get $0 + local.get $8 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $1 + 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 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 24 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 offset=8 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.store $0 offset=12 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=16 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=20 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $1 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $5 + i32.store $0 + local.get $3 + local.get $5 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 + local.get $3 + local.get $5 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.set $6 + local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $6 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $4 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 50 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $4 + i32.const 20 + i32.sub + local.tee $4 + local.get $4 + call $~lib/map/Map#set local.get $3 - local.get $0 - local.get $0 - i32.const 10 + i32.const 1 i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 + local.set $3 + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size + 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 $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|3 + local.get $1 + i32.const 50 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $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 $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + call $~lib/map/Map#get local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.const 20 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find32 - loop $while-continue|033 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find32 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|033 - end - end + i32.ne + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.eqz + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 52 + i32.const 44 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 + local.get $1 + i32.const 1 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 + local.set $1 + br $for-loop|3 + end + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|4 + local.get $1 + i32.const 50 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $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 $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find35 - loop $while-continue|036 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find35 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|036 - end - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -8393,15 +7280,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -8412,10 +7302,16 @@ call $~lib/builtins/abort unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 call $~lib/map/Map#clear - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size if i32.const 0 i32.const 1568 @@ -8425,7 +7321,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -8437,7 +7333,152 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $0 + i32.load16_u $0 + local.get $1 + i32.const 65535 + i32.and + i32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend16_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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -8446,7 +7487,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8465,6 +7506,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -8472,7 +7516,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $6 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -8480,21 +7524,28 @@ i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $5 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $7 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 @@ -8502,25 +7553,26 @@ local.get $7 i32.ne if - local.get $4 + local.get $7 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - i32.load16_u $0 + local.get $7 + i32.load16_s $0 local.tee $8 i32.store16 $0 local.get $2 - local.get $4 + local.get $7 i32.load $0 offset=4 i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $6 local.get $1 local.get $8 + i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -8563,25 +7615,42 @@ i32.add local.set $2 end - local.get $4 + local.get $7 i32.const 12 i32.add - local.set $4 + local.set $7 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 i32.store $0 - local.get $5 + local.get $6 if local.get $0 - local.get $5 + local.get $6 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -8591,27 +7660,62 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 65535 - i32.and + local.get $1 + i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -8620,85 +7724,192 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 + local.tee $3 i32.const 15 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $0 + local.tee $3 i32.const 13 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $0 + local.tee $3 i32.const 16 i32.shr_u - local.get $0 + local.get $3 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - if + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $2 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.shl + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store16 $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 end - local.get $0 - i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 offset=4 - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 - i32.const 65535 - i32.and + local.get $1 + i32.extend16_s i32.const -1028477379 i32.mul i32.const 374761395 @@ -8707,117 +7918,153 @@ 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/map/Map#find + local.tee $0 i32.eqz if - return + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end - local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 local.get $0 i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 - local.tee $2 - local.get $2 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.lt_u - select + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 i32.ge_u - if (result i32) + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end local.get $0 - i32.load $0 offset=20 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 1 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1896 + i32.lt_s if - local.get $0 - local.get $1 - call $~lib/map/Map#rehash + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 1 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -8827,13 +8074,8 @@ (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 - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -8842,12 +8084,17 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 8 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -8855,511 +8102,601 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 24 - i32.const 15 - call $~lib/rt/itcms/__new local.tee $3 + i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 local.get $3 - local.get $2 + local.get $0 i32.store $0 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 + local.get $0 + i32.load $0 + local.set $4 local.get $3 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.extend16_s + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $3 local.get $3 - i32.const 4 - i32.store $0 offset=12 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 local.get $3 - i32.const 0 - i32.store $0 offset=16 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 local.get $3 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 + i32.shr_u + i32.xor + local.tee $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $3 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $3 - i32.load $0 + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + if + local.get $3 + i32.load $0 offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $3 + i32.load16_u $0 local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end + i32.const 65535 + i32.and + i32.eq end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $4 + i32.const -2 + i32.and + 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 + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + i32.store16 $0 offset=2 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $3 local.get $0 + i32.store $0 offset=4 local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 + i32.load $0 offset=20 + local.set $4 local.get $3 - i32.load $0 offset=4 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 $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.store $0 offset=4 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 i32.mul - local.tee $1 - local.get $1 + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 16 - i32.shr_u - i32.xor - i32.and + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 + i32.add + local.tee $3 i32.const 2 i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $5 + local.get $9 + i32.ne + if + local.get $5 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $2 - i32.const -2 + local.get $3 + local.get $5 + i32.load16_s $0 + local.tee $11 + i32.store16 $0 + local.get $3 + local.get $5 + i32.load16_s $0 offset=2 + i32.store16 $0 offset=2 + local.get $3 + local.get $10 + local.get $6 + local.get $11 + i32.extend16_s + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $11 + i32.const 15 + i32.shr_u + local.get $11 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $11 + i32.const 13 + i32.shr_u + local.get $11 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $11 + i32.const 16 + i32.shr_u + local.get $11 + i32.xor i32.and - local.set $1 - br $while-continue|02 + i32.const 2 + i32.shl + i32.add + local.tee $11 + i32.load $0 + i32.store $0 offset=4 + local.get $11 + local.get $3 + i32.store $0 + local.get $3 + i32.const 8 + i32.add + local.set $3 end + local.get $5 + i32.const 8 + i32.add + local.set $5 + br $while-continue|00 end - i32.const 0 - local.set $1 - end - local.get $1 - 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.tee $3 + local.get $0 + i32.store $0 offset=8 local.get $3 + local.get $10 + i32.store $0 offset=12 local.get $0 - call $~lib/map/Map#get - local.get $0 - i32.const 10 - i32.add - i32.ne + local.get $10 + i32.store $0 + local.get $10 if - i32.const 0 - i32.const 1568 - i32.const 9 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $10 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $3 - i32.load $0 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 $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + i32.store $0 offset=8 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $6 + i32.store $0 offset=4 local.get $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=8 + local.get $3 + local.get $4 + i32.store $0 offset=12 local.get $0 - i32.const 10 - i32.add - i32.ne + local.get $4 + i32.store $0 offset=8 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 + i32.store $0 offset=8 local.get $0 - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 + local.get $8 + i32.store $0 offset=12 local.get $3 - i32.load $0 offset=4 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 local.get $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=12 local.get $0 - 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 $0 - i32.const 1 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 i32.add - local.set $0 - br $for-loop|1 + global.set $~lib/memory/__stack_pointer end - end - local.get $3 - i32.load $0 offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 21 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 + i32.shl + i32.add + local.tee $4 + local.get $1 + i32.store16 $0 + local.get $4 + local.get $2 + i32.store16 $0 offset=2 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + local.get $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend16_s + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + i32.const 15 + i32.shr_u + local.get $1 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + i32.const 13 + i32.shr_u + local.get $1 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + i32.const 16 + i32.shr_u + local.get $1 + i32.xor + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $1 + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 i32.store $0 local.get $3 - i32.load $0 offset=8 - local.set $4 - local.get $3 - i32.load $0 offset=16 - local.set $5 local.get $0 - i32.const 8 + i32.load $0 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 $0 + local.get $0 + 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 $std/map/testNumeric (type $none_=>_none) + (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -9367,3073 +8704,2574 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $5 i64.const 0 i64.store $0 - local.get $2 - i32.const 16 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 + local.get $5 i32.const 0 + i32.store $0 offset=8 + local.get $5 + i32.const 24 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $8 i32.store $0 - local.get $2 - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 offset=4 - local.get $2 - i32.const 0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 + local.get $8 local.get $5 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - local.get $2 - local.get $7 i32.store $0 - local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $7 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $2 local.get $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 + if + local.get $8 local.get $5 - local.get $12 - i32.gt_s - if - local.get $4 - local.get $12 - i32.const 12 - i32.mul - i32.add - local.tee $6 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $0 - local.get $6 - i32.load16_u $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|00 - end + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/map/Map#values - local.tee $8 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 24 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $13 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.tee $5 + local.get $8 i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 + local.get $8 i32.const 3 i32.store $0 offset=4 - i32.const 32 + local.get $5 + local.get $8 + i32.store $0 offset=4 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 + local.get $5 i32.store $0 offset=8 - local.get $1 + local.get $8 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $13 - local.get $1 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $13 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $10 - i32.store $0 offset=16 - i32.const 0 - local.set $12 - loop $for-loop|2 - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.lt_s - if - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=4 - local.get $12 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $14 - local.get $8 - local.get $12 - call $~lib/array/Array#__get - local.set $9 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $14 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $14 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $9 - i32.const 20 - i32.sub - local.tee $1 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - 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 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $14 - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - local.tee $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|019 - local.get $0 - if - local.get $0 - i32.load $0 offset=4 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load16_u $0 - local.get $14 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|019 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - local.get $0 - local.get $14 - i32.store16 $0 offset=2 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $11 - local.get $13 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $5 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $11 - i32.ne - if - local.get $11 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $11 - i32.load16_u $0 - local.tee $16 - i32.store16 $0 - local.get $0 - local.get $11 - i32.load16_u $0 offset=2 - i32.store16 $0 offset=2 - local.get $0 - local.get $15 - local.get $4 - local.get $16 - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $16 - i32.const 15 - i32.shr_u - local.get $16 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $16 - i32.const 13 - i32.shr_u - local.get $16 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $16 - i32.const 16 - i32.shr_u - local.get $16 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $16 - i32.load $0 - i32.store $0 offset=4 - local.get $16 - local.get $0 - i32.store $0 - local.get $0 - i32.const 8 - i32.add - local.set $0 - end - local.get $11 - i32.const 8 - i32.add - local.set $11 - br $while-continue|00 - end - end - local.get $13 - local.get $15 - i32.store $0 - local.get $15 - if - local.get $13 - local.get $15 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $4 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $6 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $0 - local.get $14 - i32.store16 $0 - local.get $0 - local.get $14 - i32.store16 $0 offset=2 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $13 - i32.load $0 - local.get $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=4 - local.get $1 - local.get $0 - i32.store $0 + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $8 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 - i32.const 4 + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 10 i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - local.get $9 - i32.const 20 - i32.sub - local.tee $0 - local.get $0 - call $~lib/map/Map#set - local.get $12 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + 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 $12 - br $for-loop|2 + local.set $1 + br $for-loop|0 end end - local.get $13 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 36 + i32.const 11 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $10 - i32.load $0 offset=20 + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + 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 + 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 $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 37 + i32.const 21 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_u + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $8 + i32.store $0 offset=4 + local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=16 + local.set $10 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $10 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $10 + local.get $10 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $5 + local.get $11 + i32.store $0 + local.get $11 + if + local.get $5 + local.get $11 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $11 + i32.store $0 offset=4 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + i32.store $0 offset=8 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $10 + i32.store $0 offset=12 + local.get $7 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $5 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $10 + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.const 65535 - i32.and - i32.const -1028477379 + local.get $4 + local.get $2 + i32.const 12 i32.mul - i32.const 374761395 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 + i32.load $0 offset=8 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find23 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end - local.get $1 i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find26 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + local.get $1 + i32.load16_s $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|3 + local.set $2 + br $for-loop|01 end end - local.get $3 - i32.load $0 offset=20 - i32.const 50 - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + 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 $9 + local.get $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $8 + i32.store $0 offset=4 + local.get $0 + local.get $8 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $1 + 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 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 24 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 offset=8 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.store $0 offset=12 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $0 - loop $for-loop|4 - local.get $0 - i32.const 50 - i32.lt_u + i32.store $0 offset=16 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=20 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $1 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $5 + i32.store $0 local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find29 - loop $while-continue|030 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find29 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|030 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + local.get $5 + i32.load $0 offset=12 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 + local.get $5 + i32.load $0 offset=4 local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $6 + local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=4 local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find32 - loop $while-continue|033 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find32 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|033 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $6 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 52 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find35 - loop $while-continue|036 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find35 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|036 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $4 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 54 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|4 - end - end - local.get $3 - i32.load $0 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 $3 - call $~lib/map/Map#clear - local.get $3 - i32.load $0 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 - return - end - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load $0 - local.get $1 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=4 - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - local.tee $2 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find + i32.store $0 offset=4 + local.get $1 + local.get $4 + i32.const 20 + i32.sub + local.tee $4 + local.get $4 + call $~lib/map/Map#set local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 + i32.const 1 + i32.add + local.set $3 + br $for-loop|2 end end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - return - end - local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load $0 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 $0 offset=20 - local.get $0 - i32.load $0 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 $1 - call $~lib/map/Map#rehash - end - ) - (func $std/map/testNumeric (type $none_=>_none) - (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 - block $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size + 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.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 local.get $1 - call $~lib/map/Map#constructor - local.tee $2 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|3 + local.get $1 + i32.const 50 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $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 $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + call $~lib/map/Map#get local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.const 20 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - 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.ne + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 6 + i32.const 44 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761397 + local.get $1 + i32.const 1 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $1 + local.set $1 + br $for-loop|3 + end + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|4 + local.get $1 + i32.const 50 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $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 $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 8 + i32.const 52 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/map/Map#get - local.get $0 - i32.const 10 - i32.add - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 9 + i32.const 54 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|0 + local.set $1 + br $for-loop|4 end end - local.get $2 - i32.load $0 offset=20 - i32.const 100 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + 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 $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 + local.get $0 + i32.load $0 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 $7 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 $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_s + local.get $7 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz if local.get $2 - i32.load $0 + local.get $7 + i32.load16_u $0 + local.tee $8 + i32.store16 $0 local.get $2 + local.get $7 i32.load $0 offset=4 - local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $1 + local.get $8 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 $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add + local.tee $8 i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 local.get $2 + i32.const 12 + i32.add + local.set $2 + end + local.get $7 + i32.const 12 + i32.add + local.set $7 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 + i32.store $0 + local.get $6 + if + local.get $0 + local.get $6 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $3 + i32.const 15 + i32.shr_u + local.get $3 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + i32.const 13 + i32.shr_u + local.get $3 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + i32.const 16 + i32.shr_u + local.get $3 + i32.xor + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=4 local.get $0 - 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 $2 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=4 local.get $0 - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $2 - i32.load $0 - local.get $2 i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - 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 $0 - call $~lib/map/Map#get - local.get $0 - 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 $0 i32.const 1 - i32.add - local.set $0 - br $for-loop|1 + i32.or end + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store16 $0 + local.get $3 local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 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 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + 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 $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $3 i32.const 0 i32.store $0 - local.get $2 - i32.load $0 offset=8 - local.set $4 + local.get $3 local.get $0 - local.get $2 - i32.load $0 offset=16 - local.tee $5 - call $~lib/array/Array#constructor - local.tee $6 i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $3 - i32.const 12 - i32.mul - i32.add - local.tee $7 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $6 - local.get $0 - local.get $7 - i32.load $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end - end - local.get $6 local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $6 + i32.load $0 + local.set $4 + local.get $3 local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 + local.get $4 local.get $1 - local.get $6 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/map/Map#values + 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 $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor local.tee $7 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $8 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $9 - i32.store $0 offset=16 - i32.const 0 - local.set $0 - loop $for-loop|2 - local.get $0 - local.get $6 - i32.load $0 offset=12 - i32.lt_s - if - local.get $6 - local.get $0 - call $~lib/array/Array#__get - local.set $1 - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.set $4 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $1 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find10 - loop $while-continue|011 - local.get $3 - if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load $0 - local.get $1 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find10 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|011 - end - end - i32.const 0 - local.set $3 - end + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 local.get $3 - i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $4 - i32.const 20 - i32.sub - local.tee $5 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find13 - loop $while-continue|014 + local.get $3 + i32.load $0 offset=4 + local.tee $4 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else local.get $3 - if - local.get $3 - i32.load $0 offset=8 - local.tee $10 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load $0 - local.get $5 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find13 - local.get $10 - i32.const -2 - i32.and - local.set $3 - br $while-continue|014 - end + i32.load16_u $0 + local.get $1 + i32.const 65535 + i32.and + i32.eq end - i32.const 0 + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $4 + i32.const -2 + i32.and local.set $3 + br $while-continue|0 end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 32 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $8 - local.get $1 - local.get $1 - call $~lib/map/Map#set - local.get $9 - local.get $4 - i32.const 20 - i32.sub - local.tee $1 - local.get $1 - call $~lib/map/Map#set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|2 end - end - local.get $8 - i32.load $0 offset=20 - i32.const 100 - i32.ne - if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.const 1568 - i32.const 36 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $3 end - local.get $9 - i32.load $0 offset=20 - i32.const 100 - i32.ne + local.get $3 if - i32.const 0 - i32.const 1568 - i32.const 37 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|3 + local.get $3 + local.get $2 + i32.store16 $0 offset=2 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 50 - i32.lt_s + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $3 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find16 - loop $while-continue|017 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find16 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|017 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 + i32.store $0 + local.get $3 local.get $0 - call $~lib/map/Map#get + i32.store $0 offset=4 local.get $0 - 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 $2 + i32.load $0 offset=20 + local.set $4 + local.get $3 local.get $0 - call $~lib/map/Map#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $4 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 $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.load $0 offset=12 + i32.const 3 i32.mul - local.tee $1 - local.get $1 + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 16 - i32.shr_u - i32.xor - i32.and + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 + i32.add + local.tee $3 i32.const 2 i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 3 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find19 - loop $while-continue|020 - local.get $1 + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|00 + local.get $5 + local.get $9 + i32.ne + if + local.get $5 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find19 local.get $3 - i32.const -2 + local.get $5 + i32.load16_u $0 + local.tee $11 + i32.store16 $0 + local.get $3 + local.get $5 + i32.load16_u $0 offset=2 + i32.store16 $0 offset=2 + local.get $3 + local.get $10 + local.get $6 + local.get $11 + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $11 + i32.const 15 + i32.shr_u + local.get $11 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $11 + i32.const 13 + i32.shr_u + local.get $11 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $11 + i32.const 16 + i32.shr_u + local.get $11 + i32.xor i32.and - local.set $1 - br $while-continue|020 + i32.const 2 + i32.shl + i32.add + local.tee $11 + i32.load $0 + i32.store $0 offset=4 + local.get $11 + local.get $3 + i32.store $0 + local.get $3 + i32.const 8 + i32.add + local.set $3 end + local.get $5 + i32.const 8 + i32.add + local.set $5 + br $while-continue|00 end - i32.const 0 - local.set $1 end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $10 + i32.store $0 offset=12 + local.get $0 + local.get $10 + i32.store $0 + local.get $10 if - i32.const 0 - i32.const 1568 - i32.const 44 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $10 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 1 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + if + local.get $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $8 + i32.store $0 offset=12 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 i32.add - local.set $0 - br $for-loop|3 + global.set $~lib/memory/__stack_pointer end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + local.get $1 + i32.store16 $0 + local.get $4 + local.get $2 + i32.store16 $0 offset=2 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + local.get $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 end - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + i32.const 15 + i32.shr_u + local.get $1 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + i32.const 13 + i32.shr_u + local.get $1 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + i32.const 16 + i32.shr_u + local.get $1 + i32.xor + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $1 + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=20 - i32.const 50 - i32.ne + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 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 $0 + local.get $0 + 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 $std/map/testNumeric (type $none_=>_none) + (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + i32.const 24 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $8 + local.get $5 + i32.store $0 + local.get $5 if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $8 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 3 + i32.store $0 offset=4 + local.get $5 + local.get $8 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $8 + local.get $5 + i32.store $0 offset=8 + local.get $5 + if + local.get $8 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 4 + i32.store $0 offset=12 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 - local.set $0 - loop $for-loop|4 - local.get $0 - i32.const 50 - i32.lt_s + i32.store $0 offset=16 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.store $0 offset=20 + local.get $5 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $8 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find22 - loop $while-continue|023 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find22 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|023 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 50 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 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 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find25 - loop $while-continue|026 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find25 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|026 - end - end - i32.const 0 - local.set $1 - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 52 + i32.const 8 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/map/Map#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + call $~lib/map/Map#get local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find28 - loop $while-continue|029 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find28 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|029 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + i32.ne if i32.const 0 i32.const 1568 - i32.const 54 + i32.const 9 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|4 + local.set $1 + br $for-loop|0 end end - local.get $2 - i32.load $0 offset=20 - i32.const 50 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 56 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - call $~lib/map/Map#clear - local.get $2 - i32.load $0 offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 60 + i32.const 11 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 - return - end - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.tee $4 - local.get $0 - i32.load $0 offset=16 - i32.const 12 - i32.mul - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz + i32.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_u if - local.get $2 - local.get $4 - i32.load $0 - local.tee $8 - i32.store $0 - local.get $2 - local.get $4 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 offset=4 - local.get $2 - local.get $5 + local.get $8 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 $8 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $8 - i32.const 15 - i32.shr_u + i32.store $0 offset=4 local.get $8 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $8 - i32.const 13 - i32.shr_u + local.get $1 + call $~lib/map/Map#get + local.get $1 + 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 $8 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $8 - i32.const 16 - i32.shr_u + i32.store $0 offset=4 local.get $8 - i32.xor - i32.and - i32.const 2 - i32.shl + local.get $1 + local.get $1 + i32.const 20 i32.add - local.tee $8 - i32.load $0 - i32.store $0 offset=8 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $8 - local.get $2 - i32.store $0 - local.get $2 - i32.const 12 - i32.add - local.set $2 - end - local.get $4 - i32.const 12 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - else - local.get $0 - i32.load $0 - local.get $1 - i32.eq + i32.const 1568 + i32.const 18 + i32.const 5 + call $~lib/builtins/abort + unreachable end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=4 - ) - (func $~lib/map/Map#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - local.tee $2 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - 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 $8 + i32.store $0 offset=4 + local.get $8 local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) + call $~lib/map/Map#get + local.get $1 + i32.const 20 + i32.add + i32.ne + if i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq + i32.const 1568 + i32.const 19 + i32.const 5 + call $~lib/builtins/abort + unreachable end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and + local.get $1 + i32.const 1 + i32.add local.set $1 - br $while-continue|0 + br $for-loop|1 end end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - return - end - local.get $1 - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load $0 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 $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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.tee $9 + local.get $8 + i32.store $0 offset=4 + local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 i32.lt_s - else + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=16 + local.set $10 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + i32.const 16 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - end - if - local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $10 + i32.const 536870910 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $10 + local.get $10 + i32.const 8 + i32.le_u + select + i32.const 1 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $5 + local.get $11 + i32.store $0 + local.get $11 + if + local.get $5 + local.get $11 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $11 + i32.store $0 offset=4 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + i32.store $0 offset=8 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $10 + i32.store $0 offset=12 + local.get $7 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/map/Map#rehash - end - ) - (func $std/map/testNumeric (type $none_=>_none) - (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) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 + local.get $5 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $10 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 12 + i32.mul + i32.add + local.tee $1 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + local.get $1 + i32.load16_u $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + local.get $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $8 + i32.store $0 offset=4 + local.get $0 + local.get $8 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -12445,1667 +11283,1195 @@ i64.const 0 i64.store $0 local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 i32.const 24 - i32.const 18 + i32.const 17 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $3 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $2 + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $3 - local.get $2 + local.get $4 i32.store $0 offset=8 local.get $2 + local.get $4 + i32.store $0 + local.get $4 if - local.get $3 local.get $2 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $3 - i32.const 4 - i32.store $0 offset=12 - local.get $3 - i32.const 0 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $3 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - 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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - 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 $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $3 - i32.load $0 offset=20 - i32.const 100 - i32.ne + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 offset=8 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.store $0 offset=12 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_u + i32.store $0 offset=16 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=20 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $1 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $5 + i32.store $0 local.get $3 - i32.load $0 - local.get $3 + local.get $5 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 + local.get $5 i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 + local.get $3 + i32.const 1 i32.shl i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + i32.load16_u $0 + local.set $6 + local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $6 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 15 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - i32.const 10 - i32.add - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $4 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 16 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - local.get $0 - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $1 - local.get $1 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $1 + i32.store $0 offset=4 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end + local.get $4 + i32.const 20 + i32.sub + local.tee $4 + local.get $4 + call $~lib/map/Map#set + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size + 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 $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|3 + local.get $1 + i32.const 50 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 18 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 42 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 + end + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|1 + local.set $1 + br $for-loop|3 end end - local.get $3 - i32.load $0 offset=20 - i32.const 100 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + i32.const 50 i32.ne if i32.const 0 i32.const 1568 - i32.const 21 + i32.const 46 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $3 - i32.load $0 offset=8 - local.set $4 - local.get $3 - i32.load $0 offset=16 - local.set $5 - local.get $0 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $5 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $5 - local.get $5 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 offset=4 - local.get $2 - local.get $7 - i32.store $0 - local.get $7 - if - local.get $2 - local.get $7 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $7 - i32.store $0 offset=4 - local.get $2 - local.get $6 - i32.store $0 offset=8 - local.get $2 - local.get $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $2 - i32.store $0 i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $5 - local.get $12 - i32.gt_s + local.set $1 + loop $for-loop|4 + local.get $1 + i32.const 50 + i32.lt_u if - local.get $4 - local.get $12 - i32.const 12 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 10 i32.add - local.tee $6 - i32.load $0 offset=8 - i32.const 1 - i32.and + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has i32.eqz if - local.get $2 - local.get $0 - local.get $6 - i32.load $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 end - local.get $12 + local.get $1 i32.const 1 i32.add - local.set $12 - br $for-loop|00 + local.set $1 + br $for-loop|4 end end - local.get $2 - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 - local.get $0 - i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 + local.get $8 i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 $3 - call $~lib/map/Map#values - local.tee $8 - i32.store $0 offset=8 + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#clear global.get $~lib/memory/__stack_pointer - local.set $0 + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + 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 $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + i32.const 15 + i32.shr_u + local.get $1 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + i32.const 13 + i32.shr_u + local.get $1 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + i32.const 16 + i32.shr_u + local.get $1 + i32.xor + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if global.get $~lib/memory/__stack_pointer i32.const 8 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + return + end + local.get $1 + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) global.get $~lib/memory/__stack_pointer local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 24 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $13 + local.get $0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 + local.get $0 + i32.load $0 offset=20 + local.set $3 local.get $1 + local.get $0 i32.store $0 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 + local.get $3 + local.get $0 + i32.load $0 offset=12 i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 + i32.mul i32.const 4 - i32.store $0 offset=12 - local.get $13 - i32.const 0 - i32.store $0 offset=16 - local.get $13 + i32.div_s + i32.lt_s + else i32.const 0 - i32.store $0 offset=20 + end + if global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - local.get $13 - i32.store $0 offset=12 + i32.store $0 + local.get $0 + 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 $std/map/testNumeric (type $none_=>_none) + (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 + block $folding-inner0 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $10 - i32.store $0 offset=16 + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - local.set $12 - loop $for-loop|2 - local.get $12 - local.get $2 - i32.load $0 offset=12 + i32.const 24 + memory.fill $0 + local.get $3 + call $~lib/map/Map#constructor + local.tee $5 + i32.store $0 + loop $for-loop|0 + local.get $0 + i32.const 100 i32.lt_s if - local.get $12 - local.get $2 - i32.load $0 offset=12 - i32.ge_u + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#has if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=4 - local.get $12 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $14 - local.get $8 - local.get $12 - call $~lib/array/Array#__get - local.set $9 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $14 - 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 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.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load $0 - local.get $14 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 8 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#get local.get $0 - i32.eqz + i32.const 10 + i32.add + i32.ne if i32.const 0 i32.const 1568 - i32.const 31 + i32.const 9 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $9 - i32.const 20 - i32.sub - local.tee $1 - 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 - i32.and - i32.const 2 - i32.shl + i32.const 1 i32.add - i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load $0 - local.get $1 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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 $0 + loop $for-loop|1 + local.get $0 + i32.const 100 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $0 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 32 + i32.const 15 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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $14 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u + call $~lib/map/Map#get local.get $0 - i32.xor - local.tee $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find19 - loop $while-continue|020 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $14 - local.get $0 - i32.load $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find19 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|020 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $0 - if - local.get $0 - local.get $14 - i32.store $0 offset=4 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $4 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $15 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 12 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $11 - local.get $13 - i32.load $0 offset=16 - i32.const 12 - i32.mul - i32.add - local.set $5 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $11 - i32.ne - if - local.get $11 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $11 - i32.load $0 - local.tee $16 - i32.store $0 - local.get $0 - local.get $11 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $0 - local.get $15 - local.get $4 - local.get $16 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $16 - i32.const 15 - i32.shr_u - local.get $16 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $16 - i32.const 13 - i32.shr_u - local.get $16 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $16 - i32.const 16 - i32.shr_u - local.get $16 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $16 - i32.load $0 - i32.store $0 offset=8 - local.get $16 - local.get $0 - i32.store $0 - local.get $0 - i32.const 12 - i32.add - local.set $0 - end - local.get $11 - i32.const 12 - i32.add - local.set $11 - br $while-continue|00 - end - end - local.get $13 - local.get $15 - i32.store $0 - local.get $15 - if - local.get $13 - local.get $15 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $4 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $6 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.const 12 - i32.mul - i32.add - local.tee $0 - local.get $14 - i32.store $0 - local.get $0 - local.get $14 - i32.store $0 offset=4 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $13 - i32.load $0 - local.get $7 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 + local.get $0 + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + 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 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - local.get $9 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#get + local.get $0 i32.const 20 - i32.sub - local.tee $0 + 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 $0 - call $~lib/map/Map#set - local.get $12 i32.const 1 i32.add - local.set $12 - br $for-loop|2 + local.set $0 + br $for-loop|1 end end - local.get $13 - i32.load $0 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 $10 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size i32.const 100 i32.ne if i32.const 0 i32.const 1568 - i32.const 37 + i32.const 21 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $5 + i32.store $0 + local.get $5 + i32.load $0 offset=8 + local.set $7 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.load $0 offset=16 + local.tee $8 + call $~lib/array/Array#constructor + local.tee $3 + i32.store $0 offset=4 i32.const 0 local.set $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_u + loop $for-loop|01 + local.get $2 + local.get $8 + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 + local.get $7 + local.get $2 + i32.const 12 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 + local.tee $4 + i32.load $0 offset=8 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find24 - loop $while-continue|025 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find24 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|025 - end - end - i32.const 0 - local.set $1 - end - local.get $1 i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + local.get $4 + i32.load $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - local.get $3 - local.get $0 - call $~lib/map/Map#get - local.get $0 - i32.const 20 + local.get $2 + i32.const 1 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 $3 - local.get $0 - call $~lib/map/Map#delete + local.set $2 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $0 + 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 $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $4 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/array/Array#get:length + local.get $1 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer local.get $3 - i32.load $0 + i32.store $0 offset=4 local.get $3 - i32.load $0 offset=4 - 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 $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 + call $~lib/array/Array#__get + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find27 - loop $while-continue|028 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find27 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|028 - end - end + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $7 + i32.const 20 + i32.sub + call $~lib/map/Map#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 44 + i32.const 32 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.const 20 + i32.sub + local.tee $6 + local.get $6 + call $~lib/map/Map#set + local.get $1 i32.const 1 i32.add - local.set $0 - br $for-loop|3 + local.set $1 + br $for-loop|2 end end - local.get $3 - i32.load $0 offset=20 - i32.const 50 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size + 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 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/map/Map#get:size + 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 $0 - loop $for-loop|4 + loop $for-loop|3 local.get $0 i32.const 50 - i32.lt_u + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find30 - loop $while-continue|031 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find30 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|031 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $0 - local.get $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find33 - loop $while-continue|034 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find33 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|034 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 52 + i32.const 41 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - local.get $0 - call $~lib/map/Map#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#get + local.get $0 + i32.const 20 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find36 - loop $while-continue|037 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find36 - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|037 - end - end + i32.ne + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + 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 @@ -14114,1211 +12480,1323 @@ i32.const 1 i32.add local.set $0 - br $for-loop|4 + br $for-loop|3 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size 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 $3 - call $~lib/map/Map#clear - local.get $3 - i32.load $0 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 20 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i64) - (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store $0 - 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 $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.tee $4 - local.get $0 - i32.load $0 offset=16 - i32.const 4 - i32.shl - i32.add - local.set $8 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $8 - i32.ne - if - local.get $4 - i32.load $0 offset=12 - i32.const 1 - i32.and - i32.eqz + i32.const 0 + local.set $0 + loop $for-loop|4 + local.get $0 + i32.const 50 + i32.lt_s if - local.get $2 - local.get $4 - i64.load $0 - local.tee $6 - i64.store $0 - local.get $2 - local.get $4 - i32.load $0 offset=8 - i32.store $0 offset=8 - local.get $2 + global.get $~lib/memory/__stack_pointer local.get $5 - local.get $1 - local.get $6 - 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 $6 - 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 $9 - local.get $9 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $9 - local.get $9 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $9 - local.get $9 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.store $0 offset=4 + local.get $5 + local.get $0 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + local.get $0 + i32.const 10 i32.add - local.tee $9 - i32.load $0 - i32.store $0 offset=12 - local.get $9 - local.get $2 - i32.store $0 - local.get $2 - i32.const 16 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $0 + 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 $0 + i32.const 1 i32.add - local.set $2 + local.set $0 + br $for-loop|4 end - local.get $4 - i32.const 16 - i32.add - local.set $4 - br $while-continue|0 end - end - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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 $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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 + return end - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $7 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) - local.get $0 - i32.load $0 + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $0 - i32.const 15 - i32.shr_u + i32.store $0 local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u + i32.load $0 + local.set $4 + local.get $3 local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u + i32.store $0 + local.get $4 + local.get $2 local.get $0 - i32.xor + i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add i32.load $0 local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + loop $while-continue|0 + local.get $0 + if local.get $0 + i32.load $0 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 $0 + i32.eq + end if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + return end + local.get $2 + i32.const -2 + i32.and + local.set $0 + br $while-continue|0 end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) - (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 130 - 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 + i32.const 34688 + i32.const 34736 i32.const 1 - call $~lib/array/ensureCapacity - local.get $0 - local.get $3 - i32.store $0 offset=12 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 local.get $2 - i64.store $0 - ) - (func $~lib/map/Map#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) - (local $2 i32) - (local $3 i32) local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - 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 $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $2 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - return - end - local.get $2 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.or - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 - local.tee $3 - local.get $3 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 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 $std/map/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (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 i64) + (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) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $10 - local.get $0 - i32.store $0 - local.get $0 - if - local.get $10 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $10 - i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $10 - local.get $0 - i32.store $0 offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + 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 $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $7 + local.get $0 + i32.load $0 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 $7 + i32.ne if - local.get $10 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $10 - i32.const 4 - i32.store $0 offset=12 - local.get $10 - i32.const 0 - i32.store $0 offset=16 - local.get $10 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $10 - i32.store $0 - loop $for-loop|0 - local.get $4 - i64.const 100 - i64.lt_s + local.get $7 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz if - local.get $10 + local.get $2 + local.get $7 i32.load $0 - local.get $10 + local.tee $8 + i32.store $0 + local.get $2 + local.get $7 i32.load $0 offset=4 - local.get $4 - 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 $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $1 + local.get $8 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 + local.tee $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add + local.tee $8 i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $4 - local.get $4 - i32.wrap_i64 - local.tee $0 - i32.const 10 + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 + local.get $2 + i32.const 12 i32.add - call $~lib/map/Map#set - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 + local.set $2 + end + local.get $7 + i32.const 12 + i32.add + local.set $7 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $0 + local.get $6 + i32.store $0 + local.get $6 + if + local.get $0 + local.get $6 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $3 + i32.const 15 + i32.shr_u + local.get $3 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + i32.const 13 + i32.shr_u + local.get $3 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + i32.const 16 + i32.shr_u + local.get $3 + i32.xor + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - 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 $0 + i32.store $0 offset=4 local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.store $0 offset=4 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 + i32.load $0 offset=4 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|05 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|05 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 - i32.wrap_i64 - 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 $4 - i64.const 1 - i64.add - local.set $4 - br $for-loop|0 + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - local.get $10 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + i32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 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 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + 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 $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 i64.const 0 - local.set $4 - loop $for-loop|1 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.tee $7 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 local.get $4 - i64.const 100 - i64.lt_s + local.get $0 + i32.load $0 offset=12 + i32.eq if - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 + i32.store $0 + local.get $3 local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.store $0 offset=4 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find8 - loop $while-continue|012 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find8 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|012 - end - end - i32.const 0 - local.set $0 - end + i32.load $0 offset=20 + local.set $4 + local.get $3 local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 - i32.wrap_i64 - 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 $10 - local.get $4 + i32.store $0 offset=4 local.get $4 - i32.wrap_i64 - local.tee $0 - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 + i32.load $0 offset=12 + i32.const 3 i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 + local.tee $3 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $10 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 12 i32.mul - local.tee $0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 + i32.store $0 offset=8 local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.load $0 offset=16 + i32.const 12 + i32.mul i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find15 - loop $while-continue|019 - local.get $0 + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|0 + local.get $5 + local.get $9 + i32.ne + if + local.get $5 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find15 - local.get $1 - i32.const -2 + local.get $3 + local.get $5 + i32.load $0 + local.tee $11 + i32.store $0 + local.get $3 + local.get $5 + i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $3 + local.get $10 + local.get $6 + local.get $11 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $11 + i32.const 15 + i32.shr_u + local.get $11 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $11 + i32.const 13 + i32.shr_u + local.get $11 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $11 + i32.const 16 + i32.shr_u + local.get $11 + i32.xor i32.and - local.set $0 - br $while-continue|019 + i32.const 2 + i32.shl + i32.add + local.tee $11 + i32.load $0 + i32.store $0 offset=8 + local.get $11 + local.get $3 + i32.store $0 + local.get $3 + i32.const 12 + i32.add + local.set $3 end + local.get $5 + i32.const 12 + i32.add + local.set $5 + br $while-continue|0 end - i32.const 0 - local.set $0 end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.eqz + i32.store $0 offset=8 + local.get $3 + local.get $10 + i32.store $0 offset=12 + local.get $0 + local.get $10 + i32.store $0 + local.get $10 if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $10 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $10 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 local.get $4 - call $~lib/map/Map#get + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.store $0 offset=8 local.get $4 - i32.wrap_i64 - 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 $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - i64.const 1 - i64.add - local.set $4 - br $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $8 + i32.store $0 offset=12 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer end - end - local.get $10 - i32.load $0 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 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $4 + local.get $1 + i32.store $0 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + local.get $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 end global.get $~lib/memory/__stack_pointer - local.tee $8 - i32.const 4 - i32.sub + i32.const 12 + i32.add global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.const -1028477379 + i32.mul + i32.const 374761397 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $1 + i32.const 15 + i32.shr_u + local.get $1 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $1 + i32.const 13 + i32.shr_u + local.get $1 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $1 + i32.const 16 + i32.shr_u + local.get $1 + i32.xor + call $~lib/map/Map#find + local.tee $1 + i32.eqz + if global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 - i32.store $0 - local.get $10 - i32.load $0 offset=8 - local.set $5 - local.get $10 - i32.load $0 offset=16 - local.set $3 - local.get $6 i32.const 8 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer + return + end + local.get $1 + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $1 + local.get $1 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 16 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $3 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $3 - local.get $3 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 - local.get $2 local.get $0 i32.store $0 local.get $0 - if - local.get $2 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $0 - i32.store $0 offset=4 - local.get $2 + i32.load $0 offset=20 + local.set $3 local.get $1 - i32.store $0 offset=8 - local.get $2 - local.get $3 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $2 + local.get $0 i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|03 - local.get $3 - local.get $9 - i32.gt_s - if - local.get $5 - local.get $9 - i32.const 4 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $0 - local.get $1 - i64.load $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $9 - i32.const 1 - i32.add - local.set $9 - br $for-loop|03 - end - end - local.get $2 + local.get $3 local.get $0 + i32.load $0 offset=12 i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 - local.get $0 - i32.store $0 offset=12 + end + if global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $0 + i32.store $0 + local.get $0 local.get $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - call $~lib/map/Map#values - local.tee $9 - i32.store $0 offset=8 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (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 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.set $1 + i32.const 1896 + i32.lt_s + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -15326,630 +13804,692 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $5 i64.const 0 i64.store $0 - local.get $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 i32.const 24 - i32.const 23 + i32.const 18 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $8 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $13 - local.get $0 + local.get $5 + i32.store $0 offset=8 + local.get $8 + local.get $5 i32.store $0 - local.get $0 + local.get $5 if - local.get $13 - local.get $0 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 3 i32.store $0 offset=4 - i32.const 96 + local.get $5 + local.get $8 + i32.store $0 offset=4 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $13 - local.get $0 + local.get $5 i32.store $0 offset=8 - local.get $0 + local.get $8 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $13 - local.get $0 + local.get $8 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $5 + local.get $8 + i32.store $0 offset=4 + local.get $8 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $13 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $8 - i32.store $0 offset=16 - loop $for-loop|2 - local.get $16 - local.get $2 - i32.load $0 offset=12 - i32.lt_s + local.get $4 + local.get $8 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u if - local.get $16 - local.get $2 - i32.load $0 offset=12 - i32.ge_u + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=4 - local.get $16 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $7 - local.get $9 - local.get $16 - call $~lib/array/Array#__get - local.set $6 - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $7 - 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 $7 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 10 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 - i32.and - i32.const 2 - i32.shl + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find37 - loop $while-continue|041 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $7 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find37 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|041 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 9 + 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 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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|1 + local.get $1 + i32.const 100 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 31 + i32.const 15 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $6 - i32.const 20 - i32.sub - i64.extend_i32_s - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find44 - loop $while-continue|048 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find44 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|048 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 32 + i32.const 18 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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $7 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 20 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $7 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 + 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|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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.tee $9 + local.get $8 + i32.store $0 offset=4 + local.get $9 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $8 + i32.store $0 + local.get $8 + i32.load $0 offset=16 + local.set $10 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=12 + local.get $10 + i32.const 268435455 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $10 + local.get $10 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $6 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $5 + local.get $11 + i32.store $0 + local.get $11 + if + local.get $5 + local.get $11 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $11 + i32.store $0 offset=4 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $6 + i32.store $0 offset=8 + local.get $7 + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $10 + i32.store $0 offset=12 + local.get $7 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $5 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $10 + i32.lt_s + if + local.get $4 + local.get $2 + i32.const 12 i32.mul 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 - local.tee $5 - local.get $13 - i32.load $0 offset=4 + local.tee $1 + i32.load $0 offset=8 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|055 - local.get $0 - if - local.get $0 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $7 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|055 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + i32.eqz if - local.get $0 - local.get $7 - i64.store $0 offset=8 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $12 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $15 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $17 - local.get $13 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $14 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $14 - local.get $17 - i32.ne - if - local.get $17 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $17 - i64.load $0 - local.tee $4 - i64.store $0 - local.get $0 - local.get $17 - i64.load $0 offset=8 - i64.store $0 offset=8 - local.get $0 - local.get $11 - local.get $12 - local.get $4 - 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 $4 - 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 $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 offset=16 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.const 24 - i32.add - local.set $0 - end - local.get $17 - i32.const 24 - i32.add - local.set $17 - br $while-continue|00 - end - end - local.get $13 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $13 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $12 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $15 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $1 + local.get $5 i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $0 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $1 + local.get $5 local.get $0 - i32.const 24 - i32.mul - i32.add - local.tee $1 - local.get $7 - i64.store $0 local.get $1 - local.get $7 - i64.store $0 offset=8 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $1 - local.get $13 - i32.load $0 - local.get $5 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 i32.load $0 - i32.store $0 offset=16 + call $~lib/array/Array#__set local.get $0 - local.get $1 - i32.store $0 + i32.const 1 + i32.add + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $0 + 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 $9 + local.get $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $8 + i32.store $0 offset=4 + local.get $0 + local.get $8 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $1 + 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 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 24 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.store $0 offset=4 + local.get $4 + local.get $2 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 offset=8 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 4 + i32.store $0 offset=12 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=16 + local.get $4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=20 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $1 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $5 + i32.store $0 + local.get $3 + local.get $5 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $5 + i32.store $0 + local.get $5 + i32.load $0 offset=4 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + local.get $4 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 local.get $8 local.get $6 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $4 i32.const 20 i32.sub - local.tee $0 - local.get $0 + 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 $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + local.get $6 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $4 + i32.const 20 + i32.sub + local.tee $4 + local.get $4 call $~lib/map/Map#set - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|2 end end - local.get $13 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -15960,8 +14500,11 @@ call $~lib/builtins/abort unreachable end - local.get $8 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -15972,333 +14515,456 @@ call $~lib/builtins/abort unreachable end - i64.const 0 - local.set $4 + i32.const 0 + local.set $1 loop $for-loop|3 - local.get $4 - i64.const 50 - i64.lt_s + local.get $1 + i32.const 50 + i32.lt_u if - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find76 - loop $while-continue|080 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find76 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|080 - end - end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.const 20 + i32.add + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 41 + i32.const 44 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 - i32.wrap_i64 - i32.const 20 + local.get $1 + i32.const 1 i32.add - i32.ne + local.set $1 + br $for-loop|3 + end + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 $1 + loop $for-loop|4 + local.get $1 + i32.const 50 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 42 + i32.const 50 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $10 - local.get $4 - call $~lib/map/Map#delete - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + local.get $1 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find83 - loop $while-continue|087 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find83 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|087 - end - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 - i32.const 44 + i32.const 54 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $4 - i64.const 1 - i64.add - local.set $4 - br $for-loop|3 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|4 end end - local.get $10 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size i32.const 50 i32.ne if - i32.const 0 - i32.const 1568 - i32.const 46 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - local.set $4 - loop $for-loop|4 - local.get $4 - i64.const 50 - i64.lt_s - if - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 + 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 $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:size + 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 + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 offset=12 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl + i64.load $0 + i64.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find92 - loop $while-continue|096 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find92 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|096 - end - end - i32.const 0 - local.set $0 - end + global.set $~lib/memory/__stack_pointer local.get $0 - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $4 - local.get $4 + 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/map/Map#has (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $7 + i32.store $0 + 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 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $0 + i32.load $0 offset=16 + i32.const 4 + 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 $0 offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $8 + i64.load $0 + local.tee $6 + i64.store $0 + local.get $2 + local.get $8 + i32.load $0 offset=8 + i32.store $0 offset=8 + local.get $2 + local.get $7 + local.get $1 + local.get $6 i32.wrap_i64 - local.tee $0 - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $0 i32.const -1028477379 i32.mul i32.const 374761401 @@ -16307,7 +14973,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $4 + local.get $6 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16318,22 +14984,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $9 + local.get $9 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $9 + local.get $9 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $9 + local.get $9 i32.const 16 i32.shr_u i32.xor @@ -16341,181 +15007,578 @@ i32.const 2 i32.shl i32.add + local.tee $9 i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find99 - loop $while-continue|0103 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find99 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0103 - end - end - i32.const 0 - local.set $0 - end + i32.store $0 offset=12 + local.get $9 + local.get $2 + i32.store $0 + local.get $2 + i32.const 16 + i32.add + local.set $2 + end + local.get $8 + i32.const 16 + i32.add + local.set $8 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $3 + i32.const 15 + i32.shr_u + local.get $3 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + i32.const 13 + i32.shr_u + local.get $3 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + i32.const 16 + i32.shr_u + local.get $3 + i32.xor + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=8 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $4 - call $~lib/map/Map#delete - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $0 + i32.store $0 offset=4 local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.store $0 offset=4 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 + i32.load $0 offset=4 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find106 - loop $while-continue|0110 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find106 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0110 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - i32.const 0 - i32.const 1568 - i32.const 54 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i64.const 1 - i64.add - local.set $4 - br $for-loop|4 + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - local.get $10 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $3 + local.get $1 + i64.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 offset=20 - i32.const 50 - i32.ne + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $2 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + 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 $0 offset=8 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 56 - i32.const 3 + i32.const 1248 + i32.const 1728 + i32.const 130 + i32.const 22 call $~lib/builtins/abort unreachable end - local.get $10 - call $~lib/map/Map#clear - local.get $10 - i32.load $0 offset=20 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $3 + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#values (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=16 + local.tee $4 + call $~lib/array/Array#constructor + local.tee $5 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s 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.const 4 + i32.shl + i32.add + local.tee $0 + i32.load $0 offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + local.get $1 + local.get $0 + i32.load $0 offset=8 + 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 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return end - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 $5 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -16525,7 +15588,7 @@ (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16544,6 +15607,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -16551,7 +15617,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -16559,21 +15625,28 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 - i32.const 4 - i32.shl + local.tee $5 + i32.const 24 + i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 local.get $0 i32.load $0 offset=16 - i32.const 4 - i32.shl + i32.const 24 + i32.mul i32.add - local.set $8 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 @@ -16581,23 +15654,23 @@ local.get $8 i32.ne if - local.get $4 - i32.load $0 offset=12 + local.get $8 + i32.load $0 offset=16 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 + local.get $8 i64.load $0 local.tee $6 i64.store $0 local.get $2 - local.get $4 - i32.load $0 offset=8 - i32.store $0 offset=8 + local.get $8 + i64.load $0 offset=8 + i64.store $0 offset=8 local.get $2 - local.get $5 + local.get $7 local.get $1 local.get $6 i32.wrap_i64 @@ -16645,34 +15718,51 @@ i32.add local.tee $9 i32.load $0 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $9 local.get $2 i32.store $0 local.get $2 - i32.const 16 + i32.const 24 i32.add local.set $2 end - local.get $4 - i32.const 16 + local.get $8 + i32.const 24 i32.add - local.set $4 + local.set $8 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -16682,118 +15772,335 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - local.get $7 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#get (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) - (local $2 i32) + local.tee $1 local.get $0 - i32.load $0 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=4 + local.get $5 + i32.store $0 offset=12 local.get $1 - 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 + i32.store $0 offset=8 local.get $1 - 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 $0 - i32.const 15 - i32.shr_u local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u + i32.store $0 offset=12 local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i64_i64_=>_none) (param $0 i32) (param $1 i64) (param $2 i64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + 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 $1 + 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 $4 + i32.const 15 + i32.shr_u + local.get $4 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $4 + i32.const 13 + i32.shr_u + local.get $4 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $4 + i32.const 16 + i32.shr_u + local.get $4 + i32.xor + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 + if + local.get $3 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + i64.load $0 + i64.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $5 + i32.const -2 + i32.and + 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 + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + i64.store $0 offset=8 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 local.get $0 i32.load $0 offset=12 - local.tee $2 - i32.const 1 - i32.and + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s if (result i32) - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer local.get $0 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 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.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $5 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $5 + local.get $6 + i32.const 24 + i32.mul + i32.add + local.tee $5 + local.get $1 + i64.store $0 + local.get $5 + local.get $2 + i64.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $6 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $6 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=16 + local.get $0 + local.get $5 + i32.store $0 end - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $0 - i32.eqz + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 offset=8 - ) - (func $~lib/map/Map#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 + local.get $1 local.get $1 i32.wrap_i64 i32.const -1028477379 @@ -16834,43 +16141,14 @@ i32.shr_u local.get $2 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/map/Map#find + local.tee $2 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $2 @@ -16879,31 +16157,54 @@ i32.const 1 i32.or i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -16915,32 +16216,122 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - call $~lib/map/Map#rehash + i32.store $0 + local.get $0 + local.get $3 + 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#clear (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/map/testNumeric (type $none_=>_none) + (func $std/map/testNumeric (type $none_=>_none) (local $0 i32) - (local $1 i32) + (local $1 i64) (local $2 i32) (local $3 i32) - (local $4 i64) + (local $4 i32) (local $5 i32) (local $6 i32) - (local $7 i64) + (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) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner1 @@ -16949,12 +16340,12 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $4 i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 - local.get $1 - i32.const 8 + local.get $4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16962,148 +16353,98 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $5 i64.const 0 i64.store $0 - local.get $0 - i32.const 24 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 i32.const 24 + i32.const 21 call $~lib/rt/itcms/__new local.tee $10 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $5 + i32.store $0 offset=8 local.get $10 - local.get $0 + local.get $5 i32.store $0 - local.get $0 + local.get $5 if local.get $10 - local.get $0 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $10 + i32.store $0 offset=4 local.get $10 i32.const 3 i32.store $0 offset=4 + local.get $5 + local.get $10 + i32.store $0 offset=4 i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 + local.get $5 + i32.store $0 offset=8 local.get $10 - local.get $0 + local.get $5 i32.store $0 offset=8 - local.get $0 + local.get $5 if local.get $10 - local.get $0 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $10 + i32.store $0 offset=4 local.get $10 i32.const 4 i32.store $0 offset=12 + local.get $5 + local.get $10 + i32.store $0 offset=4 local.get $10 i32.const 0 i32.store $0 offset=16 + local.get $5 + local.get $10 + i32.store $0 offset=4 local.get $10 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $4 local.get $10 i32.store $0 loop $for-loop|0 - local.get $4 + local.get $1 i64.const 100 - i64.lt_u + i64.lt_s if + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -17112,92 +16453,22 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + local.get $1 i32.wrap_i64 - local.tee $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|05 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|05 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -17207,10 +16478,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.wrap_i64 i32.const 10 i32.add @@ -17223,15 +16497,18 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $1 i64.const 1 i64.add - local.set $4 + local.set $1 br $for-loop|0 end end + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -17243,91 +16520,18 @@ unreachable end i64.const 0 - local.set $4 + local.set $1 loop $for-loop|1 - local.get $4 + local.get $1 i64.const 100 - i64.lt_u + i64.lt_s if + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find8 - loop $while-continue|012 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find8 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|012 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -17337,10 +16541,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.wrap_i64 i32.const 10 i32.add @@ -17353,92 +16560,22 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + local.get $1 i32.wrap_i64 - local.tee $0 i32.const 20 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find15 - loop $while-continue|019 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find15 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|019 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -17448,10 +16585,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.wrap_i64 i32.const 20 i32.add @@ -17464,15 +16604,18 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $1 i64.const 1 i64.add - local.set $4 + local.set $1 br $for-loop|1 end end + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -17484,8 +16627,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 - i32.const 4 + local.tee $4 + local.get $10 + i32.store $0 offset=4 + local.get $4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17493,17 +16639,23 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $10 i32.store $0 local.get $10 i32.load $0 offset=8 - local.set $5 + local.set $6 + local.get $5 + local.get $10 + i32.store $0 local.get $10 i32.load $0 offset=16 - local.set $3 - local.get $6 - i32.const 8 + local.set $11 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17511,28 +16663,44 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $7 i64.const 0 i64.store $0 - local.get $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 i32.const 16 - i32.const 25 + i32.const 22 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $7 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=4 - local.get $2 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=8 - local.get $2 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=12 - local.get $3 + local.get $11 i32.const 134217727 i32.gt_u if @@ -17545,64 +16713,81 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $3 - local.get $3 + local.get $11 + local.get $11 i32.const 8 i32.le_u select i32.const 3 i32.shl - local.tee $1 + local.tee $8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $12 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $7 + local.get $12 i32.store $0 - local.get $0 + local.get $12 if - local.get $2 - local.get $0 + local.get $7 + local.get $12 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $2 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $12 + i32.store $0 offset=4 + local.get $9 + local.get $7 i32.store $0 offset=4 - local.get $2 - local.get $1 + local.get $7 + local.get $8 i32.store $0 offset=8 - local.get $2 - local.get $3 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $11 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $9 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - local.get $2 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|03 - local.get $3 - local.get $9 - i32.gt_s + local.get $5 + local.get $7 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $11 + i32.lt_s if - local.get $5 - local.get $9 + local.get $6 + local.get $2 i32.const 4 i32.shl i32.add - local.tee $1 + local.tee $5 i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - local.get $1 + local.get $5 i64.load $0 call $~lib/array/Array#__set local.get $0 @@ -17610,37 +16795,39 @@ i32.add local.set $0 end - local.get $9 + local.get $2 i32.const 1 i32.add - local.set $9 - br $for-loop|03 + local.set $2 + br $for-loop|01 end end - local.get $2 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $2 - i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $10 + i32.store $0 offset=4 + local.get $0 local.get $10 call $~lib/map/Map#values - local.tee $9 - i32.store $0 offset=8 + local.tee $0 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -17648,76 +16835,121 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $4 i64.const 0 i64.store $0 - local.get $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 i32.const 24 - i32.const 26 + i32.const 23 call $~lib/rt/itcms/__new - local.tee $13 + local.tee $4 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $13 - local.get $0 + local.get $5 + i32.store $0 offset=8 + local.get $4 + local.get $5 i32.store $0 - local.get $0 + local.get $5 if - local.get $13 - local.get $0 + local.get $4 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 3 i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=4 i32.const 96 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $0 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $13 - local.get $0 + local.get $5 i32.store $0 offset=8 - local.get $0 + local.get $4 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $13 - local.get $0 + local.get $4 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $13 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 4 i32.store $0 offset=12 - local.get $13 + local.get $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 i32.store $0 offset=16 - local.get $13 + local.get $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $13 - i32.store $0 offset=12 + local.get $2 + local.get $4 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer call $~lib/map/Map#constructor - local.tee $8 - i32.store $0 offset=16 + local.tee $2 + i32.store $0 offset=20 loop $for-loop|2 - local.get $16 - local.get $2 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $16 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $7 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $7 + i32.store $0 + local.get $3 + local.get $7 i32.load $0 offset=12 i32.ge_u if @@ -17728,97 +16960,35 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $7 + i32.store $0 + local.get $7 i32.load $0 offset=4 - local.get $16 + local.get $3 i32.const 3 i32.shl i32.add i64.load $0 - local.set $7 - local.get $9 - local.get $16 - call $~lib/array/Array#__get - local.set $6 - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $7 - 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 $7 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find37 - loop $while-continue|041 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $7 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find37 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|041 - end - end - i32.const 0 - local.set $0 - end + local.set $1 + local.get $5 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -17828,89 +16998,15 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $6 + local.get $5 i32.const 20 i32.sub i64.extend_i32_s - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find44 - loop $while-continue|048 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find44 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|048 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -17921,357 +17017,34 @@ unreachable end 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 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $13 - i32.load $0 - local.get $7 - 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 $7 - 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 $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 - local.tee $5 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|055 - local.get $0 - if - local.get $0 - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $7 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|055 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - local.get $0 - local.get $7 - i64.store $0 offset=8 - else - local.get $13 - i32.load $0 offset=16 - local.get $13 - i32.load $0 offset=12 - i32.eq - if - local.get $13 - i32.load $0 offset=20 - local.get $13 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $13 - i32.load $0 offset=4 - else - local.get $13 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $12 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $11 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $15 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 - i32.store $0 offset=4 - local.get $13 - i32.load $0 offset=8 - local.tee $17 - local.get $13 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $14 - local.get $1 - local.set $0 - loop $while-continue|00 - local.get $14 - local.get $17 - i32.ne - if - local.get $17 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $17 - i64.load $0 - local.tee $4 - i64.store $0 - local.get $0 - local.get $17 - i64.load $0 offset=8 - i64.store $0 offset=8 - local.get $0 - local.get $11 - local.get $12 - local.get $4 - 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 $4 - 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 $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - local.get $3 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 offset=16 - local.get $3 - local.get $0 - i32.store $0 - local.get $0 - i32.const 24 - i32.add - local.set $0 - end - local.get $17 - i32.const 24 - i32.add - local.set $17 - br $while-continue|00 - end - end - local.get $13 - local.get $11 - i32.store $0 - local.get $11 - if - local.get $13 - local.get $11 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $12 - i32.store $0 offset=4 - local.get $13 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $13 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $13 - local.get $15 - i32.store $0 offset=12 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $13 - i32.load $0 offset=8 - local.tee $1 - i32.store $0 - local.get $13 - local.get $13 - i32.load $0 offset=16 - local.tee $0 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $1 - local.get $0 - i32.const 24 - i32.mul - i32.add - local.tee $1 - local.get $7 - i64.store $0 - local.get $1 - local.get $7 - i64.store $0 offset=8 - local.get $13 - local.get $13 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $1 - local.get $13 - i32.load $0 - local.get $5 - local.get $13 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=16 - local.get $0 - local.get $1 - i32.store $0 - end + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $1 + local.get $1 + call $~lib/map/Map#set global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $6 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $5 i32.const 20 i32.sub - local.tee $0 - local.get $0 + local.tee $5 + local.get $5 call $~lib/map/Map#set - local.get $16 + local.get $3 i32.const 1 i32.add - local.set $16 + local.set $3 br $for-loop|2 end end - local.get $13 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -18282,8 +17055,11 @@ call $~lib/builtins/abort unreachable end - local.get $8 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -18295,91 +17071,18 @@ unreachable end i64.const 0 - local.set $4 + local.set $1 loop $for-loop|3 - local.get $4 + local.get $1 i64.const 50 - i64.lt_u + i64.lt_s if + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find76 - loop $while-continue|080 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find76 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|080 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -18389,10 +17092,13 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#get - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 i32.wrap_i64 i32.const 20 i32.add @@ -18405,201 +17111,61 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#delete + i32.store $0 offset=4 local.get $10 - i32.load $0 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find83 - loop $while-continue|087 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find83 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|087 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + i32.store $0 offset=4 + local.get $10 + 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 - end - local.get $4 - i64.const 1 - i64.add - local.set $4 - br $for-loop|3 - end - end - local.get $10 - i32.load $0 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 - i64.const 0 - local.set $4 - loop $for-loop|4 - local.get $4 - i64.const 50 - i64.lt_u - if - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find92 - loop $while-continue|096 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find92 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|096 - end - end - i32.const 0 - local.set $0 + unreachable end - local.get $0 + 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 $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -18608,92 +17174,22 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - local.get $4 + i32.store $0 offset=4 + local.get $10 + local.get $1 + local.get $1 i32.wrap_i64 - local.tee $0 i32.const 10 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $0 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.get $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find99 - loop $while-continue|0103 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find99 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0103 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -18703,88 +17199,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $4 - call $~lib/map/Map#delete + i32.store $0 offset=4 local.get $10 - i32.load $0 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=4 - local.get $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find106 - loop $while-continue|0110 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $4 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find106 - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0110 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -18793,15 +17219,18 @@ call $~lib/builtins/abort unreachable end - local.get $4 + local.get $1 i64.const 1 i64.add - local.set $4 + local.set $1 br $for-loop|4 end end + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -18812,10 +17241,16 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 local.get $10 call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size if i32.const 0 i32.const 1568 @@ -18824,30 +17259,184 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - return + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#find (type $i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + i64.eq + end + 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 end - i32.const 34688 - i32.const 34736 - i32.const 1 - 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 0 ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/map/Map#has (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i32) + (local $6 i64) (local $7 i32) - (local $8 f32) + (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18866,6 +17455,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -18873,7 +17465,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -18881,74 +17473,92 @@ i32.shl i32.const 3 i32.div_s - local.tee $6 - i32.const 12 - i32.mul + local.tee $5 + i32.const 4 + i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 local.get $0 i32.load $0 offset=16 - i32.const 12 - i32.mul + i32.const 4 + i32.shl i32.add - local.set $7 + local.set $4 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $7 + local.get $8 i32.ne if - local.get $4 - i32.load $0 offset=8 + local.get $8 + i32.load $0 offset=12 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - f32.load $0 - local.tee $8 - f32.store $0 + local.get $8 + i64.load $0 + local.tee $6 + i64.store $0 local.get $2 - local.get $4 - i32.load $0 offset=4 - i32.store $0 offset=4 + local.get $8 + i32.load $0 offset=8 + i32.store $0 offset=8 local.get $2 - local.get $5 + local.get $7 local.get $1 - local.get $8 - i32.reinterpret_f32 + local.get $6 + 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 $6 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -18956,34 +17566,51 @@ i32.add local.tee $9 i32.load $0 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $9 local.get $2 i32.store $0 local.get $2 - i32.const 12 + i32.const 16 i32.add local.set $2 end - local.get $4 - i32.const 12 + local.get $8 + i32.const 16 i32.add - local.set $4 + local.set $8 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -18993,659 +17620,456 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_f32_=>_i32) (param $0 i32) (param $1 f32) (result i32) - (local $2 i32) + (func $~lib/map/Map#set (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.reinterpret_f32 + local.get $1 + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 + i32.const 374761401 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - f32.load $0 - local.get $1 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=4 - ) - (func $~lib/map/Map#delete (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 local.get $1 - i32.reinterpret_f32 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $3 i32.const 15 i32.shr_u + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $3 i32.const 13 i32.shr_u + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $3 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $1 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - return - end - local.get $2 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load $0 offset=20 - local.tee $3 local.get $3 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 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 $std/map/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (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 f32) - (local $16 i32) - (local $17 i32) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i64.const 0 - i64.store $0 - local.get $4 - i32.const 24 - i32.const 27 - call $~lib/rt/itcms/__new - local.tee $10 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $10 - local.get $4 - i32.store $0 - local.get $4 - if - local.get $10 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $10 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=4 - local.get $10 - local.get $4 + i32.xor + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 i32.store $0 offset=8 - local.get $4 - if - local.get $10 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $10 - i32.const 4 - i32.store $0 offset=12 - local.get $10 - i32.const 0 - i32.store $0 offset=16 - local.get $10 - i32.const 0 - i32.store $0 offset=20 + else global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $10 + local.tee $3 + local.get $0 i32.store $0 - loop $for-loop|0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $3 - f32.const 100 - f32.lt - if - local.get $10 - i32.load $0 - local.get $10 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 - local.get $3 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $3 - local.get $3 - i32.trunc_sat_f32_s - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $10 - i32.load $0 - local.get $10 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 - local.get $3 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|02 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|02 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 $3 - f32.const 1 - f32.add - local.set $3 - br $for-loop|0 + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - local.get $10 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $3 + local.get $1 + i64.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 offset=20 - i32.const 100 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $2 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + 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 $0 offset=8 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $7 + i32.store $0 + 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 24 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $0 + i32.load $0 offset=16 + i32.const 24 + 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 - i32.const 0 - i32.const 1568 - i32.const 11 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f32.const 0 - local.set $3 - loop $for-loop|1 - local.get $3 - f32.const 100 - f32.lt + local.get $8 + i32.load $0 offset=16 + i32.const 1 + i32.and + i32.eqz if - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find4 - loop $while-continue|05 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find4 - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|05 - end - end - i32.const 0 - local.set $2 - end + local.get $8 + i64.load $0 + local.tee $6 + i64.store $0 local.get $2 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $10 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 - local.get $10 - local.get $3 - local.get $3 - i32.trunc_sat_f32_s - i32.const 20 + local.get $8 + i64.load $0 offset=8 + i64.store $0 offset=8 + local.get $2 + local.get $7 + local.get $1 + local.get $6 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 i32.add - call $~lib/map/Map#set - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $3 - i32.reinterpret_f32 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $6 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $2 - local.get $2 + local.tee $9 + local.get $9 i32.const 16 i32.shr_u i32.xor @@ -19653,272 +18077,548 @@ i32.const 2 i32.shl i32.add + local.tee $9 i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find7 - loop $while-continue|08 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find7 - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|08 - end - end - i32.const 0 - local.set $2 - end + i32.store $0 offset=16 + local.get $9 local.get $2 - i32.eqz + i32.store $0 + local.get $2 + i32.const 24 + i32.add + local.set $2 + end + local.get $8 + i32.const 24 + i32.add + local.set $8 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i64_i64_=>_none) (param $0 i32) (param $1 i64) (param $2 i64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + 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 $1 + 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 $4 + i32.const 15 + i32.shr_u + local.get $4 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $4 + i32.const 13 + i32.shr_u + local.get $4 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $4 + i32.const 16 + i32.shr_u + local.get $4 + i32.xor + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + i64.load $0 + i64.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $5 + i32.const -2 + i32.and + local.set $3 + br $while-continue|0 end - local.get $10 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $3 + end + local.get $3 + if + local.get $3 + local.get $2 + i64.store $0 offset=8 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $3 - call $~lib/map/Map#get + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 local.get $3 - i32.trunc_sat_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 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or end - local.get $3 - f32.const 1 - f32.add - local.set $3 - br $for-loop|1 + call $~lib/map/Map#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $5 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $5 + local.get $6 + i32.const 24 + i32.mul + i32.add + local.tee $5 + local.get $1 + i64.store $0 + local.get $5 + local.get $2 + i64.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $6 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $6 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=16 + local.get $0 + local.get $5 + i32.store $0 end - local.get $10 - i32.load $0 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.tee $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + call $~lib/map/Map#find + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $2 + local.get $2 + i32.load $0 offset=12 + i32.const 1 + i32.or + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $2 + local.get $2 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 + i32.div_s i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $2 + else i32.const 0 + end + if + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 - local.get $10 - i32.load $0 offset=8 - local.set $5 - local.get $10 - i32.load $0 offset=16 - local.set $6 - local.get $2 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (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) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $7 - i64.const 0 - i64.store $0 - local.get $7 - i32.const 16 - i32.const 28 - call $~lib/rt/itcms/__new - local.tee $11 - i32.store $0 - local.get $11 - i32.const 0 - i32.store $0 - local.get $11 - i32.const 0 - i32.store $0 offset=4 - local.get $11 - i32.const 0 - i32.store $0 offset=8 - local.get $11 - i32.const 0 - i32.store $0 offset=12 - local.get $6 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $7 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 offset=4 - local.get $11 - local.get $8 - i32.store $0 - local.get $8 - if - local.get $11 - local.get $8 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $11 - local.get $8 - i32.store $0 offset=4 - local.get $11 - local.get $7 - i32.store $0 offset=8 - local.get $11 - local.get $6 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $11 - i32.store $0 - loop $for-loop|00 - local.get $0 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 12 - i32.mul - i32.add - local.tee $2 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - f32.load $0 - local.set $3 - local.get $1 - local.tee $2 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $11 - i32.load $0 offset=12 - i32.ge_u - if - local.get $2 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1728 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $2 - i32.const 1 - i32.add - local.tee $7 - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $11 - local.get $7 - i32.store $0 offset=12 - end - local.get $11 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $3 - f32.store $0 - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|00 - end - end - local.get $11 - local.get $1 - i32.const 2 + local.tee $4 i32.const 0 - call $~lib/array/ensureCapacity - local.get $11 - local.get $1 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 24 + memory.fill $0 local.get $4 - local.get $11 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $10 - call $~lib/map/Map#values - local.tee $12 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19926,588 +18626,698 @@ i32.lt_s br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $5 i64.const 0 i64.store $0 - local.get $1 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + i32.const 24 i32.const 24 - i32.const 29 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $10 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $7 - local.get $1 + local.get $5 + i32.store $0 offset=8 + local.get $10 + local.get $5 i32.store $0 - local.get $1 + local.get $5 if - local.get $7 - local.get $1 + local.get $10 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $10 + i32.store $0 offset=4 + local.get $10 i32.const 3 i32.store $0 offset=4 - i32.const 48 + local.get $5 + local.get $10 + i32.store $0 offset=4 + i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $7 - local.get $1 + local.get $5 i32.store $0 offset=8 - local.get $1 + local.get $10 + local.get $5 + i32.store $0 offset=8 + local.get $5 if - local.get $7 - local.get $1 + local.get $10 + local.get $5 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $10 + i32.store $0 offset=4 + local.get $10 i32.const 4 i32.store $0 offset=12 - local.get $7 + local.get $5 + local.get $10 + i32.store $0 offset=4 + local.get $10 i32.const 0 i32.store $0 offset=16 - local.get $7 + local.get $5 + local.get $10 + i32.store $0 offset=4 + local.get $10 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $5 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - local.get $7 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $13 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|2 + local.get $4 + local.get $10 + i32.store $0 + loop $for-loop|0 local.get $1 - local.get $11 - i32.load $0 offset=12 - i32.lt_s + i64.const 100 + i64.lt_u if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 local.get $1 - local.get $11 - i32.load $0 offset=12 - i32.ge_u + call $~lib/map/Map#has if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 6 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $11 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 local.get $1 - i32.const 2 - i32.shl + local.get $1 + i32.wrap_i64 + i32.const 10 i32.add - f32.load $0 - local.set $3 - local.get $12 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 local.get $1 - call $~lib/array/Array#__get - local.set $14 + 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 $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $3 - i32.reinterpret_f32 - i32.const -1028477379 - i32.mul - i32.const 374761397 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.wrap_i64 + i32.const 10 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 - i32.and - i32.const 2 - i32.shl + i32.ne + if + i32.const 0 + i32.const 1568 + 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 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + 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 $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.wrap_i64 + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find14 - loop $while-continue|015 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find14 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|015 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + local.get $1 + i32.wrap_i64 + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 31 + i32.const 18 i32.const 5 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $14 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.wrap_i64 i32.const 20 - i32.sub - f32.convert_i32_s - local.tee $15 - 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 $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 - i32.and - i32.const 2 - i32.shl i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find17 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - f32.load $0 - local.get $15 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find17 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz + i32.ne if i32.const 0 i32.const 1568 - i32.const 32 + i32.const 19 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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $7 - i32.load $0 - local.get $3 - 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 $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - local.tee $16 - local.get $7 - i32.load $0 offset=4 - i32.and - i32.const 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 $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size + 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.tee $4 + local.get $10 + i32.store $0 offset=4 + local.get $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $10 + i32.store $0 + local.get $10 + i32.load $0 offset=8 + local.set $6 + local.get $5 + local.get $10 + i32.store $0 + local.get $10 + i32.load $0 offset=16 + local.set $11 + local.get $5 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + i32.const 16 + i32.const 25 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=4 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=12 + local.get $11 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $11 + local.get $11 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $12 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $7 + local.get $12 + i32.store $0 + local.get $12 + if + local.get $7 + local.get $12 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $12 + i32.store $0 offset=4 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $8 + i32.store $0 offset=8 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $11 + i32.store $0 offset=12 + local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $7 + i32.store $0 offset=4 + loop $for-loop|01 + local.get $2 + local.get $11 + i32.lt_s + if + local.get $6 + local.get $2 + i32.const 4 i32.shl i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find19 - loop $while-continue|020 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $0 - f32.load $0 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find19 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|020 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + local.tee $5 + i32.load $0 offset=12 + i32.const 1 + i32.and + i32.eqz if - local.get $0 - local.get $3 - f32.store $0 offset=4 - else - local.get $7 - i32.load $0 offset=16 - local.get $7 - i32.load $0 offset=12 - i32.eq - if - local.get $7 - i32.load $0 offset=20 - local.get $7 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $7 - i32.load $0 offset=4 - else - local.get $7 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $8 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $9 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - 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 $2 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=8 - local.tee $4 - local.get $7 - i32.load $0 offset=16 - i32.const 12 - i32.mul - i32.add - local.set $6 - local.get $2 - local.set $0 - loop $while-continue|00 - local.get $4 - local.get $6 - i32.ne - if - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $4 - f32.load $0 - local.tee $15 - f32.store $0 - local.get $0 - local.get $4 - f32.load $0 offset=4 - f32.store $0 offset=4 - local.get $0 - local.get $9 - local.get $8 - local.get $15 - 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 $17 - i32.const 15 - i32.shr_u - local.get $17 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $17 - i32.const 13 - i32.shr_u - local.get $17 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $17 - i32.const 16 - i32.shr_u - local.get $17 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $17 - i32.load $0 - i32.store $0 offset=8 - local.get $17 - local.get $0 - i32.store $0 - local.get $0 - i32.const 12 - i32.add - local.set $0 - end - local.get $4 - i32.const 12 - i32.add - local.set $4 - br $while-continue|00 - end - end - local.get $7 - local.get $9 - i32.store $0 - local.get $9 - if - local.get $7 - local.get $9 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $7 - local.get $8 - i32.store $0 offset=4 - local.get $7 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $7 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $7 - local.get $5 - i32.store $0 offset=12 - local.get $7 - local.get $7 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $7 - i32.load $0 offset=8 - local.tee $0 i32.store $0 local.get $7 - local.get $7 - i32.load $0 offset=16 - local.tee $2 - i32.const 1 - i32.add - i32.store $0 offset=16 local.get $0 - local.get $2 - i32.const 12 - i32.mul - i32.add - local.tee $0 - local.get $3 - f32.store $0 + local.get $5 + i64.load $0 + call $~lib/array/Array#__set local.get $0 - local.get $3 - f32.store $0 offset=4 - local.get $7 - local.get $7 - i32.load $0 offset=20 i32.const 1 i32.add - i32.store $0 offset=20 - local.get $0 - local.get $7 - i32.load $0 - local.get $16 - local.get $7 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $2 - i32.load $0 - i32.store $0 offset=8 - local.get $2 - local.get $0 - i32.store $0 + local.set $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|01 + end + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $0 + 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 $4 + local.get $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $10 + i32.store $0 offset=4 + local.get $0 + local.get $10 + call $~lib/map/Map#values + local.tee $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $2 + 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 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + i32.const 24 + i32.const 26 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 3 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=4 + i32.const 96 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $4 + local.get $5 + i32.store $0 offset=8 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 4 + i32.store $0 offset=12 + local.get $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + i32.store $0 offset=16 + local.get $5 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + i32.store $0 offset=20 + local.get $5 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $2 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $7 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $7 + i32.store $0 + local.get $3 + local.get $7 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $7 + i32.store $0 + local.get $7 + i32.load $0 offset=4 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $1 + local.get $5 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - local.get $14 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $3 + call $~lib/array/Array#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + 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 $10 + i32.store $0 offset=4 + local.get $10 + local.get $5 i32.const 20 i32.sub - local.tee $0 - local.get $0 - call $~lib/map/Map#set + i64.extend_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 + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 local.get $1 + local.get $1 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $5 + i32.const 20 + i32.sub + local.tee $5 + local.get $5 + call $~lib/map/Map#set + local.get $3 i32.const 1 i32.add - local.set $1 + local.set $3 br $for-loop|2 end end - local.get $7 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -20518,8 +19328,11 @@ call $~lib/builtins/abort unreachable end - local.get $13 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -20530,81 +19343,19 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - local.set $3 + i64.const 0 + local.set $1 loop $for-loop|3 - local.get $3 - f32.const 50 - f32.lt + local.get $1 + i64.const 50 + i64.lt_u if + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find24 - loop $while-continue|025 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find24 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|025 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -20614,93 +19365,37 @@ call $~lib/builtins/abort unreachable end - local.get $10 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 - local.get $10 - local.get $3 - call $~lib/map/Map#delete - local.get $10 - i32.load $0 - local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.wrap_i64 + i32.const 20 i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find27 - loop $while-continue|028 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find27 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|028 - end - end + i32.ne + if i32.const 0 - local.set $2 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -20709,15 +19404,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - f32.const 1 - f32.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 $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -20728,81 +19426,19 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - local.set $3 + i64.const 0 + local.set $1 loop $for-loop|4 - local.get $3 - f32.const 50 - f32.lt + local.get $1 + i64.const 50 + i64.lt_u if + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find30 - loop $while-continue|031 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find30 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|031 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -20811,81 +19447,22 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $3 - local.get $3 - i32.trunc_sat_f32_s + i32.store $0 offset=4 + local.get $10 + local.get $1 + local.get $1 + i32.wrap_i64 i32.const 10 i32.add - call $~lib/map/Map#set + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find33 - loop $while-continue|034 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find33 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|034 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -20895,77 +19472,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $10 - local.get $3 - call $~lib/map/Map#delete + i32.store $0 offset=4 local.get $10 - i32.load $0 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer local.get $10 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find36 - loop $while-continue|037 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $3 - f32.eq - end - br_if $__inlined_func$~lib/map/Map#find36 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|037 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -20974,15 +19492,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - f32.const 1 - f32.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 $10 - i32.load $0 offset=20 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -20993,10 +19514,16 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer local.get $10 - call $~lib/map/Map#clear + i32.store $0 offset=4 local.get $10 - i32.load $0 offset=20 + call $~lib/map/Map#get:size if i32.const 0 i32.const 1568 @@ -21006,7 +19533,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -21018,18 +19545,160 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/map/Map#find (type $i32_f32_i32_=>_i32) (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 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + f32.load $0 + f32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/map/Map#has (type $i32_f32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $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 + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) (local $5 i32) (local $6 i32) (local $7 i32) - (local $8 f64) - (local $9 i64) - (local $10 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -21048,6 +19717,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -21055,7 +19727,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -21064,121 +19736,132 @@ i32.const 3 i32.div_s local.tee $6 - i32.const 4 - i32.shl + i32.const 12 + i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $8 local.get $0 i32.load $0 offset=16 - i32.const 4 - i32.shl + i32.const 12 + i32.mul i32.add - local.set $7 + local.set $5 local.get $3 local.set $2 loop $while-continue|0 - local.get $4 - local.get $7 + local.get $5 + local.get $8 i32.ne if - local.get $4 - i32.load $0 offset=12 + local.get $8 + i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 - local.get $4 - f64.load $0 - local.tee $8 - f64.store $0 + local.get $8 + f32.load $0 + local.tee $4 + f32.store $0 local.get $2 - local.get $4 - i32.load $0 offset=8 - i32.store $0 offset=8 + local.get $8 + i32.load $0 offset=4 + i32.store $0 offset=4 local.get $2 - local.get $5 + local.get $7 local.get $1 - local.get $8 - i64.reinterpret_f64 - local.tee $9 - 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 $9 - i64.const 32 - i64.shr_u - i32.wrap_i64 + local.get $4 + 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 $10 - local.get $10 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load $0 - i32.store $0 offset=12 - local.get $10 + i32.store $0 offset=8 + local.get $9 local.get $2 i32.store $0 local.get $2 - i32.const 16 + i32.const 12 i32.add local.set $2 end - local.get $4 - i32.const 16 + local.get $8 + i32.const 12 i32.add - local.set $4 + local.set $8 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -21188,1654 +19871,1651 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $6 i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#get (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) + (func $~lib/map/Map#set (type $i32_f32_i32_=>_none) (param $0 i32) (param $1 f32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - 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 + local.get $1 + 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 $0 + local.tee $3 i32.const 15 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -2048144777 i32.mul - local.tee $0 + local.tee $3 i32.const 13 i32.shr_u - local.get $0 + local.get $3 i32.xor i32.const -1028477379 i32.mul - local.tee $0 + local.tee $3 i32.const 16 i32.shr_u - local.get $0 + local.get $3 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + local.tee $4 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + i32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - if + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=12 - local.tee $3 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - f64.load $0 - local.get $1 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 + i32.shl + i32.const 1 + i32.or end + call $~lib/map/Map#rehash end - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=8 + local.tee $3 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $3 + local.get $6 + i32.const 12 + i32.mul + i32.add + local.tee $3 + local.get $1 + f32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $2 + local.get $5 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 + local.get $4 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 end - local.get $0 - i32.eqz + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#get (type $i32_f32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - i32.const 1616 - i32.const 1680 - i32.const 105 - i32.const 17 + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 offset=8 - ) - (func $~lib/map/Map#delete (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) - (local $2 i32) - (local $3 i64) - (local $4 i32) - local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i64.reinterpret_f64 - local.tee $3 - 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 $3 - i64.const 32 - i64.shr_u - i32.wrap_i64 + local.get $1 + 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 $2 + local.tee $0 + local.get $0 i32.const 15 i32.shr_u - local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $2 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f64.load $0 - local.get $1 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/map/Map#find + local.tee $0 i32.eqz if - return + i32.const 1616 + i32.const 1680 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable end - local.get $2 - local.get $2 - i32.load $0 offset=12 - i32.const 1 - i32.or - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 local.get $0 i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=20 - local.tee $4 - local.get $4 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 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 $std/map/testNumeric (type $none_=>_none) - (local $0 i32) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 f64) - (local $4 i64) + (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) - (local $16 f64) - (local $17 i32) - (local $18 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $2 - i32.const 8 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $5 + local.tee $0 i64.const 0 i64.store $0 - local.get $5 - i32.const 24 - i32.const 30 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 16 + i32.const 28 call $~lib/rt/itcms/__new - local.tee $11 + local.tee $2 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $5 + local.get $2 i32.store $0 offset=4 - local.get $11 - local.get $5 + local.get $2 + i32.const 0 i32.store $0 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + i32.const 268435455 + i32.gt_u if - local.get $11 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $11 - i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $5 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=4 - local.get $11 - local.get $5 + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 i32.store $0 offset=8 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $2 + local.get $7 + i32.store $0 + local.get $7 if - local.get $11 - local.get $5 + local.get $2 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $11 - i32.const 4 - i32.store $0 offset=12 - local.get $11 - i32.const 0 - i32.store $0 offset=16 - local.get $11 - i32.const 0 - i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 local.get $2 - local.get $11 - i32.store $0 - loop $for-loop|0 - local.get $3 - f64.const 100 - f64.lt - if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - if - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - local.get $3 - i32.trunc_sat_f64_s - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find1 - loop $while-continue|05 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find1 - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|05 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 - end - local.get $3 - f64.const 1 - f64.add - local.set $3 - br $for-loop|0 - end - end - local.get $11 - i32.load $0 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 $3 - loop $for-loop|1 - local.get $3 - f64.const 100 - f64.lt - if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + i32.store $0 offset=4 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + if local.get $4 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 + local.get $5 + i32.const 12 i32.mul i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor + local.tee $7 + i32.load $0 offset=8 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find8 - loop $while-continue|012 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find8 - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|012 - end - end - i32.const 0 - local.set $2 - end - local.get $2 i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 + local.get $0 + local.tee $1 + i32.const 1 + i32.add + local.set $0 + local.get $7 + f32.load $0 + local.set $3 + local.get $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 i32.const 0 - i32.const 1568 - i32.const 15 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 - local.get $11 - local.get $3 - local.get $3 - i32.trunc_sat_f64_s - i32.const 20 - i32.add - call $~lib/map/Map#set - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - local.get $2 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find15 - loop $while-continue|019 - local.get $2 + i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s if - local.get $2 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find15 - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|019 + i32.const 1248 + i32.const 1728 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $7 + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $7 + i32.store $0 offset=12 end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 18 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_f64_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 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + f32.store $0 + local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end - local.get $3 - f64.const 1 - f64.add - local.set $3 - br $for-loop|1 - end - end - local.get $11 - i32.load $0 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.tee $5 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 + local.get $2 i32.store $0 - local.get $11 - i32.load $0 offset=8 - local.set $6 - local.get $11 - i32.load $0 offset=16 - local.set $7 local.get $2 + local.get $0 + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.sub + i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#set (type $i32_f32_f32_=>_none) (param $0 i32) (param $1 f32) (param $2 f32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 f32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $8 + local.tee $3 i64.const 0 i64.store $0 - local.get $8 - i32.const 16 - i32.const 31 - call $~lib/rt/itcms/__new - local.tee $12 - i32.store $0 - local.get $12 - i32.const 0 - i32.store $0 - local.get $12 - i32.const 0 - i32.store $0 offset=4 - local.get $12 + local.get $3 i32.const 0 i32.store $0 offset=8 - local.get $12 - i32.const 0 - i32.store $0 offset=12 - local.get $7 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $7 - local.get $7 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store $0 offset=4 - local.get $12 - local.get $9 + local.get $3 + local.get $0 i32.store $0 - local.get $9 - if - local.get $12 - local.get $9 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $12 - local.get $9 - i32.store $0 offset=4 - local.get $12 - local.get $8 - i32.store $0 offset=8 - local.get $12 - local.get $7 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + local.get $1 + local.get $1 + i32.reinterpret_f32 + i32.const -1028477379 + i32.mul + i32.const 374761397 i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $12 - i32.store $0 - loop $for-loop|03 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $3 + local.get $3 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + local.get $3 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + local.get $3 + i32.const 16 + i32.shr_u + i32.xor + local.tee $7 + call $~lib/map/Map#find + local.tee $3 + if + local.get $3 + local.get $2 + f32.store $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - local.get $7 - i32.lt_s + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq if - local.get $6 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $4 local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 1 + i32.add + local.tee $3 + i32.const 2 i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $11 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $8 + i32.const 12 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $0 + i32.load $0 offset=16 + i32.const 12 + i32.mul i32.add - local.tee $2 - i32.load $0 offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - f64.load $0 - local.set $3 - local.get $1 - local.tee $2 - i32.const 1 - i32.add - local.set $1 - local.get $2 - local.get $12 - i32.load $0 offset=12 - i32.ge_u + local.set $9 + local.get $4 + local.set $3 + loop $while-continue|0 + local.get $5 + local.get $9 + i32.ne if - local.get $2 - i32.const 0 - i32.lt_s + local.get $5 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz if - i32.const 1248 - i32.const 1728 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $5 + f32.load $0 + local.tee $10 + f32.store $0 + local.get $3 + local.get $5 + f32.load $0 offset=4 + f32.store $0 offset=4 + local.get $3 + local.get $11 + local.get $6 + local.get $10 + 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 $12 + i32.const 15 + i32.shr_u + local.get $12 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $12 + i32.const 13 + i32.shr_u + local.get $12 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $12 + i32.const 16 + i32.shr_u + local.get $12 + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $12 + i32.load $0 + i32.store $0 offset=8 + local.get $12 + local.get $3 + i32.store $0 + local.get $3 + i32.const 12 + i32.add + local.set $3 end - local.get $12 - local.get $2 - i32.const 1 + local.get $5 + i32.const 12 i32.add - local.tee $8 - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $12 - local.get $8 - i32.store $0 offset=12 + local.set $5 + br $while-continue|0 end - local.get $12 - i32.load $0 offset=4 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $3 - f64.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 1 + i32.store $0 offset=8 + local.get $3 + local.get $11 + i32.store $0 offset=12 + local.get $0 + local.get $11 + i32.store $0 + local.get $11 + if + local.get $0 + local.get $11 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + if + local.get $0 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $8 + i32.store $0 offset=12 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $3 + i32.const 16 i32.add - local.set $0 - br $for-loop|03 + global.set $~lib/memory/__stack_pointer end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $4 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 + i32.const 12 + i32.mul + i32.add + local.tee $4 + local.get $1 + f32.store $0 + local.get $4 + local.get $2 + f32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $5 + local.get $7 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 end - local.get $12 - local.get $1 - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $12 - local.get $1 - i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#delete (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + if + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + call $~lib/map/Map#find + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $2 + local.get $2 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $2 + local.get $2 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $12 - i32.store $0 offset=4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if global.get $~lib/memory/__stack_pointer - local.get $11 - call $~lib/map/Map#values - local.tee $13 - i32.store $0 offset=8 + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (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 + block $folding-inner0 global.get $~lib/memory/__stack_pointer - local.set $0 + i32.const 1896 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i64.const 0 i64.store $0 - local.get $1 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 i32.const 24 - i32.const 32 + i32.const 27 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $5 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $8 - local.get $1 + local.get $2 + i32.store $0 offset=8 + local.get $5 + local.get $2 i32.store $0 - local.get $1 + local.get $2 if - local.get $8 - local.get $1 + local.get $5 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 3 i32.store $0 offset=4 - i32.const 96 + local.get $2 + local.get $5 + i32.store $0 offset=4 + i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $8 - local.get $1 + local.get $2 i32.store $0 offset=8 - local.get $1 + local.get $5 + local.get $2 + i32.store $0 offset=8 + local.get $2 if - local.get $8 - local.get $1 + local.get $5 + local.get $2 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 4 i32.store $0 offset=12 - local.get $8 + local.get $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=16 - local.get $8 + local.get $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - local.get $8 - i32.store $0 offset=12 + local.get $5 + i32.store $0 + loop $for-loop|0 + local.get $1 + f32.const 100 + f32.lt + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f32_s + i32.const 10 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_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 global.get $~lib/memory/__stack_pointer - call $~lib/map/Map#constructor - local.tee $14 - i32.store $0 offset=16 - i32.const 0 + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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 local.set $1 - loop $for-loop|2 + loop $for-loop|1 local.get $1 - local.get $12 - i32.load $0 offset=12 - i32.lt_s + f32.const 100 + f32.lt if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $1 - local.get $12 - i32.load $0 offset=12 - i32.ge_u + call $~lib/map/Map#has + i32.eqz if - i32.const 1248 - i32.const 1728 - i32.const 114 - i32.const 42 + i32.const 0 + i32.const 1568 + i32.const 15 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $12 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $3 - local.get $13 + call $~lib/map/Map#get local.get $1 - call $~lib/array/Array#__get - local.set $15 - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl + i32.trunc_sat_f32_s + i32.const 10 i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find40 - loop $while-continue|044 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $0 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find40 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|044 - end - end + i32.ne + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 16 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f32_s + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 31 + i32.const 18 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $15 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_f32_s i32.const 20 - i32.sub - f64.convert_i32_s - local.tee $16 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find47 - loop $while-continue|051 - local.get $0 - if - local.get $0 - i32.load $0 offset=12 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $16 - local.get $0 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find47 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|051 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz + i32.ne if i32.const 0 i32.const 1568 - i32.const 32 + i32.const 19 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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.tee $0 + local.get $5 + i32.store $0 offset=4 + local.get $0 + local.get $5 + call $~lib/map/Map#keys + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/map/Map#values + local.tee $3 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $6 + 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 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 29 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $0 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $7 + local.get $0 + i32.store $0 offset=4 + i32.const 48 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $0 + local.get $7 + i32.store $0 offset=8 + local.get $7 + if + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $7 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $6 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length + local.get $4 + i32.gt_s + if global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 offset=4 + local.get $7 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1896 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $7 i32.const 0 i32.store $0 - local.get $8 - i32.load $0 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - local.tee $17 - local.get $8 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|058 - local.get $0 - if - local.get $0 - i32.load $0 offset=16 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $0 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|058 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - if - local.get $0 - local.get $3 - f64.store $0 offset=8 - else - local.get $8 - i32.load $0 offset=16 - local.get $8 - i32.load $0 offset=12 - i32.eq - if - local.get $8 - i32.load $0 offset=20 - local.get $8 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $8 - i32.load $0 offset=4 - else - local.get $8 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - local.set $9 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - local.get $9 - i32.const 1 - i32.add - local.tee $0 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $10 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 24 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $2 - i32.store $0 offset=4 - local.get $8 - i32.load $0 offset=8 - local.tee $5 - local.get $8 - i32.load $0 offset=16 - i32.const 24 - i32.mul - i32.add - local.set $7 - local.get $2 - local.set $0 - loop $while-continue|00 - local.get $5 - local.get $7 - i32.ne - if - local.get $5 - i32.load $0 offset=16 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - local.get $5 - f64.load $0 - local.tee $16 - f64.store $0 - local.get $0 - local.get $5 - f64.load $0 offset=8 - f64.store $0 offset=8 - local.get $0 - local.get $10 - local.get $9 - local.get $16 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $18 - local.get $18 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $18 - local.get $18 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $18 - local.get $18 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $18 - i32.load $0 - i32.store $0 offset=16 - local.get $18 - local.get $0 - i32.store $0 - local.get $0 - i32.const 24 - i32.add - local.set $0 - end - local.get $5 - i32.const 24 - i32.add - local.set $5 - br $while-continue|00 - end - end - local.get $8 - local.get $10 - i32.store $0 - local.get $10 - if - local.get $8 - local.get $10 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $9 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 offset=8 - local.get $2 - if - local.get $8 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $6 - i32.store $0 offset=12 - local.get $8 - local.get $8 - i32.load $0 offset=20 - i32.store $0 offset=16 - 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 $8 - i32.load $0 offset=8 - local.tee $0 - i32.store $0 - local.get $8 - local.get $8 - i32.load $0 offset=16 - local.tee $2 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $0 - local.get $2 - i32.const 24 - i32.mul - i32.add - local.tee $0 - local.get $3 - f64.store $0 - local.get $0 - local.get $3 - f64.store $0 offset=8 - local.get $8 - local.get $8 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $8 - i32.load $0 - local.get $17 - local.get $8 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $2 - i32.load $0 - i32.store $0 offset=16 - local.get $2 - local.get $0 - i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $4 + local.get $2 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $4 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $1 + local.get $7 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $14 - local.get $15 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $4 + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $7 i32.const 20 i32.sub - local.tee $0 + 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 + end + global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/map/Map#set + i32.store $0 offset=4 + local.get $0 + local.get $1 local.get $1 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $7 + i32.const 20 + i32.sub + local.tee $7 + local.get $7 + call $~lib/map/Map#set + local.get $4 i32.const 1 i32.add - local.set $1 + local.set $4 br $for-loop|2 end end - local.get $8 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -22846,8 +21526,11 @@ call $~lib/builtins/abort unreachable end - local.get $14 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:size i32.const 100 i32.ne if @@ -22858,94 +21541,19 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - local.set $3 + f32.const 0 + local.set $1 loop $for-loop|3 - local.get $3 - f64.const 50 - f64.lt + local.get $1 + f32.const 50 + f32.lt if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find79 - loop $while-continue|083 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find79 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|083 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has i32.eqz if i32.const 0 @@ -22955,106 +21563,37 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $3 - call $~lib/map/Map#get - local.get $3 - i32.trunc_sat_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 - local.get $11 - local.get $3 - call $~lib/map/Map#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find86 - loop $while-continue|090 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find86 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|090 - end - end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_f32_s + i32.const 20 + i32.add + i32.ne + if i32.const 0 - local.set $2 + i32.const 1568 + i32.const 42 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -23063,15 +21602,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - f64.const 1 - f64.add - local.set $3 + local.get $1 + f32.const 1 + f32.add + local.set $1 br $for-loop|3 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -23082,283 +21624,64 @@ call $~lib/builtins/abort unreachable end - f64.const 0 - local.set $3 + f32.const 0 + local.set $1 loop $for-loop|4 - local.get $3 - f64.const 50 - f64.lt + local.get $1 + f32.const 50 + f32.lt if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find95 - loop $while-continue|099 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find95 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|099 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - if - i32.const 0 - i32.const 1568 - i32.const 50 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - local.get $3 - i32.trunc_sat_f64_s - i32.const 10 - i32.add - call $~lib/map/Map#set - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find102 - loop $while-continue|0106 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find102 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0106 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/map/Map#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $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 - i32.and - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f32_s + i32.const 10 i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/map/Map#find109 - loop $while-continue|0113 - local.get $2 - if - local.get $2 - i32.load $0 offset=12 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $2 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find109 - local.get $0 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0113 - end - end + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - local.set $2 + i32.const 1568 + i32.const 52 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has if i32.const 0 i32.const 1568 @@ -23367,15 +21690,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - f64.const 1 - f64.add - local.set $3 + local.get $1 + f32.const 1 + f32.add + local.set $1 br $for-loop|4 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size i32.const 50 i32.ne if @@ -23386,10 +21712,16 @@ call $~lib/builtins/abort unreachable end - local.get $11 - call $~lib/map/Map#clear - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size if i32.const 0 i32.const 1568 @@ -23399,7 +21731,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -23411,144 +21743,89 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=8 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 - local.tee $0 + (func $~lib/map/Map#find (type $i32_f64_i32_=>_i32) (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 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~start (type $none_=>_none) - memory.size $0 - i32.const 16 - i32.shl - i32.const 34664 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1172 - i32.const 1168 - i32.store $0 - i32.const 1176 - i32.const 1168 - i32.store $0 - i32.const 1168 - global.set $~lib/rt/itcms/pinSpace - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/toSpace - i32.const 1348 - i32.const 1344 + local.get $3 + local.get $0 i32.store $0 - i32.const 1352 - i32.const 1344 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 i32.store $0 - i32.const 1344 - 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 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + f64.eq + end if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + 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 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 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - global.set $~lib/rt/itcms/threshold + global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/map/Map#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/map/Map#has (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23563,67 +21840,78 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 + i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $1 i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 48 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i64.reinterpret_f64 + local.tee $3 + 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 $3 + 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 $0 + i32.const 15 + i32.shr_u local.get $0 - i32.const 4 - i32.store $0 offset=12 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u local.get $0 - i32.const 0 - i32.store $0 offset=16 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u local.get $0 + i32.xor + call $~lib/map/Map#find i32.const 0 - i32.store $0 offset=20 + i32.ne + local.set $0 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#clear (type $i32_=>_none) (param $0 i32) - (local $1 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 f64) + (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23638,170 +21926,207 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 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 $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.const 3 - i32.store $0 offset=4 - i32.const 48 + i32.shl + i32.const 3 + i32.div_s + local.tee $7 + i32.const 4 + i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.tee $3 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 local.get $0 - local.get $1 i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end local.get $0 - i32.const 4 - i32.store $0 offset=12 + i32.load $0 offset=8 + local.set $9 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - i32.store $0 offset=16 + i32.store $0 offset=8 + local.get $9 local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer + i32.load $0 offset=16 i32.const 4 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#clear (type $i32_=>_none) (param $0 i32) - (local $1 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 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + 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 $0 offset=12 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $9 + f64.load $0 + local.tee $5 + f64.store $0 + local.get $2 + local.get $9 + i32.load $0 offset=8 + i32.store $0 offset=8 + local.get $2 + local.get $8 + local.get $1 + local.get $5 + i64.reinterpret_f64 + local.tee $4 + 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 $4 + 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 $10 + local.get $10 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $10 + local.get $10 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $10 + local.get $10 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $10 + i32.load $0 + i32.store $0 offset=12 + local.get $10 + local.get $2 + i32.store $0 + 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.tee $2 local.get $0 - local.get $1 + i32.store $0 offset=8 + local.get $2 + local.get $8 + i32.store $0 offset=12 + local.get $0 + local.get $8 i32.store $0 - local.get $1 + local.get $8 if local.get $0 - local.get $1 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.tee $2 local.get $0 - local.get $1 i32.store $0 offset=8 + local.get $0 local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 if local.get $0 - local.get $1 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - i32.const 4 + i32.store $0 offset=8 + local.get $0 + local.get $7 i32.store $0 offset=12 + local.get $1 local.get $0 - i32.const 0 - i32.store $0 offset=16 + i32.store $0 offset=8 + local.get $1 local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_=>_i32) (param $0 i32) (result 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 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i32.store $0 offset=12 local.get $0 - i32.const 1073741820 - i32.gt_u - if - i32.const 1456 - i32.const 1504 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $~lib/map/Map#set (type $i32_f64_i32_=>_none) (param $0 i32) (param $1 f64) (param $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 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23816,93 +22141,97 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 i32.const 0 + i32.store $0 offset=8 + local.get $4 + local.get $0 i32.store $0 local.get $0 - i32.load $0 local.get $1 - i32.extend8_s + local.get $1 + i64.reinterpret_f64 + local.tee $3 + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761394 + i32.const 374761401 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $3 + local.get $3 + 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 $4 i32.const 15 i32.shr_u - local.get $3 + local.get $4 i32.xor i32.const -2048144777 i32.mul - local.tee $3 + local.tee $4 i32.const 13 i32.shr_u - local.get $3 + local.get $4 i32.xor i32.const -1028477379 i32.mul - local.tee $3 + local.tee $4 i32.const 16 i32.shr_u - local.get $3 + local.get $4 i32.xor + local.tee $5 + call $~lib/map/Map#find local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $5 - 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 $4 local.get $2 - i32.store $0 offset=4 + i32.store $0 offset=8 else + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $6 + local.get $4 + local.get $0 + i32.store $0 + local.get $6 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 + local.get $4 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $6 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $6 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -23911,9 +22240,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -23921,30 +22256,46 @@ i32.const 1 i32.or end - call $~lib/map/Map#rehash + call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 + local.get $6 local.get $0 i32.load $0 offset=8 - local.tee $3 + local.tee $4 + i32.store $0 offset=8 + local.get $6 + local.get $0 i32.store $0 + local.get $6 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul + local.tee $7 + i32.const 1 i32.add - local.tee $3 + i32.store $0 offset=16 + local.get $4 + local.get $7 + i32.const 4 + i32.shl + i32.add + local.tee $4 local.get $1 - i32.store8 $0 - local.get $3 + f64.store $0 + local.get $4 local.get $2 + i32.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + local.get $0 i32.store $0 offset=4 local.get $0 local.get $0 @@ -23952,10 +22303,18 @@ i32.const 1 i32.add i32.store $0 offset=20 - local.get $3 + local.get $6 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $2 + local.get $6 + local.get $0 + i32.store $0 local.get $4 + local.get $2 + local.get $5 local.get $0 i32.load $0 offset=4 i32.and @@ -23964,22 +22323,21 @@ i32.add local.tee $0 i32.load $0 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $0 - local.get $3 + local.get $4 i32.store $0 end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#get (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) (local $2 i32) - (local $3 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23994,341 +22352,354 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 16 - i32.const 6 - call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 - local.get $2 i32.const 0 i32.store $0 local.get $2 - i32.const 0 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.store $0 offset=12 - local.get $0 - i32.const 268435455 - i32.gt_u - if - i32.const 1456 - i32.const 1728 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 local.get $0 - local.get $0 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $2 - local.get $3 i32.store $0 - local.get $3 - if - local.get $2 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $3 - i32.store $0 offset=4 - local.get $2 - local.get $1 - i32.store $0 offset=8 - local.get $2 local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/map/Map#values (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer + local.get $1 + local.get $1 + i64.reinterpret_f64 local.tee $3 - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $3 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - call $~lib/array/Array#constructor - local.tee $4 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 12 - i32.mul - i32.add - local.tee $3 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $4 - local.get $0 - local.get $3 - i32.load $0 offset=4 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $4 - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $4 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.const 374761401 i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.get $3 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $3 + local.tee $0 i32.const 15 i32.shr_u - local.get $3 + local.get $0 i32.xor i32.const -2048144777 i32.mul - local.tee $3 + local.tee $0 i32.const 13 i32.shr_u - local.get $3 + local.get $0 i32.xor i32.const -1028477379 i32.mul - local.tee $3 + local.tee $0 i32.const 16 i32.shr_u - local.get $3 - i32.xor - local.tee $4 local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + i32.xor + 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 $0 offset=8 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - i32.load $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 - end - end + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#keys (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 16 + i32.const 31 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $2 i32.store $0 offset=4 - else + local.get $2 + i32.const 0 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=16 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 - i32.eq + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + i32.const 134217727 + i32.gt_u if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s + i32.const 1456 + i32.const 1728 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $2 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $2 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $5 + local.get $6 i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 + if + local.get $4 + local.get $5 + i32.const 4 i32.shl + i32.add + local.tee $7 + i32.load $0 offset=12 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 + local.get $0 + local.tee $1 + i32.const 1 + i32.add + local.set $0 + local.get $7 + f64.load $0 + local.set $3 + local.get $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1728 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $7 + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $7 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $3 + f64.store $0 + local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $5 i32.const 1 - i32.or + i32.add + local.set $5 + br $for-loop|0 end - call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 + local.get $2 i32.store $0 - local.get $3 local.get $2 - i32.store $0 offset=4 local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + call $~lib/array/Array#set:length + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 + global.set $~lib/memory/__stack_pointer + local.get $2 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) + (local $4 i64) + (local $5 f64) + (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -24343,349 +22714,488 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 - i32.const 255 - i32.and - i32.const -1028477379 - i32.mul - i32.const 374761394 + i32.const 1 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $8 + i32.store $0 + 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 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $9 + local.get $0 + i32.load $0 offset=16 + i32.const 24 + i32.mul i32.add - i32.load $0 - 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 $0 offset=16 + i32.const 1 + i32.and + i32.eqz if - local.get $3 - i32.load $0 offset=8 + local.get $2 + local.get $9 + f64.load $0 local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load8_u $0 - local.get $1 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find + f64.store $0 + local.get $2 + local.get $9 + f64.load $0 offset=8 + f64.store $0 offset=8 + local.get $2 + local.get $8 + local.get $1 local.get $5 - i32.const -2 + i64.reinterpret_f64 + local.tee $4 + 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 $4 + 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 $10 + local.get $10 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $10 + local.get $10 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $10 + local.get $10 + i32.const 16 + i32.shr_u + i32.xor i32.and - local.set $3 - br $while-continue|0 + i32.const 2 + i32.shl + i32.add + local.tee $10 + i32.load $0 + i32.store $0 offset=16 + local.get $10 + local.get $2 + i32.store $0 + 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 $3 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $8 + i32.store $0 offset=12 + local.get $0 + local.get $8 + i32.store $0 + local.get $8 if - local.get $3 - local.get $2 - i32.store $0 offset=4 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 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 $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store8 $0 - local.get $3 - local.get $2 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=8 + local.get $8 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if local.get $0 local.get $3 - i32.store $0 + call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer - i32.const 4 + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $7 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#set (type $i32_f64_f64_=>_none) (param $0 i32) (param $1 f64) (param $2 f64) (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 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $5 - 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 - i32.store $0 offset=4 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash - end + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 + i64.const 0 + i64.store $0 local.get $3 - local.get $5 - i32.const 12 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + i64.reinterpret_f64 + local.tee $4 + 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 $4 + 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 $5 + i32.const 15 + i32.shr_u + local.get $5 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $5 + i32.const 13 + i32.shr_u + local.get $5 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $5 + i32.const 16 + i32.shr_u + local.get $5 + i32.xor + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $3 - local.get $1 - i32.store16 $0 + i32.const 0 + i32.store $0 local.get $3 - local.get $2 - i32.store $0 offset=4 local.get $0 + i32.store $0 local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 + i32.load $0 + local.set $6 local.get $3 local.get $0 - i32.load $0 - local.get $4 + i32.store $0 + local.get $6 + local.get $5 local.get $0 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $0 i32.load $0 - i32.store $0 offset=8 - local.get $0 + local.set $3 + block $__inlined_func$~lib/map/Map#find + loop $while-continue|0 + local.get $3 + if + local.get $3 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $1 + local.get $3 + f64.load $0 + f64.eq + end + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/map/Map#find + end + local.get $6 + i32.const -2 + i32.and + 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 + i32.const 0 + local.set $3 + end local.get $3 - i32.store $0 + if + local.get $3 + local.get $2 + f64.store $0 offset=8 + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $6 + local.get $3 + local.get $0 + i32.store $0 + local.get $6 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $6 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $6 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 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.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.load $0 offset=8 + local.tee $6 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $7 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $6 + local.get $7 + i32.const 24 + i32.mul + i32.add + local.tee $6 + local.get $1 + f64.store $0 + local.get $6 + local.get $2 + f64.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $7 + local.get $3 + local.get $0 + i32.store $0 + local.get $6 + local.get $7 + local.get $5 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=16 + local.get $0 + local.get $6 + i32.store $0 + end + 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 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/map/Map#delete (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) + (local $2 i64) (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 global.get $~lib/memory/__stack_pointer @@ -24700,16 +23210,32 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 i32.store $0 local.get $0 - i32.load $0 local.get $1 - i32.const 65535 - i32.and + local.get $1 + 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.const 374761395 i32.add i32.const 17 i32.rotl @@ -24734,945 +23260,864 @@ i32.shr_u local.get $3 i32.xor - local.tee $4 + call $~lib/map/Map#find + local.tee $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $3 + local.get $3 + i32.load $0 offset=12 + i32.const 1 + i32.or + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 1 + i32.shr_u + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + i32.const 1 i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $3 + local.get $3 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 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 $0 + local.get $0 + local.get $4 + call $~lib/map/Map#rehash + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/map/testNumeric (type $none_=>_none) + (local $0 i32) + (local $1 f64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 24 + i32.const 30 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $5 + local.get $2 + i32.store $0 + local.get $2 + if + local.get $5 + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 3 + i32.store $0 offset=4 + local.get $2 + local.get $5 + i32.store $0 offset=4 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $5 + local.get $2 + i32.store $0 offset=8 + local.get $2 + if + local.get $5 + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.store $0 offset=12 + local.get $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=16 + local.get $2 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.store $0 offset=20 + local.get $2 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + local.get $5 + i32.store $0 + loop $for-loop|0 + local.get $1 + f64.const 100 + f64.lt if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has + if i32.const 0 - else - local.get $3 - i32.load16_u $0 - local.get $1 - i32.const 65535 - i32.and - i32.eq + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f64_s + i32.const 10 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 - br_if $__inlined_func$~lib/map/Map#find + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_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 + end + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|0 end end - i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq + local.get $5 + call $~lib/map/Map#get:size + i32.const 100 + i32.ne if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 + i32.const 0 + i32.const 1568 + i32.const 11 i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store16 $0 - local.get $3 - local.get $2 - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 + f64.const 0 + local.set $1 + loop $for-loop|1 + local.get $1 + f64.const 100 + f64.lt if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - else - local.get $1 - local.get $3 - i32.load $0 - i32.eq + i32.const 1568 + i32.const 15 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f64_s + i32.const 20 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 - br_if $__inlined_func$~lib/map/Map#find + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_f64_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 + f64.const 1 + f64.add + local.set $1 + br $for-loop|1 end end - i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq + local.get $5 + call $~lib/map/Map#get:size + i32.const 100 + i32.ne if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 + i32.const 0 + i32.const 1568 + i32.const 21 i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 + local.tee $0 local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - i32.store $0 - local.get $3 - local.get $2 i32.store $0 offset=4 local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 + local.get $5 + call $~lib/map/Map#keys + local.tee $2 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/map/Map#values + local.tee $3 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.set $6 + 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 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 local.get $0 - local.get $3 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (type $i32_i64_i32_=>_none) (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 - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 - 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 $1 - 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 $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $5 - 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 i32.store $0 offset=8 - else local.get $0 - i32.load $0 offset=16 + i32.const 24 + i32.const 32 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=12 - i32.eq + local.get $7 + i32.store $0 + local.get $7 if local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer + local.tee $7 local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 + i32.store $0 offset=4 local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $7 local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $5 - i32.const 4 - i32.shl - i32.add - local.tee $3 - local.get $1 - i64.store $0 - local.get $3 - local.get $2 + i32.store $0 offset=4 + i32.const 96 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=8 local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#values (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $2 - local.get $3 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - call $~lib/array/Array#constructor - local.tee $4 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $1 - local.get $5 - i32.lt_s + local.get $7 + i32.store $0 offset=8 + local.get $7 if - local.get $2 - local.get $1 - i32.const 4 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=12 - i32.const 1 - i32.and - i32.eqz - if - local.get $4 - local.get $0 - local.get $3 - i32.load $0 offset=8 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $4 - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $4 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/map/Map#set (type $i32_i64_i32_=>_none) (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 - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 - 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 $1 - 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 $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $7 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $7 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + call $~lib/map/Map#constructor + local.tee $6 + i32.store $0 offset=20 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/array/Array#get:length + local.get $4 + i32.gt_s if - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 offset=4 + local.get $7 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1896 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $4 + local.get $2 i32.load $0 offset=12 - local.tee $5 - i32.const 1 - i32.and - if (result i32) + i32.ge_u + if + i32.const 1248 + i32.const 1728 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $4 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $1 + local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $4 + call $~lib/array/Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has + i32.eqz + if i32.const 0 - else - local.get $1 - local.get $3 - i64.load $0 - i64.eq + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - br_if $__inlined_func$~lib/map/Map#find + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 + i32.store $0 offset=4 + local.get $5 + local.get $7 + 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 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $1 + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $7 + i32.const 20 + i32.sub + local.tee $7 + local.get $7 + call $~lib/map/Map#set + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|2 end end - i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 - local.get $2 - i32.store $0 offset=8 - else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=16 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 - i32.eq + call $~lib/map/Map#get:size + i32.const 100 + i32.ne if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 + i32.const 0 + i32.const 1568 + i32.const 36 i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/map/Map#get:size + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#get + local.get $1 + i32.trunc_sat_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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 + end + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|3 end - call $~lib/map/Map#rehash end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 local.get $5 - i32.const 4 - i32.shl - i32.add - local.tee $3 - local.get $1 - i64.store $0 - local.get $3 - local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set (type $i32_f32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1896 - i32.lt_s - if - i32.const 34688 - i32.const 34736 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 - local.get $1 - 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 $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + i32.const 50 + i32.ne + 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 if - local.get $3 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#has + if i32.const 0 - else - local.get $1 - local.get $3 - f32.load $0 - f32.eq + i32.const 1568 + i32.const 50 + i32.const 5 + call $~lib/builtins/abort + unreachable end - br_if $__inlined_func$~lib/map/Map#find + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 + i32.store $0 offset=4 + local.get $5 + local.get $1 + local.get $1 + i32.trunc_sat_f64_s + i32.const 10 + i32.add + call $~lib/map/Map#set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $5 + i32.store $0 offset=4 + local.get $5 + local.get $1 + call $~lib/map/Map#delete + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 + end + local.get $1 + f64.const 1 + f64.add + local.set $1 + br $for-loop|4 end end - i32.const 0 - local.set $3 - end - local.get $3 - if - local.get $3 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $5 i32.store $0 offset=4 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/map/Map#rehash + local.get $5 + call $~lib/map/Map#get:size + 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.load $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 local.get $5 - i32.const 12 - i32.mul - i32.add - local.tee $3 - local.get $1 - f32.store $0 - local.get $3 - local.get $2 i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + local.get $5 + call $~lib/map/Map#clear + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/map/Map#get:size + 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 - local.tee $0 - i32.load $0 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 34688 + i32.const 34736 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/map/Map#set (type $i32_f64_i32_=>_none) (param $0 i32) (param $1 f64) (param $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i32) - (local $6 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -25692,171 +24137,27 @@ i32.const 0 i32.store $0 local.get $0 - i32.load $0 - local.get $1 - i64.reinterpret_f64 - local.tee $4 - 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 $4 - 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 $3 - i32.const 15 - i32.shr_u - local.get $3 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - i32.const 13 - i32.shr_u - local.get $3 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=12 - local.tee $6 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $3 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $6 - i32.const -2 - i32.and - local.set $3 - br $while-continue|0 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + i32.const 1073741820 + i32.gt_u if - local.get $3 - local.get $2 - i32.store $0 offset=8 - else - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 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 $0 offset=8 - local.tee $3 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $6 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $3 - local.get $6 - i32.const 4 - i32.shl - i32.add - local.tee $3 - local.get $1 - f64.store $0 - local.get $3 - local.get $2 - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $3 - local.get $0 - i32.load $0 - local.get $5 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=12 - local.get $0 - local.get $3 - i32.store $0 + i32.const 1456 + i32.const 1504 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/new.debug.wat b/tests/compiler/std/new.debug.wat index e3f50d3c76..8ef60f2ed2 100644 --- a/tests/compiler/std/new.debug.wat +++ b/tests/compiler/std/new.debug.wat @@ -2355,13 +2355,16 @@ (func $std/new/AClass#constructor (type $i32_f32_=>_i32) (param $this i32) (param $value f32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $this i32.eqz if @@ -2373,24 +2376,49 @@ i32.store $0 end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 call $std/new/AClass#set:aField local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 f32.const 2 call $std/new/AClass#set:anotherField local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 call $std/new/AClass#get:aField i32.const 1 i32.add call $std/new/AClass#set:aField local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $value call $std/new/AClass#set:anotherField local.get $this local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $2 diff --git a/tests/compiler/std/new.release.wat b/tests/compiler/std/new.release.wat index 0192037e95..f8e0775bf5 100644 --- a/tests/compiler/std/new.release.wat +++ b/tests/compiler/std/new.release.wat @@ -1396,6 +1396,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) memory.size $0 i32.const 16 i32.shl @@ -1429,7 +1430,7 @@ i32.const 1344 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1445,32 +1446,51 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $0 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 i32.store $0 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 f32.const 2 f32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + local.get $1 i32.load $0 i32.const 1 i32.add i32.store $0 local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 f32.const 3 f32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 global.set $std/new/aClass ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) diff --git a/tests/compiler/std/operator-overloading.debug.wat b/tests/compiler/std/operator-overloading.debug.wat index 0411db7701..8a24a9bf28 100644 --- a/tests/compiler/std/operator-overloading.debug.wat +++ b/tests/compiler/std/operator-overloading.debug.wat @@ -2325,81 +2325,6 @@ local.get $this i32.load $0 offset=4 ) - (func $std/operator-overloading/Tester.add (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.add - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.add - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.sub (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.sub - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.sub - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.mul (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.mul - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.mul - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.div (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.div_s - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.div_s - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.mod (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.rem_s - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.rem_s - call $std/operator-overloading/Tester#constructor - return - ) (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) (local $out i32) (local $log i32) @@ -2618,526 +2543,176 @@ local.get $out return ) - (func $std/operator-overloading/Tester.pow (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - call $~lib/math/ipow32 - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - call $~lib/math/ipow32 - call $std/operator-overloading/Tester#constructor - return + (func $std/operator-overloading/TesterInlineStatic#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) + local.get $this + local.get $x + i32.store $0 ) - (func $std/operator-overloading/Tester.and (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.and - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.and - call $std/operator-overloading/Tester#constructor - return + (func $std/operator-overloading/TesterInlineStatic#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) + local.get $this + local.get $y + i32.store $0 offset=4 ) - (func $std/operator-overloading/Tester.or (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.or - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.or - call $std/operator-overloading/Tester#constructor - return + (func $std/operator-overloading/TesterInlineStatic#get:x (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 ) - (func $std/operator-overloading/Tester.xor (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - i32.const 0 - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.xor - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.xor - call $std/operator-overloading/Tester#constructor - return + (func $std/operator-overloading/TesterInlineStatic#get:y (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/operator-overloading/Tester.equals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.eq - if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.eq - else - i32.const 0 - end + (func $std/operator-overloading/TesterInlineInstance#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) + local.get $this + local.get $x + i32.store $0 + ) + (func $std/operator-overloading/TesterInlineInstance#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) + local.get $this + local.get $y + i32.store $0 offset=4 + ) + (func $std/operator-overloading/TesterInlineInstance#get:x (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $std/operator-overloading/TesterInlineInstance#get:y (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $std/operator-overloading/TesterElementAccess#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) + local.get $this + local.get $x + i32.store $0 + ) + (func $std/operator-overloading/TesterElementAccess#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) + local.get $this + local.get $y + i32.store $0 offset=4 + ) + (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 1 + i32.shr_u return ) - (func $std/operator-overloading/Tester.notEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.ne + (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 + i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.ne + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz else i32.const 0 end - return - ) - (func $std/operator-overloading/Tester.greater (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.gt_s - if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.gt_s - else - i32.const 0 - end - return - ) - (func $std/operator-overloading/Tester.greaterEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.ge_s - if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.ge_s - else - i32.const 0 - end - return - ) - (func $std/operator-overloading/Tester.less (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.lt_s - if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.lt_s - else - i32.const 0 + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load $0 + local.get $ptr2 + i64.load $0 + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end end - return - ) - (func $std/operator-overloading/Tester.lessEquals (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - call $std/operator-overloading/Tester#get:x - local.get $b - call $std/operator-overloading/Tester#get:x - i32.le_s - if (result i32) - local.get $a - call $std/operator-overloading/Tester#get:y - local.get $b - call $std/operator-overloading/Tester#get:y - i32.le_s - else - i32.const 0 + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u $0 + local.set $a + local.get $ptr2 + i32.load16_u $0 + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end end - return - ) - (func $std/operator-overloading/Tester.shr (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - local.get $shift - i32.shr_s - local.get $value - call $std/operator-overloading/Tester#get:y - local.get $shift - i32.shr_s - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.shu (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - local.get $shift - i32.shr_u - local.get $value - call $std/operator-overloading/Tester#get:y - local.get $shift - i32.shr_u - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.shl (type $i32_i32_=>_i32) (param $value i32) (param $shift i32) (result i32) - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - local.get $shift - i32.shl - local.get $value - call $std/operator-overloading/Tester#get:y - local.get $shift - i32.shl - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.pos (type $i32_=>_i32) (param $value i32) (result i32) - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - local.get $value - call $std/operator-overloading/Tester#get:y - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.neg (type $i32_=>_i32) (param $value i32) (result i32) - i32.const 0 - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - i32.sub - i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:y - i32.sub - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.not (type $i32_=>_i32) (param $value i32) (result i32) i32.const 0 - local.get $value - call $std/operator-overloading/Tester#get:x - i32.const -1 - i32.xor - local.get $value - call $std/operator-overloading/Tester#get:y - i32.const -1 - i32.xor - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester.excl (type $i32_=>_i32) (param $value i32) (result i32) - local.get $value - call $std/operator-overloading/Tester#get:x - i32.eqz - if (result i32) - local.get $value - call $std/operator-overloading/Tester#get:y - i32.eqz - else - i32.const 0 - end - return - ) - (func $std/operator-overloading/Tester#inc (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - local.get $this - call $std/operator-overloading/Tester#get:x - i32.const 1 - i32.add - call $std/operator-overloading/Tester#set:x - local.get $this - local.get $this - call $std/operator-overloading/Tester#get:y - i32.const 1 - i32.add - call $std/operator-overloading/Tester#set:y - local.get $this return ) - (func $std/operator-overloading/Tester#dec (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - local.get $this - call $std/operator-overloading/Tester#get:x - i32.const 1 - i32.sub - call $std/operator-overloading/Tester#set:x - local.get $this - local.get $this - call $std/operator-overloading/Tester#get:y - i32.const 1 - i32.sub - call $std/operator-overloading/Tester#set:y + (func $std/operator-overloading/TesterElementAccess#get:x (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 ) - (func $std/operator-overloading/Tester#postInc (type $i32_=>_i32) (param $this i32) (result i32) - i32.const 0 - local.get $this - call $std/operator-overloading/Tester#get:x - i32.const 1 - i32.add + (func $std/operator-overloading/TesterElementAccess#get:y (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $std/operator-overloading/Tester#get:y - i32.const 1 - i32.add - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/Tester#postDec (type $i32_=>_i32) (param $this i32) (result i32) - i32.const 0 - local.get $this - call $std/operator-overloading/Tester#get:x - i32.const 1 - i32.sub - local.get $this - call $std/operator-overloading/Tester#get:y - i32.const 1 - i32.sub - call $std/operator-overloading/Tester#constructor - return - ) - (func $std/operator-overloading/TesterInlineStatic#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) - local.get $this - local.get $x - i32.store $0 - ) - (func $std/operator-overloading/TesterInlineStatic#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) - local.get $this - local.get $y - i32.store $0 offset=4 - ) - (func $std/operator-overloading/TesterInlineStatic#get:x (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $std/operator-overloading/TesterInlineStatic#get:y (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $std/operator-overloading/TesterInlineInstance#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) - local.get $this - local.get $x - i32.store $0 - ) - (func $std/operator-overloading/TesterInlineInstance#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) - local.get $this - local.get $y - i32.store $0 offset=4 - ) - (func $std/operator-overloading/TesterInlineInstance#get:x (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $std/operator-overloading/TesterInlineInstance#get:y (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $std/operator-overloading/TesterElementAccess#set:x (type $i32_i32_=>_none) (param $this i32) (param $x i32) - local.get $this - local.get $x - i32.store $0 - ) - (func $std/operator-overloading/TesterElementAccess#set:y (type $i32_i32_=>_none) (param $this i32) (param $y i32) - local.get $this - local.get $y - i32.store $0 offset=4 - ) - (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.const 1 - i32.shr_u - return - ) - (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) - (local $ptr1 i32) - (local $ptr2 i32) - (local $7 i32) - (local $a i32) - (local $b i32) - local.get $str1 - local.get $index1 - i32.const 1 - i32.shl - i32.add - local.set $ptr1 - local.get $str2 - local.get $index2 - i32.const 1 - i32.shl - i32.add - local.set $ptr2 - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $len - i32.const 4 - i32.ge_u - if (result i32) - local.get $ptr1 - i32.const 7 - i32.and - local.get $ptr2 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 - end - if - block $do-break|0 - loop $do-loop|0 - local.get $ptr1 - i64.load $0 - local.get $ptr2 - i64.load $0 - i64.ne - if - br $do-break|0 - end - local.get $ptr1 - i32.const 8 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 8 - i32.add - local.set $ptr2 - local.get $len - i32.const 4 - i32.sub - local.set $len - local.get $len - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - loop $while-continue|1 - local.get $len - local.tee $7 - i32.const 1 - i32.sub - local.set $len - local.get $7 - if - local.get $ptr1 - i32.load16_u $0 - local.set $a - local.get $ptr2 - i32.load16_u $0 - local.set $b - local.get $a - local.get $b - i32.ne - if - local.get $a - local.get $b - i32.sub - return - end - local.get $ptr1 - i32.const 2 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 2 - i32.add - local.set $ptr2 - br $while-continue|1 - end - end - i32.const 0 - return - ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $std/operator-overloading/TesterElementAccess#get:x (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $std/operator-overloading/TesterElementAccess#get:y (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + i32.load $0 offset=4 ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) @@ -3557,147 +3132,1651 @@ global.get $std/operator-overloading/tea local.tee $1 if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 224 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 32 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $std/operator-overloading/TesterElementAccess + block $std/operator-overloading/TesterInlineInstance + block $std/operator-overloading/TesterInlineStatic + block $std/operator-overloading/Tester + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + return + end + return + end + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/operator-overloading + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33392 + i32.const 33440 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $std/operator-overloading/Tester#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $x + call $std/operator-overloading/Tester#set:x + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $y + call $std/operator-overloading/Tester#set:y + local.get $this + 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/operator-overloading/Tester.add (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.add + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.add + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.sub (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.sub + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.sub + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.mul (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.mul + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.mul + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.div (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.div_s + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.div_s + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.mod (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.rem_s + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.rem_s + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.pow (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + call $~lib/math/ipow32 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + call $~lib/math/ipow32 + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.and (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.and + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.and + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.or (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.or + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.or + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.xor (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + i32.const 0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.xor + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.xor + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.equals (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.eq + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.eq + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.notEquals (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.ne + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.ne + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.greater (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.gt_s + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.gt_s + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.greaterEquals (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.ge_s + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.ge_s + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.less (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.lt_s + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.lt_s + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.lessEquals (type $i32_i32_=>_i32) (param $a i32) (param $b 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 $0 + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + i32.le_s + if (result i32) + local.get $a + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + i32.le_s + else + i32.const 0 + end + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.shr (type $i32_i32_=>_i32) (param $value i32) (param $shift 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 $0 + i32.const 0 + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $shift + i32.shr_s + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $shift + i32.shr_s + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.shu (type $i32_i32_=>_i32) (param $value i32) (param $shift 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 $0 + i32.const 0 + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $shift + i32.shr_u + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $shift + i32.shr_u + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.shl (type $i32_i32_=>_i32) (param $value i32) (param $shift 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 $0 + i32.const 0 + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:x + local.get $shift + i32.shl + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $std/operator-overloading/Tester#get:y + local.get $shift + i32.shl + call $std/operator-overloading/Tester#constructor + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/operator-overloading/Tester.pos (type $i32_=>_i32) (param $value 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 $0 + i32.const 0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + call $std/operator-overloading/Tester#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester.neg (type $i32_=>_i32) (param $value 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 $0 + i32.const 0 + i32.const 0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.sub + i32.const 0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.sub + call $std/operator-overloading/Tester#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester.not (type $i32_=>_i32) (param $value 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 $0 + i32.const 0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.const -1 + i32.xor + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.const -1 + i32.xor + call $std/operator-overloading/Tester#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester.excl (type $i32_=>_i32) (param $value 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 $0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.eqz + if (result i32) + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.eqz + else + i32.const 0 + end + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester#inc (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.const 1 + i32.add + call $std/operator-overloading/Tester#set:x + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.const 1 + i32.add + call $std/operator-overloading/Tester#set:y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester#dec (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.const 1 + i32.sub + call $std/operator-overloading/Tester#set:x + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.const 1 + i32.sub + call $std/operator-overloading/Tester#set:y + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester#postInc (type $i32_=>_i32) (param $this 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 $0 + i32.const 0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.const 1 + i32.add + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.const 1 + i32.add + call $std/operator-overloading/Tester#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/Tester#postDec (type $i32_=>_i32) (param $this 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 $0 + i32.const 0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:x + i32.const 1 + i32.sub + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $std/operator-overloading/Tester#get:y + i32.const 1 + i32.sub + call $std/operator-overloading/Tester#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/operator-overloading/TesterInlineStatic#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - i32.const 224 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 32 - local.get $0 - call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $x + call $std/operator-overloading/TesterInlineStatic#set:x + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $y + call $std/operator-overloading/TesterInlineStatic#set:y + local.get $this + 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/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 + (func $std/operator-overloading/TesterInlineInstance#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 + local.get $this + i32.eqz if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $x + call $std/operator-overloading/TesterInlineInstance#set:x + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $y + call $std/operator-overloading/TesterInlineInstance#set:y + local.get $this + 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~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $std/operator-overloading/TesterElementAccess - block $std/operator-overloading/TesterInlineInstance - block $std/operator-overloading/TesterInlineStatic - block $std/operator-overloading/Tester - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $std/operator-overloading/Tester $std/operator-overloading/TesterInlineStatic $std/operator-overloading/TesterInlineInstance $std/operator-overloading/TesterElementAccess $invalid - end - return - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - return - end - return - end - return - end - return + (func $std/operator-overloading/TesterElementAccess#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/operator-overloading + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $x + call $std/operator-overloading/TesterElementAccess#set:x + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $y + call $std/operator-overloading/TesterElementAccess#set:y + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~stack_check (type $none_=>_none) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $left + local.get $right + i32.eq if - i32.const 33392 - i32.const 33440 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 $left + i32.const 0 + i32.eq + if (result i32) i32.const 1 - call $~lib/builtins/abort - unreachable + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return ) (func $std/operator-overloading/TesterElementAccess#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $key i32) (param $value 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 $0 + i64.const 0 + i64.store $0 local.get $key - i32.const 512 local.set $3 global.get $~lib/memory/__stack_pointer local.get $3 i32.store $0 local.get $3 + i32.const 512 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $~lib/string/String.__eq if local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $value call $std/operator-overloading/TesterElementAccess#set:x else local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $value call $std/operator-overloading/TesterElementAccess#set:y end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) (func $std/operator-overloading/TesterElementAccess#__get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $key - i32.const 512 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 local.get $2 + i32.const 512 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 call $~lib/string/String.__eq if (result i32) local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $std/operator-overloading/TesterElementAccess#get:x else local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $std/operator-overloading/TesterElementAccess#get:y end local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $2 @@ -4963,6 +6042,11 @@ local.tee $0 i32.store $0 offset=8 local.get $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/Tester#postInc global.set $std/operator-overloading/incdec local.get $0 @@ -5034,6 +6118,11 @@ local.tee $1 i32.store $0 offset=12 local.get $1 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/Tester#postDec global.set $std/operator-overloading/incdec local.get $1 @@ -5117,10 +6206,20 @@ i32.store $0 offset=16 i32.const 0 local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x i32.const 1 i32.add local.get $3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y i32.const 1 i32.add @@ -5144,13 +6243,33 @@ i32.store $0 offset=24 i32.const 0 local.get $4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x local.get $5 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:x i32.add local.get $4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y local.get $5 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineStatic#get:y i32.add call $std/operator-overloading/TesterInlineStatic#constructor @@ -5200,10 +6319,20 @@ i32.store $0 offset=28 i32.const 0 local.get $6 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x i32.const 1 i32.add local.get $6 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y i32.const 1 i32.add @@ -5227,13 +6356,33 @@ i32.store $0 offset=36 i32.const 0 local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x local.get $8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:x i32.add local.get $7 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y local.get $8 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 call $std/operator-overloading/TesterInlineInstance#get:y i32.add call $std/operator-overloading/TesterInlineInstance#constructor @@ -5497,140 +6646,4 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/operator-overloading/Tester#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $std/operator-overloading/Tester#set:x - local.get $this - local.get $y - call $std/operator-overloading/Tester#set:y - local.get $this - 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/operator-overloading/TesterInlineStatic#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $std/operator-overloading/TesterInlineStatic#set:x - local.get $this - local.get $y - call $std/operator-overloading/TesterInlineStatic#set:y - local.get $this - 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/operator-overloading/TesterInlineInstance#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $std/operator-overloading/TesterInlineInstance#set:x - local.get $this - local.get $y - call $std/operator-overloading/TesterInlineInstance#set:y - local.get $this - 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/operator-overloading/TesterElementAccess#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $x i32) (param $y 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $x - call $std/operator-overloading/TesterElementAccess#set:x - local.get $this - local.get $y - call $std/operator-overloading/TesterElementAccess#set:y - local.get $this - local.set $3 - 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/operator-overloading.release.wat b/tests/compiler/std/operator-overloading.release.wat index 0b46f38c05..f0da5f633a 100644 --- a/tests/compiler/std/operator-overloading.release.wat +++ b/tests/compiler/std/operator-overloading.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) @@ -1479,117 +1479,6 @@ end local.get $2 ) - (func $~lib/string/String.__eq (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - local.get $0 - i32.const 1536 - i32.eq - if - i32.const 1 - return - end - local.get $0 - i32.eqz - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1532 - i32.load $0 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - i32.const 1536 - local.set $3 - local.get $0 - local.tee $1 - i32.const 7 - i32.and - i32.eqz - local.get $2 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $1 - i64.load $0 - local.get $3 - i64.load $0 - i64.eq - if - local.get $1 - i32.const 8 - i32.add - local.set $1 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $2 - i32.const 1 - i32.sub - local.set $0 - local.get $2 - if - local.get $1 - i32.load16_u $0 - local.tee $4 - local.get $3 - i32.load16_u $0 - local.tee $5 - i32.sub - local.set $2 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $1 - i32.const 2 - i32.add - local.set $1 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|1 - end - end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - ) (func $~lib/rt/__visit_globals (type $none_=>_none) (local $0 i32) global.get $std/operator-overloading/a1 @@ -2001,10 +1890,11 @@ (func $~start (type $none_=>_none) call $start:std/operator-overloading ) - (func $std/operator-overloading/TesterElementAccess#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $std/operator-overloading/Tester#constructor (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result 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 global.get $~lib/memory/__stack_pointer @@ -2019,30 +1909,96 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer local.tee $3 - i32.const 0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 i32.store $0 local.get $3 - i32.const 1536 - i32.store $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $1 - call $~lib/string/String.__eq + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/operator-overloading/Tester.equals (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s if + i32.const 34416 + i32.const 34464 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.load $0 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $2 i32.store $0 - else local.get $0 + i32.load $0 offset=4 + local.set $0 local.get $2 - i32.store $0 offset=4 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.load $0 offset=4 + i32.eq + else + i32.const 0 end + local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/operator-overloading/TesterElementAccess#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/operator-overloading/Tester.notEquals (type $i32_i32_=>_i32) (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 @@ -2063,16 +2019,35 @@ i32.const 0 i32.store $0 local.get $2 - i32.const 1536 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $3 + local.get $2 + local.get $1 i32.store $0 + local.get $3 local.get $1 - call $~lib/string/String.__eq + i32.load $0 + i32.ne if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 - else + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $0 + local.get $2 + local.get $1 + i32.store $0 local.get $0 + local.get $1 i32.load $0 offset=4 + i32.ne + else + i32.const 0 end local.set $0 global.get $~lib/memory/__stack_pointer @@ -2081,57 +2056,403 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $start:std/operator-overloading (type $none_=>_none) - (local $0 i32) - (local $1 i32) + (func $std/operator-overloading/TesterInlineStatic#constructor (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 48 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1620 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 48 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 34388 - i32.sub + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + if + i32.const 34416 + i32.const 34464 i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1172 - i32.const 1168 - i32.store $0 - i32.const 1176 - i32.const 1168 - i32.store $0 - i32.const 1168 - global.set $~lib/rt/itcms/pinSpace - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 - i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/toSpace - i32.const 1348 - i32.const 1344 - i32.store $0 - i32.const 1352 - i32.const 1344 - i32.store $0 - i32.const 1344 - global.set $~lib/rt/itcms/fromSpace i32.const 1 - i32.const 2 - call $std/operator-overloading/Tester#constructor + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/operator-overloading/TesterInlineInstance#constructor (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + if + i32.const 34416 + i32.const 34464 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/string/String.__eq (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + if + i32.const 34416 + i32.const 34464 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1536 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $2 + local.get $1 + i32.const 1536 + i32.store $0 + local.get $2 + i32.const 1532 + i32.load $0 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + i32.const 1536 + local.set $3 + local.get $1 + i32.const 1536 + i32.store $0 offset=4 + local.get $0 + local.tee $1 + i32.const 7 + i32.and + i32.eqz + local.get $2 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $1 + i64.load $0 + local.get $3 + i64.load $0 + i64.eq + if + local.get $1 + i32.const 8 + i32.add + local.set $1 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $2 + i32.const 1 + i32.sub + local.set $0 + local.get $2 + if + local.get $1 + i32.load16_u $0 + local.tee $4 + local.get $3 + i32.load16_u $0 + local.tee $5 + i32.sub + local.set $2 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $1 + i32.const 2 + i32.add + local.set $1 + local.get $3 + i32.const 2 + i32.add + local.set $3 + br $while-continue|1 + end + end + i32.const 0 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + 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/operator-overloading/TesterElementAccess#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + if + i32.const 34416 + i32.const 34464 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $1 + i32.store $0 + local.get $3 + i32.const 1536 + i32.store $0 offset=4 + local.get $1 + call $~lib/string/String.__eq + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=4 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/operator-overloading/TesterElementAccess#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + if + i32.const 34416 + i32.const 34464 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $2 + i32.const 1536 + i32.store $0 offset=4 + local.get $1 + call $~lib/string/String.__eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $start:std/operator-overloading (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 48 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 34388 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store $0 + i32.const 1176 + i32.const 1168 + i32.store $0 + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store $0 + i32.const 1352 + i32.const 1344 + i32.store $0 + i32.const 1344 + global.set $~lib/rt/itcms/fromSpace + i32.const 1 + i32.const 2 + call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/a1 i32.const 2 i32.const 3 @@ -2145,17 +2466,53 @@ global.get $std/operator-overloading/a2 local.tee $1 i32.store $0 offset=4 + 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 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 local.get $1 i32.load $0 i32.add + local.set $3 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 + local.set $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $0 local.get $1 i32.load $0 offset=4 i32.add call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/a global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/a @@ -2201,19 +2558,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/s2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.sub + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.sub call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/s global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/s @@ -2257,19 +2650,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/m2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.mul + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.mul call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/m global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/m @@ -2315,19 +2744,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/d2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.div_s + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.div_s call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/d global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/d @@ -2373,19 +2838,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/f2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.rem_s + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.rem_s call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/f global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/f @@ -2428,19 +2929,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/p2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 call $~lib/math/ipow32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 local.get $0 + local.get $1 + local.get $2 i32.load $0 offset=4 call $~lib/math/ipow32 call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/p global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/p @@ -2486,19 +3023,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/n2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.and + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.and call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/n global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/n @@ -2539,24 +3112,60 @@ global.set $std/operator-overloading/o2 global.get $~lib/memory/__stack_pointer local.tee $0 - global.get $std/operator-overloading/o1 - local.tee $1 + global.get $std/operator-overloading/o1 + local.tee $1 + i32.store $0 + local.get $0 + global.get $std/operator-overloading/o2 + local.tee $2 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 i32.store $0 local.get $0 - global.get $std/operator-overloading/o2 - local.tee $0 - i32.store $0 offset=4 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.or + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.or call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/o global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/o @@ -2602,19 +3211,55 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/x2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.xor + local.set $3 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.xor call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/x global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/x @@ -2663,19 +3308,8 @@ local.tee $0 i32.store $0 offset=4 local.get $1 - i32.load $0 local.get $0 - i32.load $0 - i32.eq - if (result i32) - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - i32.eq - else - i32.const 0 - end + call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eq global.get $std/operator-overloading/eq i32.const 1 @@ -2706,19 +3340,8 @@ local.tee $0 i32.store $0 offset=4 local.get $1 - i32.load $0 local.get $0 - i32.load $0 - i32.eq - if (result i32) - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - i32.eq - else - i32.const 0 - end + call $std/operator-overloading/Tester.equals global.set $std/operator-overloading/eqf global.get $std/operator-overloading/eqf if @@ -2739,19 +3362,8 @@ local.tee $0 i32.store $0 offset=4 local.get $1 - i32.load $0 local.get $0 - i32.load $0 - i32.ne - if (result i32) - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - i32.ne - else - i32.const 0 - end + call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eq global.get $std/operator-overloading/eq if @@ -2772,19 +3384,8 @@ local.tee $0 i32.store $0 offset=4 local.get $1 - i32.load $0 local.get $0 - i32.load $0 - i32.ne - if (result i32) - local.get $1 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=4 - i32.ne - else - i32.const 0 - end + call $std/operator-overloading/Tester.notEquals global.set $std/operator-overloading/eqf global.get $std/operator-overloading/eqf i32.const 1 @@ -2812,22 +3413,57 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/gt2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.gt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.gt_s else i32.const 0 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/gt global.get $std/operator-overloading/gt i32.const 1 @@ -2855,22 +3491,57 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/gte2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.ge_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.ge_s else i32.const 0 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/gte global.get $std/operator-overloading/gte i32.const 1 @@ -2898,22 +3569,57 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/le2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.lt_s else i32.const 0 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/le global.get $std/operator-overloading/le i32.const 1 @@ -2941,22 +3647,57 @@ i32.store $0 local.get $0 global.get $std/operator-overloading/leq2 - local.tee $0 + local.tee $2 i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 + local.set $3 local.get $0 + local.get $2 + i32.store $0 + local.get $3 + local.get $2 i32.load $0 i32.le_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 offset=4 + local.set $1 local.get $0 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 i32.load $0 offset=4 i32.le_s else i32.const 0 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/leq global.get $std/operator-overloading/leq i32.const 1 @@ -2974,18 +3715,45 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shr global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/shr + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 3 i32.shr_s + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 3 i32.shr_s call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/sres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres @@ -3021,18 +3789,45 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shu global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/shu + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 3 i32.shr_u + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 3 i32.shr_u call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/ures global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/ures @@ -3068,18 +3863,45 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/shl global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/shl + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 3 i32.shl + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 3 i32.shl call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/sres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/sres @@ -3115,14 +3937,41 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/pos global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/pos + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/pres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/pres @@ -3173,18 +4022,45 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/neg global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/neg local.tee $0 + global.get $std/operator-overloading/neg + local.tee $1 i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 + i32.store $0 local.get $0 + local.get $1 + i32.store $0 + i32.const 0 + local.get $1 i32.load $0 i32.sub - i32.const 0 + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + i32.const 0 + local.get $1 i32.load $0 offset=4 i32.sub call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/nres global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/nres @@ -3239,18 +4115,45 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/not global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/not + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const -1 i32.xor + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const -1 i32.xor call $std/operator-overloading/Tester#constructor + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 global.set $std/operator-overloading/res global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/res @@ -3305,17 +4208,42 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/excl global.get $~lib/memory/__stack_pointer + local.tee $0 global.get $std/operator-overloading/excl + local.tee $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $0 + i32.const 0 i32.store $0 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 if (result i32) i32.const 1 else - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.load $0 offset=4 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 i32.eqz global.set $std/operator-overloading/bres global.get $~lib/memory/__stack_pointer @@ -3365,21 +4293,49 @@ global.get $std/operator-overloading/incdec local.tee $1 i32.store $0 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 local.get $1 i32.load $0 i32.const 1 i32.add i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 local.get $1 i32.load $0 offset=4 i32.const 1 i32.add i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 global.set $std/operator-overloading/incdec - local.get $0 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 i32.store $0 @@ -3413,21 +4369,49 @@ global.get $std/operator-overloading/incdec local.tee $1 i32.store $0 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 local.get $1 i32.load $0 i32.const 1 i32.sub i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 local.get $1 local.get $1 i32.load $0 offset=4 i32.const 1 i32.sub i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 global.set $std/operator-overloading/incdec - local.get $0 + global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/incdec local.tee $0 i32.store $0 @@ -3459,20 +4443,50 @@ call $std/operator-overloading/Tester#constructor global.set $std/operator-overloading/incdec global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/incdec local.tee $0 + global.get $std/operator-overloading/incdec + local.tee $1 i32.store $0 offset=8 local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 1 i32.add + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 1 i32.add call $std/operator-overloading/Tester#constructor - global.set $std/operator-overloading/incdec + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 + global.set $std/operator-overloading/incdec + local.get $1 global.set $std/operator-overloading/tmp global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp @@ -3531,20 +4545,50 @@ unreachable end global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/incdec local.tee $0 + global.get $std/operator-overloading/incdec + local.tee $1 i32.store $0 offset=12 local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1620 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 1 i32.sub + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 1 i32.sub call $std/operator-overloading/Tester#constructor - global.set $std/operator-overloading/incdec + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 + global.set $std/operator-overloading/incdec + local.get $1 global.set $std/operator-overloading/tmp global.get $~lib/memory/__stack_pointer global.get $std/operator-overloading/tmp @@ -3614,10 +4658,18 @@ local.get $0 local.get $1 i32.store $0 offset=16 + local.get $0 + local.get $1 + i32.store $0 local.get $1 i32.load $0 i32.const 1 i32.add + local.set $2 + local.get $0 + local.get $1 + i32.store $0 + local.get $2 local.get $1 i32.load $0 offset=4 i32.const 1 @@ -3636,13 +4688,31 @@ global.get $std/operator-overloading/ais2 local.tee $1 i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 local.get $1 i32.load $0 i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $0 local.get $1 i32.load $0 offset=4 i32.add @@ -3682,14 +4752,23 @@ call $std/operator-overloading/TesterInlineInstance#constructor global.set $std/operator-overloading/aii1 global.get $~lib/memory/__stack_pointer - global.get $std/operator-overloading/aii1 local.tee $0 + global.get $std/operator-overloading/aii1 + local.tee $1 i32.store $0 offset=28 local.get $0 + local.get $1 + i32.store $0 + local.get $1 i32.load $0 i32.const 1 i32.add + local.set $2 local.get $0 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 i32.load $0 offset=4 i32.const 1 i32.add @@ -3707,13 +4786,31 @@ global.get $std/operator-overloading/aii2 local.tee $1 i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 local.get $1 i32.load $0 i32.add + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $0 local.get $1 i32.load $0 offset=4 i32.add @@ -3749,7 +4846,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3758,21 +4855,28 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 7 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 1 i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 2 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3969,120 +5073,6 @@ call $~lib/builtins/abort unreachable ) - (func $std/operator-overloading/Tester#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1620 - i32.lt_s - if - i32.const 34416 - i32.const 34464 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/operator-overloading/TesterInlineStatic#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1620 - i32.lt_s - if - i32.const 34416 - i32.const 34464 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $std/operator-overloading/TesterInlineInstance#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1620 - i32.lt_s - if - i32.const 34416 - i32.const 34464 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 - local.get $2 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) (local $1 i32) (local $2 i32) diff --git a/tests/compiler/std/set.debug.wat b/tests/compiler/std/set.debug.wat index 1021a9d36f..0e1961e209 100644 --- a/tests/compiler/std/set.debug.wat +++ b/tests/compiler/std/set.debug.wat @@ -12,21 +12,21 @@ (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_=>_i64 (func_subtype (param i32) (result i64) func)) - (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) + (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $f32_=>_i32 (func_subtype (param f32) (result i32) func)) (type $i32_=>_f32 (func_subtype (param i32) (result f32) func)) - (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) - (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) - (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) + (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) + (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -2451,66 +2451,6 @@ local.get $this i32.load8_s $0 ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - i32.extend8_s - local.get $key - i32.extend8_s - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return - ) (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 @@ -2537,291 +2477,49 @@ local.get $taggedNext i32.store $0 offset=4 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries + i32.load $0 offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity + i32.load $0 offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 + ) + (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer + i32.load $0 offset=16 ) - (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end - local.get $this - return - ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) (local $4 i32) (local $5 i32) local.get $oldPtr @@ -2865,659 +2563,249 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 0 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $buckets + i32.store $0 local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + local.get $buckets i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - i32.const 0 - drop + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this - local.get $newLength - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this - call $~lib/array/Array#get:length_ - return + local.get $entriesCapacity + i32.store $0 offset=12 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value + drop i32.const 0 drop - local.get $value + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.1 (result i32) + local.get $key + i32.const 255 + i32.and + local.set $key|1 + i32.const 1 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.1 + end return ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + i32.load $0 + ) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load8_u $0 + ) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.load $0 offset=16 ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store8 $0 + ) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer i32.store $0 + local.get $this + local.get $buffer i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i32.const 1 - i32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 drop i32.const 0 drop i32.const 0 drop - i32.const 1 + i32.const 2 i32.const 4 i32.le_u drop - block $~lib/util/hash/hash32|inlined.1 (result i32) + block $~lib/util/hash/hash32|inlined.2 (result i32) local.get $key - i32.const 255 - i32.and + i32.extend16_s local.set $key|1 - i32.const 1 + i32.const 2 local.set $len i32.const 0 i32.const 374761393 @@ -3564,357 +2852,53 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.1 + br $~lib/util/hash/hash32|inlined.2 end return ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load8_u $0 - ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - i32.const 255 - i32.and - local.get $key - i32.const 255 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return + i32.load16_s $0 ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - i32.store8 $0 + i32.store16 $0 ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext i32.store $0 offset=4 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - 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#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end - local.get $this - return - ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer i32.store $0 @@ -3923,563 +2907,250 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart i32.store $0 offset=4 ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength i32.store $0 offset=8 ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 0 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $buckets + i32.store $0 local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 + local.get $buckets i32.const 0 - drop + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this - local.get $newLength - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this - call $~lib/array/Array#get:length_ - return + local.get $entriesCapacity + i32.store $0 offset=12 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value + drop i32.const 0 drop - local.get $value + i32.const 0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.3 (result i32) + local.get $key + i32.const 65535 + i32.and + local.set $key|1 + i32.const 2 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.3 + end return ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + i32.load $0 + ) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load16_u $0 + ) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.load $0 offset=16 ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set - i32.store $0 - i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_u - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_u - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store16 $0 + ) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i32.const 1 - i32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity i32.store $0 offset=12 ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset i32.store $0 offset=16 ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount i32.store $0 offset=20 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) (local $len i32) (local $h i32) @@ -4489,15 +3160,14 @@ drop i32.const 0 drop - i32.const 2 + i32.const 4 i32.const 4 i32.le_u drop - block $~lib/util/hash/hash32|inlined.2 (result i32) + block $~lib/util/hash/hash32|inlined.4 (result i32) local.get $key - i32.extend16_s local.set $key|1 - i32.const 2 + i32.const 4 local.set $len i32.const 0 i32.const 374761393 @@ -4544,355 +3214,53 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.2 + br $~lib/util/hash/hash32|inlined.4 end return ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load16_s $0 - ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode + (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - i32.extend16_s - local.get $key - i32.extend16_s - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key - i32.store16 $0 + i32.store $0 ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext i32.store $0 offset=4 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - 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#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 - end - local.get $this - return - ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer i32.store $0 @@ -4901,565 +3269,249 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart i32.store $0 offset=4 ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength i32.store $0 offset=8 ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 1 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $buckets + i32.store $0 local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 + local.get $buckets i32.const 0 - drop + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this - local.get $newLength - i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this - call $~lib/array/Array#get:length_ - return + local.get $entriesCapacity + i32.store $0 offset=12 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 drop - local.get $value + i32.const 0 + drop + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.5 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.5 + end return ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + i32.load $0 + ) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load $0 + ) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.load $0 offset=16 ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set - i32.store $0 - i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store $0 + ) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i32.const 1 - i32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this local.get $entriesCapacity i32.store $0 offset=12 ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this local.get $entriesOffset i32.store $0 offset=16 ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this local.get $entriesCount i32.store $0 offset=20 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) + (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) + (local $key|1 i64) (local $h i32) i32.const 0 drop @@ -5467,25 +3519,41 @@ drop i32.const 0 drop - i32.const 2 + i32.const 8 i32.const 4 i32.le_u drop - block $~lib/util/hash/hash32|inlined.3 (result i32) + i32.const 8 + i32.const 8 + i32.eq + drop + block $~lib/util/hash/hash64|inlined.0 (result i32) local.get $key - i32.const 65535 - i32.and local.set $key|1 - i32.const 2 - local.set $len i32.const 0 i32.const 374761393 i32.add - local.get $len + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul i32.add local.set $h local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul i32.add @@ -5523,357 +3591,250 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.3 + br $~lib/util/hash/hash64|inlined.0 end return ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=4 + i32.load $0 offset=8 ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) local.get $this - i32.load16_u $0 + i64.load $0 ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode + i32.load $0 offset=16 + ) + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - i32.const 65535 - i32.and - local.get $key - i32.const 65535 - i32.and - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return + i32.load $0 offset=12 ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return - ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/set/SetEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) local.get $this local.get $key - i32.store16 $0 + i64.store $0 ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext - i32.store $0 offset=4 + i32.store $0 offset=8 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer + local.get $this + local.get $buffer i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask + i32.load $0 offset=4 + ) + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries + local.get $buckets + i32.store $0 local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) local.get $this - call $~lib/set/Set#get:entriesCount - 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 $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link ) - (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) + (local $key|1 i64) + (local $h 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 + block $~lib/util/hash/hash64|inlined.1 (result i32) local.get $key - call $~lib/set/SetEntry#set:key + local.set $key|1 i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 + i32.const 374761393 i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 i32.mul i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash64|inlined.1 end - local.get $this return ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - return + i32.load $0 ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) + local.get $this + i64.load $0 + ) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) + local.get $this + local.get $key + i64.store $0 + ) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) local.get $this local.get $buffer i32.store $0 @@ -5882,589 +3843,293 @@ i32.const 0 call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) local.get $this local.get $dataStart i32.store $0 offset=4 ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this local.get $byteLength i32.store $0 offset=8 ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 1 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end + local.get $buckets + i32.store $0 local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 + local.get $buckets i32.const 0 - drop + call $~lib/rt/itcms/__link ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) local.get $this - local.get $newLength - i32.const 1 + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 - call $~lib/array/ensureCapacity + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ + local.get $entriesCapacity + i32.store $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) local.get $this - call $~lib/array/Array#get:length_ - return + local.get $entriesOffset + i32.store $0 offset=16 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) i32.const 0 drop - local.get $value + i32.const 0 + drop + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.eq + drop + block $~lib/util/hash/hash32|inlined.6 (result i32) + local.get $key + i32.reinterpret_f32 + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add + local.get $len + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 15 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -2048144777 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 13 + i32.shr_u + i32.xor + local.set $h + local.get $h + i32.const -1028477379 + i32.mul + local.set $h + local.get $h + local.get $h + i32.const 16 + i32.shr_u + i32.xor + local.set $h + local.get $h + br $~lib/util/hash/hash32|inlined.6 + end return ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + i32.load $0 + ) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load $0 offset=4 + ) + (func $~lib/set/SetEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + f32.load $0 + ) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.load $0 offset=16 ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|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 $0 - global.get $~lib/memory/__stack_pointer + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/set/SetEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) + local.get $this + local.get $key + f32.store $0 + ) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart + i32.store $0 offset=4 + ) + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $this + local.get $byteLength i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets i32.store $0 + local.get $this + local.get $buckets i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_u - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_u - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet + ) + (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries i32.store $0 offset=8 + local.get $this + local.get $entries i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 + call $~lib/rt/itcms/__link + ) + (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) + (local $key|1 i64) + (local $h i32) i32.const 0 - local.set $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - call $~lib/set/Set#get:size - i32.const 50 + drop + i32.const 0 + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 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 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i32.const 1 - i32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - block $~lib/util/hash/hash32|inlined.4 (result i32) - local.get $key - local.set $key|1 - i32.const 4 - local.set $len + drop + i32.const 8 + i32.const 8 + i32.eq + drop + block $~lib/util/hash/hash64|inlined.2 (result i32) + local.get $key + i64.reinterpret_f64 + local.set $key|1 i32.const 0 i32.const 374761393 i32.add - local.get $len + i32.const 8 + i32.add + local.set $h + local.get $h + local.get $key|1 + i32.wrap_i64 + i32.const -1028477379 + i32.mul i32.add local.set $h local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $h local.get $key|1 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul i32.add @@ -6502,1009 +4167,679 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.4 + br $~lib/util/hash/hash64|inlined.2 end return ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode + (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - local.get $key - i32.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return + i32.load $0 offset=8 ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/set/SetEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return + f64.load $0 ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=20 ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + (func $~lib/set/SetEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) local.get $this local.get $key - i32.store $0 + f64.store $0 ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) local.get $this local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + local.get $this + local.get $buffer + i32.store $0 + local.get $this + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + local.get $this + local.get $dataStart i32.store $0 offset=4 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 + (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr + local.get $byteLength + i32.store $0 offset=8 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/rt/itcms/__collect (type $none_=>_none) + 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 + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end + end end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 i32.ne if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 + call $~lib/rt/itcms/step + drop + br $while-continue|1 end end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset - global.get $~lib/memory/__stack_pointer - i32.const 8 + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop ) - (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz + (func $start:std/set (type $none_=>_none) + memory.size $0 + 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 (type $i32_=>_none) (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 32 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit end - local.get $this - return ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - return + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $dataStart - i32.store $0 offset=4 + i32.load $0 ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=12 + i32.load $0 ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) - local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ + i32.load $0 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.load $0 ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set - i32.store $0 - i32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i32.const 1 - i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_s - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - i32.const 1 - i32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet - i32.store $0 offset=8 - i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/set/Set#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 + 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 $valSet - call $~lib/set/Set#get:size - local.get $set - call $~lib/set/Set#get:size - i32.eq - i32.eqz + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/set + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 + i32.const 33520 + i32.const 33568 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + ) + (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_s - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i32.const 1 - i32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - call $~lib/set/Set#get:size - i32.const 50 - i32.eq + i32.store $0 offset=8 + local.get $this i32.eqz if - i32.const 0 - i32.const 544 - i32.const 45 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $set - call $~lib/set/Set#clear - local.get $set - call $~lib/set/Set#get:size + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 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 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets local.get $this - local.get $buckets - i32.store $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + call $~lib/set/Set#set:entriesOffset local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - block $~lib/util/hash/hash32|inlined.5 (result i32) - local.get $key - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.5 - end - return - ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/set/Set#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets local.get $hashCode local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul @@ -7515,7 +4850,7 @@ local.get $entry if local.get $entry - call $~lib/set/SetEntry#get:taggedNext + call $~lib/set/SetEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -7523,14 +4858,22 @@ i32.eqz if (result i32) local.get $entry - call $~lib/set/SetEntry#get:key + call $~lib/set/SetEntry#get:key + i32.extend8_s local.get $key + i32.extend8_s i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -7543,45 +4886,45 @@ end end 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 ) - (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find + 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 return ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store $0 - ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=4 - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -7594,14 +4937,18 @@ (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -7623,23 +4970,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 + br $~lib/set/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/set/Set#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 + br $~lib/set/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -7654,7 +5011,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext + call $~lib/set/SetEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -7662,13 +5019,13 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/set/SetEntry#get:key + call $~lib/set/SetEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -7681,22 +5038,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 + br $~lib/set/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 + br $~lib/set/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -7704,53 +5061,132 @@ end end local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBuckets - call $~lib/set/Set#set:buckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntries - call $~lib/set/Set#set:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $hashCode i32) (local $entry i32) (local $4 i32) (local $bucketPtrBase 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 $0 local.get $key - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find local.set $entry local.get $entry i32.eqz if local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.eq if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -7758,50 +5194,95 @@ i32.lt_s if (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask else local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end local.get $this - call $~lib/set/Set#get:entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.tee $4 i32.const 1 i32.add - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 + br $~lib/set/ENTRY_SIZE|inlined.5 end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key i32.const 0 drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount i32.const 1 i32.add - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $this - call $~lib/set/Set#get:buckets + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets local.get $hashCode local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul @@ -7810,1774 +5291,1695 @@ local.get $entry local.get $bucketPtrBase i32.load $0 - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 return ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - local.get $buffer - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + call $~lib/array/Array#set:buffer local.get $this - local.get $dataStart + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select i32.const 0 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 end - i32.const 1 - return + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i32) - (local $k|2 i32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i32) - (local $k|7 i32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 0 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 0 - i32.store $0 offset=8 + i32.shl + i32.add + local.get $value + i32.store8 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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/set/Set#constructor - local.tee $set i32.store $0 + local.get $this + local.get $newLength i32.const 0 - local.set $k + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i loop $for-loop|0 - local.get $k - i32.const 100 - i32.lt_u + local.get $i + local.get $size + i32.lt_s if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - call $~lib/set/Set#has - i32.eqz - if - i32.const 0 - i32.const 544 + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable + br $~lib/set/ENTRY_SIZE|inlined.6 end - local.get $k - i32.const 1 + i32.mul i32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - i32.const 100 - i32.lt_u - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - call $~lib/set/Set#has + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set end - local.get $k|2 + local.get $i i32.const 1 i32.add - local.set $k|2 - br $for-loop|1 + local.set $i + br $for-loop|0 end end - local.get $set - 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 + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $set - call $~lib/set/Set#values - local.tee $vals - i32.store $0 offset=4 + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - call $~lib/set/Set#constructor - local.tee $valSet - i32.store $0 offset=8 + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - call $~lib/set/Set#get:size - i32.eq - i32.eqz + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - i32.const 0 - i32.const 544 - i32.const 27 - i32.const 3 + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 0 - local.set $k|6 - loop $for-loop|3 - local.get $k|6 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i32.const 1 - i32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - call $~lib/set/Set#get:size - i32.const 50 - i32.eq + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry i32.eqz if i32.const 0 - i32.const 544 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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.const 0 - local.set $k|7 - loop $for-loop|4 - local.get $k|7 - i32.const 50 - i32.lt_u - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - call $~lib/set/Set#has + local.get $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i32) + (local $k|2 i32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i32) + (local $k|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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#has i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 43 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|7 + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k i32.const 1 i32.add - local.set $k|7 - br $for-loop|4 + local.set $k + br $for-loop|0 end end local.get $set - call $~lib/set/Set#get:size - i32.const 50 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 10 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $set - call $~lib/set/Set#clear - local.get $set - call $~lib/set/Set#get:size - i32.const 0 - i32.eq - i32.eqz - if + i32.const 50 + local.set $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq + i32.eqz + if i32.const 0 i32.const 544 - i32.const 49 + i32.const 18 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 (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) - local.get $this - local.get $bucketsMask + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries + local.get $8 + call $~lib/set/Set#values + local.tee $vals i32.store $0 offset=8 - local.get $this - local.get $entries + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity + call $~lib/set/Set#constructor + local.tee $valSet i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) - (local $key|1 i64) - (local $h 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 - block $~lib/util/hash/hash64|inlined.0 (result i32) - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.0 - end - return - ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 - ) - (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - local.get $key - i64.eq - else + if i32.const 0 + i32.const 544 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable end - if - local.get $entry - return - end - local.get $taggedNext + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 + i32.add + local.set $index + br $for-loop|2 end end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return - ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) - local.get $this - local.get $key - i64.store $0 - ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $valSet + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries + local.get $8 i32.store $0 offset=4 - local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.2 + local.get $8 + 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.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne + i32.const 0 + local.set $k|6 + loop $for-loop|3 + local.get $k|6 + i32.const 50 + i32.lt_s if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#has i32.eqz if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr + i32.const 0 + i32.const 544 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.4 + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i32.const 1 i32.add - local.set $oldPtr - br $while-continue|0 + local.set $k|6 + br $for-loop|3 end end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#add (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq i32.eqz if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + i32.const 50 + i32.lt_s if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries - local.get $this - local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.5 + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i32.const 1 + i32.add + local.set $k|7 + br $for-loop|4 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz + if i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + i32.const 544 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - return - ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - return - ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) - local.get $this - local.get $buffer - i32.store $0 - local.get $this - local.get $buffer + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 0 - call $~lib/rt/itcms/__link + 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/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this - local.get $dataStart - i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $1 + call $~lib/set/Set#set:buckets local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity local.get $this - local.get $newLength - i32.const 3 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index + call $~lib/set/Set#set:entriesOffset local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) + (local $taggedNext i32) (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 - local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return - ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i64) - (local $k|2 i64) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i64) - (local $k|7 i64) 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store $0 + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set + local.get $5 i32.store $0 - i64.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i64.const 100 - i64.lt_s + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry if - local.get $set - local.get $k - call $~lib/set/Set#has + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and i32.eqz - i32.eqz - if + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + i32.const 255 + i32.and + local.get $key + i32.const 255 + i32.and + i32.eq + else i32.const 0 - i32.const 544 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable end - local.get $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 + local.get $entry + 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 $k - i64.const 1 - i64.add - local.set $k - br $for-loop|0 + local.get $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 end end - local.get $set - 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 + 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 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 end - i64.const 50 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - i64.const 100 - i64.lt_s + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $set - local.get $k|2 - call $~lib/set/Set#has + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr end - local.get $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 end - local.get $k|2 - i64.const 1 - i64.add - local.set $k|2 - br $for-loop|1 + i32.add + local.set $oldPtr + br $while-continue|0 end end - local.get $set - 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 $set - call $~lib/set/Set#values - local.tee $vals - i32.store $0 offset=4 + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet + local.get $14 i32.store $0 offset=8 - i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length - i32.lt_s - if - local.get $set - local.get $vals - local.get $index - 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 $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index - i32.const 1 - i32.add - local.set $index - br $for-loop|2 - end - end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 $k|6 - loop $for-loop|3 - local.get $k|6 - i64.const 50 - i64.lt_s - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - i64.const 1 - i64.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 $k|7 - loop $for-loop|4 - local.get $k|7 - i64.const 50 - i64.lt_s - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - i64.const 1 - i64.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 + local.get $14 + local.get $newBuckets + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets local.get $this - local.get $buckets - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask local.get $this - local.get $bucketsMask - i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries local.get $this - local.get $entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - local.get $entriesCapacity + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $i64_=>_i32) (param $key i64) (result i32) - (local $key|1 i64) - (local $h 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 - block $~lib/util/hash/hash64|inlined.1 (result i32) - local.get $key - local.set $key|1 - i32.const 0 - i32.const 374761393 - i32.add - i32.const 8 - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.1 - end - return - ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_i64) (param $this i32) (result i64) - local.get $this - i64.load $0 - ) - (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - local.get $key - i64.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end - end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return - ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#set:key (type $i32_i64_=>_none) (param $this i32) (param $key i64) - local.get $this - local.get $key - i64.store $0 - ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -9586,155 +6988,58 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets + local.get $6 i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - 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#add (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this + local.get $6 local.get $key local.get $hashCode - call $~lib/set/Set#find + call $~lib/set/Set#find local.set $entry local.get $entry i32.eqz if local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.eq if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -9742,50 +7047,95 @@ i32.lt_s if (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask else local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end local.get $this - call $~lib/set/Set#get:entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.tee $4 i32.const 1 i32.add - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.5 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key i32.const 0 drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount i32.const 1 i32.add - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $this - call $~lib/set/Set#get:buckets + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets local.get $hashCode local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul @@ -9794,55 +7144,201 @@ local.get $entry local.get $bucketPtrBase i32.load $0 - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 return ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - local.get $buffer - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + call $~lib/array/Array#set:buffer local.get $this - local.get $dataStart + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 0 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 0 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - i32.load $0 offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if local.get $index @@ -9860,295 +7356,681 @@ local.get $index i32.const 1 i32.add - i32.const 3 + i32.const 0 i32.const 1 call $~lib/array/ensureCapacity local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $index i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 3 + i32.const 0 i32.shl i32.add local.get $value - i64.store $0 + i32.store8 $0 i32.const 0 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 local.get $this local.get $newLength - i32.const 3 + i32.const 0 i32.const 0 call $~lib/array/ensureCapacity local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - call $~lib/set/Set#set:entriesCount + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add - i32.const 4 - local.tee $4 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size i32.lt_s - else - i32.const 0 + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - i32.const 1 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + local.get $value + 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 $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k i64) - (local $k|2 i64) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 i64) - (local $k|7 i64) + (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $set + local.get $6 i32.store $0 - i64.const 0 - local.set $k - loop $for-loop|0 - local.get $k - i64.const 100 - i64.lt_u - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - i64.const 1 - i64.add - local.set $k - br $for-loop|0 - end - end - local.get $set - call $~lib/set/Set#get:size - i32.const 100 - i32.eq + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry i32.eqz if i32.const 0 - i32.const 544 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 - i64.const 50 - local.set $k|2 - loop $for-loop|1 - local.get $k|2 - i64.const 100 - i64.lt_u - if - local.get $set - local.get $k|2 - call $~lib/set/Set#has + local.get $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i32) + (local $k|2 i32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i32) + (local $k|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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#has + i32.eqz i32.eqz if i32.const 0 i32.const 544 - i32.const 14 + i32.const 6 i32.const 5 call $~lib/builtins/abort unreachable end local.get $set - local.get $k|2 - call $~lib/set/Set#add + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add drop local.get $set - local.get $k|2 - call $~lib/set/Set#has + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#has i32.eqz if i32.const 0 i32.const 544 - i32.const 16 + i32.const 8 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $k|2 - i64.const 1 - i64.add - local.set $k|2 - br $for-loop|1 + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 10 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.get $set - call $~lib/set/Set#values - local.tee $vals - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet - i32.store $0 offset=8 - i32.const 0 + i32.const 50 + local.set $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 local.set $index loop $for-loop|2 local.get $index local.get $vals - call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#has + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10159,10 +8041,20 @@ unreachable end local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add + call $~lib/array/Array#__get + call $~lib/set/Set#add drop local.get $index i32.const 1 @@ -10172,9 +8064,19 @@ end end local.get $valSet - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -10185,16 +8087,21 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $k|6 loop $for-loop|3 local.get $k|6 - i64.const 50 - i64.lt_u + i32.const 50 + i32.lt_u if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10205,12 +8112,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#delete + call $~lib/set/Set#delete drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10222,14 +8139,19 @@ unreachable end local.get $k|6 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $k|6 br $for-loop|3 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -10241,16 +8163,21 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $k|7 loop $for-loop|4 local.get $k|7 - i64.const 50 - i64.lt_u + i32.const 50 + i32.lt_u if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10262,12 +8189,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10278,12 +8215,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#delete + call $~lib/set/Set#delete drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -10295,14 +8242,19 @@ unreachable end local.get $k|7 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $k|7 br $for-loop|4 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -10315,9 +8267,19 @@ unreachable end local.get $set - call $~lib/set/Set#clear + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -10330,141 +8292,139 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this - local.get $buckets - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buckets + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $this - local.get $entries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries local.get $this - local.get $entries - i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) - local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $f32_=>_i32) (param $key f32) (result i32) - (local $key|1 i32) - (local $len i32) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop - i32.const 4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 - i32.eq - drop - block $~lib/util/hash/hash32|inlined.6 (result i32) - local.get $key - i32.reinterpret_f32 - local.set $key|1 - i32.const 4 - local.set $len - i32.const 0 - i32.const 374761393 - i32.add - local.get $len - i32.add - local.set $h - local.get $h - local.get $key|1 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash32|inlined.6 - end - return - ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/set/Set#set:entriesCapacity local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_f32) (param $this i32) (result f32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount local.get $this - f32.load $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/set/Set#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/set/Set#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets local.get $hashCode local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul @@ -10475,7 +8435,7 @@ local.get $entry if local.get $entry - call $~lib/set/SetEntry#get:taggedNext + call $~lib/set/SetEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -10483,14 +8443,22 @@ i32.eqz if (result i32) local.get $entry - call $~lib/set/SetEntry#get:key + call $~lib/set/SetEntry#get:key + i32.extend16_s local.get $key - f32.eq + i32.extend16_s + i32.eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -10503,45 +8471,45 @@ end end 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 ) - (func $~lib/set/Set#has (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $key local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find + 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 return ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#set:key (type $i32_f32_=>_none) (param $this i32) (param $key f32) - local.get $this - local.get $key - f32.store $0 - ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=4 - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) (local $newEntriesCapacity i32) @@ -10551,17 +8519,21 @@ (local $newPtr i32) (local $oldEntry i32) (local $newEntry i32) - (local $oldEntryKey f32) + (local $oldEntryKey i32) (local $newBucketIndex i32) (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -10583,23 +8555,33 @@ global.get $~lib/memory/__stack_pointer i32.const 0 local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.1 + br $~lib/set/ENTRY_SIZE|inlined.1 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $newEntries i32.store $0 offset=4 local.get $this - call $~lib/set/Set#get:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries local.set $oldPtr local.get $oldPtr local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.2 + br $~lib/set/ENTRY_SIZE|inlined.2 end i32.mul i32.add @@ -10614,7 +8596,7 @@ local.get $oldPtr local.set $oldEntry local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext + call $~lib/set/SetEntry#get:taggedNext i32.const 1 i32.and i32.eqz @@ -10622,13 +8604,13 @@ local.get $newPtr local.set $newEntry local.get $oldEntry - call $~lib/set/SetEntry#get:key + call $~lib/set/SetEntry#get:key local.set $oldEntryKey local.get $newEntry local.get $oldEntryKey - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key local.get $oldEntryKey - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.get $newBucketsMask i32.and local.set $newBucketIndex @@ -10641,22 +8623,22 @@ local.get $newEntry local.get $newBucketPtrBase i32.load $0 - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $newBucketPtrBase local.get $newPtr i32.store $0 local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.3 + br $~lib/set/ENTRY_SIZE|inlined.3 end i32.add local.set $newPtr end local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.4 + br $~lib/set/ENTRY_SIZE|inlined.4 end i32.add local.set $oldPtr @@ -10664,53 +8646,132 @@ end end local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBuckets - call $~lib/set/Set#set:buckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntries - call $~lib/set/Set#set:entries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $hashCode i32) (local $entry i32) (local $4 i32) (local $bucketPtrBase 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 $0 local.get $key - call $~lib/util/hash/HASH + call $~lib/util/hash/HASH local.set $hashCode local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $key local.get $hashCode - call $~lib/set/Set#find + call $~lib/set/Set#find local.set $entry local.get $entry i32.eqz if local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.eq if local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount local.get $this - call $~lib/set/Set#get:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity i32.const 3 i32.mul i32.const 4 @@ -10718,50 +8779,95 @@ i32.lt_s if (result i32) local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask else local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.const 1 i32.shl i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end local.get $this - call $~lib/set/Set#get:entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset local.tee $4 i32.const 1 i32.add - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.5 + br $~lib/set/ENTRY_SIZE|inlined.5 end i32.mul i32.add local.set $entry local.get $entry local.get $key - call $~lib/set/SetEntry#set:key + call $~lib/set/SetEntry#set:key i32.const 0 drop local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount i32.const 1 i32.add - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $this - call $~lib/set/Set#get:buckets + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets local.get $hashCode local.get $this - call $~lib/set/Set#get:bucketsMask + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask i32.and i32.const 4 i32.mul @@ -10770,1230 +8876,714 @@ local.get $entry local.get $bucketPtrBase i32.load $0 - call $~lib/set/SetEntry#set:taggedNext + call $~lib/set/SetEntry#set:taggedNext local.get $bucketPtrBase local.get $entry i32.store $0 end local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 return ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - local.get $buffer - i32.store $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) + call $~lib/array/Array#set:buffer local.get $this - local.get $dataStart + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) - local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) - local.get $index + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 1 i32.shl - i32.add - local.get $value - f32.store $0 - i32.const 0 + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) local.get $this - local.get $newLength - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - call $~lib/array/Array#get:length_ - return + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $value f32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 1 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 2 + i32.const 1 i32.shl i32.add - f32.load $0 - local.set $value + local.get $value + i32.store16 $0 i32.const 0 drop - local.get $value - return - ) - (func $~lib/set/Set#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 - i32.add + global.get $~lib/memory/__stack_pointer i32.const 4 - local.tee $4 - local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) - (local $set i32) - (local $k f32) - (local $k|2 f32) - (local $vals i32) - (local $valSet i32) - (local $index i32) - (local $k|6 f32) - (local $k|7 f32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer + i32.store $0 + local.get $this + local.get $newLength + i32.const 1 i32.const 0 - call $~lib/set/Set#constructor - local.tee $set + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - f32.const 0 - local.set $k - loop $for-loop|0 - local.get $k - f32.const 100 - f32.lt - if - local.get $set - local.get $k - 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 $set - local.get $k - call $~lib/set/Set#add - drop - local.get $set - local.get $k - 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 $k - f32.const 1 - f32.add - local.set $k - br $for-loop|0 - end - end - local.get $set - 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 $k|2 - loop $for-loop|1 - local.get $k|2 - f32.const 100 - f32.lt - if - local.get $set - local.get $k|2 - 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 $set - local.get $k|2 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|2 - 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 $k|2 - f32.const 1 - f32.add - local.set $k|2 - br $for-loop|1 - end - end - local.get $set - 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 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ global.get $~lib/memory/__stack_pointer - local.get $set - call $~lib/set/Set#values - local.tee $vals - i32.store $0 offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor - local.tee $valSet - i32.store $0 offset=8 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 i32.const 0 - local.set $index - loop $for-loop|2 - local.get $index - local.get $vals - call $~lib/array/Array#get:length + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size i32.lt_s if - local.get $set - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#has + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and i32.eqz if - i32.const 0 - i32.const 544 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set end - local.get $valSet - local.get $vals - local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add - drop - local.get $index + local.get $i i32.const 1 i32.add - local.set $index - br $for-loop|2 + local.set $i + br $for-loop|0 end end - local.get $valSet - call $~lib/set/Set#get:size - local.get $set - 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 $k|6 - loop $for-loop|3 - local.get $k|6 - f32.const 50 - f32.lt - if - local.get $set - local.get $k|6 - 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 $set - local.get $k|6 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|6 - 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 $k|6 - f32.const 1 - f32.add - local.set $k|6 - br $for-loop|3 - end - end - local.get $set - 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 $k|7 - loop $for-loop|4 - local.get $k|7 - f32.const 50 - f32.lt - if - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#add - drop - local.get $set - local.get $k|7 - 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 $set - local.get $k|7 - call $~lib/set/Set#delete - drop - local.get $set - local.get $k|7 - 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 $k|7 - f32.const 1 - f32.add - local.set $k|7 - br $for-loop|4 - end - end - local.get $set - 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 $set - call $~lib/set/Set#clear - local.get $set - 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 + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/set/Set#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + i32.store $0 local.get $this - local.get $bucketsMask - i32.store $0 offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/set/Set#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 - call $~lib/rt/itcms/__link - ) - (func $~lib/set/Set#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/set/Set#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + i32.store $0 + local.get $index local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/set/Set#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $this - local.get $entriesCount - i32.store $0 offset=20 - ) - (func $~lib/util/hash/HASH (type $f64_=>_i32) (param $key f64) (result i32) - (local $key|1 i64) - (local $h i32) - i32.const 0 - drop - i32.const 0 - drop + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 drop - i32.const 8 + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - drop - i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.eq - drop - block $~lib/util/hash/hash64|inlined.2 (result i32) - local.get $key - i64.reinterpret_f64 - local.set $key|1 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if i32.const 0 - i32.const 374761393 - i32.add + local.set $6 + global.get $~lib/memory/__stack_pointer i32.const 8 i32.add - local.set $h - local.get $h - local.get $key|1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $key|1 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 15 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -2048144777 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 13 - i32.shr_u - i32.xor - local.set $h - local.get $h - i32.const -1028477379 - i32.mul - local.set $h - local.get $h - local.get $h - i32.const 16 - i32.shr_u - i32.xor - local.set $h - local.get $h - br $~lib/util/hash/hash64|inlined.2 - end - return - ) - (func $~lib/set/Set#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/set/Set#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/set/SetEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#get:key (type $i32_=>_f64) (param $this i32) (result f64) - local.get $this - f64.load $0 - ) - (func $~lib/set/Set#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) - (local $entry i32) - (local $taggedNext i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - i32.load $0 - local.set $entry - loop $while-continue|0 - local.get $entry - if - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - local.set $taggedNext - local.get $taggedNext - i32.const 1 - i32.and - i32.eqz - if (result i32) - local.get $entry - call $~lib/set/SetEntry#get:key - local.get $key - f64.eq - else - i32.const 0 - end - if - local.get $entry - return - end - local.get $taggedNext - i32.const 1 - i32.const -1 - i32.xor - i32.and - local.set $entry - br $while-continue|0 - end + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - i32.const 0 - return - ) - (func $~lib/set/Set#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - i32.const 0 - i32.ne - return - ) - (func $~lib/set/Set#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/set/Set#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/set/Set#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/set/Set#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/set/SetEntry#set:key (type $i32_f64_=>_none) (param $this i32) (param $key f64) + local.get $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext local.get $this - local.get $key - f64.store $0 - ) - (func $~lib/set/SetEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $this - local.get $taggedNext - i32.store $0 offset=8 - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey f64) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $newBucketsMask + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask i32.const 1 i32.add - local.set $newBucketsCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newBucketsCapacity i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 + local.tee $4 local.get $this - call $~lib/set/Set#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/set/Set#get:entriesOffset - block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - local.get $oldEntry - call $~lib/set/SetEntry#get:key - local.set $oldEntryKey - local.get $newEntry - local.get $oldEntryKey - call $~lib/set/SetEntry#set:key - local.get $oldEntryKey - call $~lib/util/hash/HASH - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets - call $~lib/set/Set#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/set/Set#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/set/Set#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/set/Set#set:entriesCapacity - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - call $~lib/set/Set#set:entriesOffset + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#add (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $4 i32) - (local $bucketPtrBase i32) - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode - local.get $this - local.get $key - local.get $hashCode - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - local.get $this - call $~lib/set/Set#get:entriesOffset - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.eq - if - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/set/Set#get:bucketsMask - else - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $this - call $~lib/set/Set#get:entries + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount local.get $this - call $~lib/set/Set#get:entriesOffset - local.tee $4 - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesOffset - local.get $4 - block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.5 - end + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/set/SetEntry#set:key + i32.const 4 + i32.div_s + i32.lt_s + else i32.const 0 - drop - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.add - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:buckets - local.get $hashCode + end + if local.get $this - call $~lib/set/Set#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/set/SetEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash end - local.get $this - return - ) - (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount + 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 ) - (func $~lib/array/Array#set:buffer (type $i32_i32_=>_none) (param $this i32) (param $buffer i32) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 local.get $this - local.get $buffer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 - local.get $this - local.get $buffer + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/array/Array#set:dataStart (type $i32_i32_=>_none) (param $this i32) (param $dataStart i32) - local.get $this - local.get $dataStart + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/array/Array#set:byteLength (type $i32_i32_=>_none) (param $this i32) (param $byteLength i32) + local.get $1 + call $~lib/set/Set#set:buckets local.get $this - local.get $byteLength - i32.store $0 offset=8 - ) - (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) - local.get $index + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 224 - i32.const 592 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - f64.store $0 - i32.const 0 - drop - ) - (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity local.get $this - local.get $newLength - i32.const 3 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - call $~lib/array/ensureCapacity - local.get $this - local.get $newLength - call $~lib/array/Array#set:length_ - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $value f64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 224 - i32.const 592 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + call $~lib/set/Set#set:entriesOffset local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 - drop - local.get $value - return - ) - (func $~lib/set/Set#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) - (local $entry i32) - (local $halfBucketsMask i32) - (local $4 i32) - (local $5 i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH - call $~lib/set/Set#find - local.set $entry - local.get $entry - i32.eqz - if - i32.const 0 - return - end - local.get $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.or - call $~lib/set/SetEntry#set:taggedNext - local.get $this - local.get $this - call $~lib/set/Set#get:entriesCount - i32.const 1 - i32.sub - call $~lib/set/Set#set:entriesCount - local.get $this - call $~lib/set/Set#get:bucketsMask - i32.const 1 - i32.shr_u - local.set $halfBucketsMask - local.get $halfBucketsMask - i32.const 1 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.const 4 - local.tee $4 - local.get $this - call $~lib/set/Set#get:entriesCount - local.tee $5 - local.get $4 - local.get $5 - i32.gt_u - select - i32.ge_u - if (result i32) - local.get $this - call $~lib/set/Set#get:entriesCount - local.get $this - call $~lib/set/Set#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - else - i32.const 0 - end - if - local.get $this - local.get $halfBucketsMask - call $~lib/set/Set#rehash - end - i32.const 1 - return + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) + (func $std/set/testNumeric (type $none_=>_none) (local $set i32) - (local $k f64) - (local $k|2 f64) + (local $k i32) + (local $k|2 i32) (local $vals i32) (local $valSet i32) (local $index i32) - (local $k|6 f64) - (local $k|7 f64) + (local $k|6 i32) + (local $k|7 i32) + (local $8 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $set i32.store $0 - f64.const 0 + i32.const 0 local.set $k loop $for-loop|0 local.get $k - f64.const 100 - f64.lt + i32.const 100 + i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -12005,12 +9595,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12021,14 +9621,19 @@ unreachable end local.get $k - f64.const 1 - f64.add + i32.const 1 + i32.add local.set $k br $for-loop|0 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -12040,16 +9645,21 @@ call $~lib/builtins/abort unreachable end - f64.const 50 + i32.const 50 local.set $k|2 loop $for-loop|1 local.get $k|2 - f64.const 100 - f64.lt + i32.const 100 + i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|2 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12060,12 +9670,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|2 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|2 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12076,14 +9696,19 @@ unreachable end local.get $k|2 - f64.const 1 - f64.add + i32.const 1 + i32.add local.set $k|2 br $for-loop|1 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 100 i32.eq i32.eqz @@ -12097,27 +9722,47 @@ end global.get $~lib/memory/__stack_pointer local.get $set - call $~lib/set/Set#values - local.tee $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#constructor + call $~lib/set/Set#constructor local.tee $valSet - i32.store $0 offset=8 + i32.store $0 offset=12 i32.const 0 local.set $index loop $for-loop|2 local.get $index local.get $vals - call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#has + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12128,10 +9773,20 @@ unreachable end local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 local.get $index - call $~lib/array/Array#__get - call $~lib/set/Set#add + call $~lib/array/Array#__get + call $~lib/set/Set#add drop local.get $index i32.const 1 @@ -12141,9 +9796,19 @@ end end local.get $valSet - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.eq i32.eqz if @@ -12154,16 +9819,21 @@ call $~lib/builtins/abort unreachable end - f64.const 0 + i32.const 0 local.set $k|6 loop $for-loop|3 local.get $k|6 - f64.const 50 - f64.lt + i32.const 50 + i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12174,12 +9844,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#delete + call $~lib/set/Set#delete drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|6 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -12191,14 +9871,19 @@ unreachable end local.get $k|6 - f64.const 1 - f64.add + i32.const 1 + i32.add local.set $k|6 br $for-loop|3 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -12210,16 +9895,21 @@ call $~lib/builtins/abort unreachable end - f64.const 0 + i32.const 0 local.set $k|7 loop $for-loop|4 local.get $k|7 - f64.const 50 - f64.lt + i32.const 50 + i32.lt_s if local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -12231,12 +9921,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#add + call $~lib/set/Set#add drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12247,12 +9947,22 @@ unreachable end local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#delete + call $~lib/set/Set#delete drop local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 local.get $k|7 - call $~lib/set/Set#has + call $~lib/set/Set#has i32.eqz i32.eqz if @@ -12264,14 +9974,19 @@ unreachable end local.get $k|7 - f64.const 1 - f64.add + i32.const 1 + i32.add local.set $k|7 br $for-loop|4 end end local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 50 i32.eq i32.eqz @@ -12284,9 +9999,19 @@ unreachable end local.get $set - call $~lib/set/Set#clear + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear local.get $set - call $~lib/set/Set#get:size + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size i32.const 0 i32.eq i32.eqz @@ -12299,727 +10024,10426 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - i32.const 0 - drop - global.get $~lib/rt/itcms/state + (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.gt_s + i32.store $0 offset=8 + local.get $this + i32.eqz if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - 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 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - 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 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - drop - ) - (func $start:std/set (type $none_=>_none) - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base - i32.sub + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 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 (type $i32_=>_none) (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 32 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + i32.sub + call $~lib/set/Set#set:bucketsMask local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=8 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + call $~lib/set/Set#set:entries local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + i32.const 4 + call $~lib/set/Set#set:entriesCapacity local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit - local.get $this - call $~lib/set/Set#get:entries - local.set $entries i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) i32.const 0 - drop + call $~lib/set/Set#set:entriesCount local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/array/Array#__visit ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.get $hashCode local.get $this - call $~lib/set/Set#get:entries - local.set $entries + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + i32.const 65535 + i32.and + local.get $key + i32.const 65535 + i32.and + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 local.get $this - i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end local.get $this - i32.load $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 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 - drop + i32.store $0 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/array/Array#__visit + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end local.get $this - call $~lib/set/Set#get:entries - local.set $entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/array/Array#set:buffer local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + call $~lib/array/Array#set:dataStart local.get $this - call $~lib/set/Set#get:entries - local.set $entries + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + call $~lib/array/Array#set:byteLength local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 1 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 1 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne drop local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - call $~lib/set/Set#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - call $~lib/set/Set#get:entries - local.set $entries - i32.const 0 - drop - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/set/Set~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/set/Set#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength local.get $this - i32.load $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 - drop + i32.store $0 + local.get $index local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - 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 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 1 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 1 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i32) + (local $k|2 i32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i32) + (local $k|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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + i32.const 50 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i32.const 1 + i32.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + i32.const 50 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i32.const 1 + i32.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i32) + (local $k|2 i32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i32) + (local $k|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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + i32.const 50 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i32.const 1 + i32.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + i32.const 50 + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i32.const 1 + i32.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + i32.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 15 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i32) + (local $k|2 i32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i32) + (local $k|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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + i32.const 1 + i32.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i32.const 100 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i32.const 1 + i32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + i32.const 50 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i32.const 1 + i32.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + i32.const 50 + i32.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i32.const 1 + i32.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + i64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 17 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i64) + (local $k|2 i64) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i64) + (local $k|7 i64) + (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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i64.const 100 + i64.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + i64.const 1 + i64.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i64.const 100 + i64.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i64.const 1 + i64.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + i64.const 50 + i64.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i64.const 1 + i64.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|7 + loop $for-loop|4 + local.get $k|7 + i64.const 50 + i64.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i64.const 1 + i64.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $this i32) (param $key i64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + i64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/set/Set#has (type $i32_i64_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 end - local.get $0 - local.get $1 - call $~lib/array/Array~visit + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_i64_=>_i32) (param $this i32) (param $key i64) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k i64) + (local $k|2 i64) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 i64) + (local $k|7 i64) + (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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + i64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + i64.const 100 + i64.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + i64.const 1 + i64.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + i64.const 100 + i64.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + i64.const 1 + i64.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + i64.const 50 + i64.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + i64.const 1 + i64.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|7 + loop $for-loop|4 + local.get $k|7 + i64.const 50 + i64.lt_u + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + i64.const 1 + i64.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/set/Set#find (type $i32_f32_i32_=>_i32) (param $this i32) (param $key f32) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + f32.eq + else + i32.const 0 + end + if + local.get $entry + 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 - call $~lib/set/Set~visit - return + local.get $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end + 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 + ) + (func $~lib/set/Set#has (type $i32_f32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end + end + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase 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 $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry + i32.eqz + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/set/Set#get:entriesCount + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 + i32.const 8 + local.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + f32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength 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 $0 + local.get $this + local.get $newLength + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry 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 $0 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entries + local.set $start + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 + i32.const 0 + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $value f32) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/set/Set#delete (type $i32_f32_=>_i32) (param $this i32) (param $key f32) (result i32) + (local $entry i32) + (local $halfBucketsMask 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry + 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 $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.sub + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add + i32.const 4 + local.tee $4 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 + ) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) + i32.const 8 + br $~lib/set/ENTRY_SIZE|inlined.7 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/set/Set#set:entries + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 4 + call $~lib/set/Set#set:entriesCapacity + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesOffset + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 0 + call $~lib/set/Set#set:entriesCount + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k f32) + (local $k|2 f32) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 f32) + (local $k|7 f32) + (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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + f32.const 0 + local.set $k + loop $for-loop|0 + local.get $k + f32.const 100 + f32.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + f32.const 1 + f32.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + f32.const 100 + f32.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + f32.const 1 + f32.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 + i32.const 0 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end + end + local.get $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + f32.const 50 + f32.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + f32.const 1 + f32.add + local.set $k|6 + br $for-loop|3 end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/set - ) - (func $~stack_check (type $none_=>_none) + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz if - i32.const 33520 - i32.const 33568 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + f32.const 0 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + f32.const 50 + f32.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + f32.const 1 + f32.add + local.set $k|7 + br $for-loop|4 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 4 + i32.const 22 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 4 i32.const 4 @@ -13028,48 +20452,75 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 + local.get $1 + call $~lib/set/Set#set:buckets + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:entries local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#set:entries - local.get $this i32.const 4 - call $~lib/set/Set#set:entriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/set/Set#set:entriesOffset local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount local.get $this 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 $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/set/Set#find (type $i32_f64_i32_=>_i32) (param $this i32) (param $key f64) (param $hashCode i32) (result i32) + (local $entry i32) + (local $taggedNext i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13079,178 +20530,305 @@ i32.const 0 i32.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $5 i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets + local.get $5 + call $~lib/set/Set#get:buckets + local.get $hashCode local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/set/Set#get:bucketsMask + i32.and i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this + i32.mul + i32.add + i32.load $0 + local.set $entry + loop $while-continue|0 + local.get $entry + if + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + local.set $taggedNext + local.get $taggedNext + i32.const 1 + i32.and + i32.eqz + if (result i32) + local.get $entry + call $~lib/set/SetEntry#get:key + local.get $key + f64.eq + else + i32.const 0 + end + if + local.get $entry + 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 $taggedNext + i32.const 1 + i32.const -1 + i32.xor + i32.and + local.set $entry + br $while-continue|0 + end + end i32.const 0 + local.set $5 + global.get $~lib/memory/__stack_pointer i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/set/Set#has (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#set:entriesOffset + i32.store $0 local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find i32.const 0 - call $~lib/set/Set#set:entriesCount + 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 + return ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey f64) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/set/ENTRY_SIZE|inlined.1 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.1 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entries + local.set $oldPtr + local.get $oldPtr + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/set/Set#get:entriesOffset + block $~lib/set/ENTRY_SIZE|inlined.2 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.2 + end + i32.mul + i32.add + local.set $oldEnd + local.get $newEntries + local.set $newPtr + loop $while-continue|0 + local.get $oldPtr + local.get $oldEnd + i32.ne + if + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $newPtr + local.set $newEntry + local.get $oldEntry + call $~lib/set/SetEntry#get:key + local.set $oldEntryKey + local.get $newEntry + local.get $oldEntryKey + call $~lib/set/SetEntry#set:key + local.get $oldEntryKey + call $~lib/util/hash/HASH + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/set/ENTRY_SIZE|inlined.3 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.3 + end + i32.add + local.set $newPtr + end + local.get $oldPtr + block $~lib/set/ENTRY_SIZE|inlined.4 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.4 + end + i32.add + local.set $oldPtr + br $while-continue|0 + end end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:buckets local.get $this - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/set/Set#set:bucketsMask + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#set:entries local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/set/Set#set:entriesCapacity local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset + local.get $14 + i32.store $0 offset=8 + local.get $14 local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/set/Set#get:entriesCount + call $~lib/set/Set#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#add (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $4 i32) + (local $bucketPtrBase i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13259,66 +20837,177 @@ global.get $~lib/memory/__stack_pointer i64.const 0 i64.store $0 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $hashCode + call $~lib/set/Set#find + local.set $entry + local.get $entry i32.eqz if + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.eq + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + else + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entries + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesOffset + local.tee $4 + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesOffset + local.get $4 + block $~lib/set/ENTRY_SIZE|inlined.5 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/set/SetEntry#set:key + i32.const 0 + drop + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount + i32.const 1 + i32.add + call $~lib/set/Set#set:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:buckets + local.get $hashCode + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/set/SetEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $6 + return ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -13329,247 +21018,229 @@ i32.const 0 i32.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#get:entriesCount local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $bufferSize i32) + (local $buffer i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 10 + i32.const 16 + i32.const 23 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $6 i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this + local.get $6 i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + call $~lib/array/Array#set:buffer + local.get $this + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $6 i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this + local.get $6 i32.const 0 - call $~lib/set/Set#set:entriesOffset + call $~lib/array/Array#set:dataStart local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - call $~lib/set/Set#set:entriesCount + call $~lib/array/Array#set:byteLength local.get $this - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/array/Array#set:length_ + local.get $length + i32.const 1073741820 + i32.const 3 + i32.shr_u + i32.gt_u + if + i32.const 432 + i32.const 592 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + local.get $length + local.tee $2 i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $this 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.tee $3 + local.get $2 + local.get $3 + i32.gt_u + select + i32.const 3 + i32.shl + local.set $bufferSize global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.get $bufferSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + call $~lib/array/Array#set:buffer local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $buffer + call $~lib/array/Array#set:dataStart local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $bufferSize + call $~lib/array/Array#set:byteLength local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $length + call $~lib/array/Array#set:length_ local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $6 ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) + (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 $0 + i32.const 0 + i32.store $0 + local.get $index local.get $this - i32.eqz + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 224 + i32.const 592 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this + local.get $3 i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + f64.store $0 i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + drop global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - 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/set/Set#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $this i32) (param $newLength i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13579,122 +21250,155 @@ i32.const 0 i32.store $0 local.get $this + local.get $newLength + i32.const 3 i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + call $~lib/array/ensureCapacity + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this + local.get $2 + local.get $newLength + call $~lib/array/Array#set:length_ + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 1 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) + (local $start i32) + (local $size i32) + (local $values i32) + (local $length i32) + (local $i i32) + (local $entry i32) + (local $7 i32) + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - call $~lib/set/Set#set:bucketsMask + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $8 i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity + local.get $8 + call $~lib/set/Set#get:entries + local.set $start local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/set/Set#get:entriesOffset + local.set $size + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this + local.get $size + call $~lib/array/Array#constructor + local.tee $values + i32.store $0 offset=4 i32.const 0 - call $~lib/set/Set#set:entriesCount + local.set $length + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $size + i32.lt_s + if + local.get $start + local.get $i + block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) + i32.const 16 + br $~lib/set/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $length + local.tee $7 + i32.const 1 + i32.add + local.set $length + local.get $7 + local.get $entry + call $~lib/set/SetEntry#get:key + call $~lib/array/Array#__set + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $values + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $8 + i32.store $0 + local.get $8 + local.get $length + call $~lib/array/Array#set:length + local.get $values + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask + i32.store $0 local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this + call $~lib/array/Array#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 + return ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $value f64) + (local $3 i32) + (local $4 f64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -13703,54 +21407,53 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $index local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 224 + i32.const 592 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value i32.const 0 - call $~lib/set/Set#set:entriesCount + drop + local.get $value + 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/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/set/Set#delete (type $i32_f64_=>_i32) (param $this i32) (param $key f64) (result i32) + (local $entry i32) + (local $halfBucketsMask i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -13760,163 +21463,168 @@ i64.const 0 i64.store $0 local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/set/Set#find + local.set $entry + local.get $entry i32.eqz if + i32.const 0 + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end + local.get $entry + local.get $entry + call $~lib/set/SetEntry#get:taggedNext + i32.const 1 + i32.or + call $~lib/set/SetEntry#set:taggedNext local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets + local.get $6 + i32.store $0 + local.get $6 local.get $this - i32.const 4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/set/Set#get:entriesCount i32.const 1 i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:entriesCount local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:bucketsMask + i32.const 1 + i32.shr_u + local.set $halfBucketsMask + local.get $halfBucketsMask + i32.const 1 + i32.add i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + local.tee $4 local.get $this - local.set $1 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.tee $5 + local.get $4 + local.get $5 + i32.gt_u + select + i32.ge_u + if (result i32) + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCount + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/set/Set#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + else + i32.const 0 + end + if + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $halfBucketsMask + call $~lib/set/Set#rehash + end + 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 $1 + local.get $6 + return ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $this i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this i32.const 0 i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.7 - end + i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 + i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + call $~lib/set/Set#set:buckets local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 local.get $1 - call $~lib/set/Set#set:buckets - local.get $this i32.const 4 i32.const 1 i32.sub - call $~lib/set/Set#set:bucketsMask + call $~lib/set/Set#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 0 i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) + block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.0 + br $~lib/set/ENTRY_SIZE|inlined.7 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor @@ -13925,470 +21633,559 @@ local.get $1 i32.store $0 offset=4 local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entries local.get $this 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/set/Set#clear (type $i32_=>_none) (param $this 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 $0 - local.get $this - i32.const 0 - i32.const 4 + local.get $1 i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entriesCapacity + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor + call $~lib/set/Set#set:entriesOffset + local.get $this local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this i32.const 0 - call $~lib/set/Set#set:entriesCount + call $~lib/set/Set#set:entriesCount global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $std/set/testNumeric (type $none_=>_none) + (local $set i32) + (local $k f64) + (local $k|2 f64) + (local $vals i32) + (local $valSet i32) + (local $index i32) + (local $k|6 f64) + (local $k|7 f64) + (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 $0 - local.get $this + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + call $~lib/set/Set#constructor + local.tee $set + i32.store $0 + f64.const 0 + local.set $k + loop $for-loop|0 + local.get $k + f64.const 100 + f64.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k + 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 $k + f64.const 1 + f64.add + local.set $k + br $for-loop|0 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|2 + loop $for-loop|1 + local.get $k|2 + f64.const 100 + f64.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|2 + 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 $k|2 + f64.const 1 + f64.add + local.set $k|2 + br $for-loop|1 + end + end + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 100 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $8 i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - 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/set/Set#clear (type $i32_=>_none) (param $this 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 $8 + call $~lib/set/Set#values + local.tee $vals + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this + call $~lib/set/Set#constructor + local.tee $valSet + i32.store $0 offset=12 i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.7 + local.set $index + loop $for-loop|2 + local.get $index + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/array/Array#get:length + i32.lt_s + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + 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 $valSet + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $vals + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=16 + local.get $8 + local.get $index + call $~lib/array/Array#__get + call $~lib/set/Set#add + drop + local.get $index + i32.const 1 + i32.add + local.set $index + br $for-loop|2 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount + local.get $valSet + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $k|6 + loop $for-loop|3 + local.get $k|6 + f64.const 50 + f64.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|6 + 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 $k|6 + f64.const 1 + f64.add + local.set $k|6 + br $for-loop|3 + end + end + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 35 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.0 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.0 + f64.const 0 + local.set $k|7 + loop $for-loop|4 + local.get $k|7 + f64.const 50 + f64.lt + if + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#add + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + call $~lib/set/Set#delete + drop + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $k|7 + 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 $k|7 + f64.const 1 + f64.add + local.set $k|7 + br $for-loop|4 + end end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $8 i32.store $0 offset=4 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - local.get $this - 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/set/Set#clear (type $i32_=>_none) (param $this 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 $0 - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/set/Set#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/set/ENTRY_SIZE|inlined.7 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.7 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/set/Set#set:entries - local.get $this - i32.const 4 - call $~lib/set/Set#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/set/Set#set:entriesCount - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer 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 $0 - local.get $length - i32.const 1073741820 - i32.gt_u + local.get $8 + call $~lib/set/Set#get:size + i32.const 50 + i32.eq + i32.eqz if - i32.const 432 - i32.const 480 - i32.const 52 - i32.const 43 + i32.const 0 + i32.const 544 + i32.const 45 + i32.const 3 call $~lib/builtins/abort unreachable end + local.get $set + local.set $8 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - local.set $3 + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/set/Set#clear + local.get $set + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 4 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 0 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries i32.const 0 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14397,171 +22194,89 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this i32.const 0 - call $~lib/array/Array#set:dataStart + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 0 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries i32.const 0 - i32.shl - local.set $bufferSize + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + i32.const 0 drop local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14571,170 +22286,98 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/set/Set#get:entries - local.set $start + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $3 i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this + i32.store $0 i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 1 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 1 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne drop local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14743,171 +22386,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 1 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 1 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -14916,171 +22450,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) - (local $buffer i32) - (local $6 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15089,171 +22514,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 15 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - local.set $6 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15262,171 +22578,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 17 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15435,171 +22642,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 19 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 3 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - local.set $6 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15608,171 +22706,62 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + (func $~lib/set/Set#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) (local $3 i32) - (local $bufferSize i32) - (local $buffer 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 21 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this - i32.const 0 - call $~lib/array/Array#set:length_ - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer - i32.store $0 offset=4 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this - local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength + i32.store $0 local.get $this - local.get $length - call $~lib/array/Array#set:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit local.get $this - local.set $6 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/set/Set#get:entries + local.set $entries + i32.const 0 + drop + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 ) - (func $~lib/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry i32) - (local $7 i32) - (local $8 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -15781,243 +22770,61 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 0 + drop local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values + local.get $2 i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 8 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/array/Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $bufferSize i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) (local $buffer i32) - (local $6 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 23 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/array/Array#set:buffer - local.get $this - i32.const 0 - call $~lib/array/Array#set:dataStart - local.get $this - i32.const 0 - call $~lib/array/Array#set:byteLength - local.get $this i32.const 0 - call $~lib/array/Array#set:length_ + i32.store $0 local.get $length i32.const 1073741820 - i32.const 3 - i32.shr_u i32.gt_u if i32.const 432 - i32.const 592 - i32.const 70 - i32.const 60 + i32.const 480 + i32.const 52 + i32.const 43 call $~lib/builtins/abort unreachable end - local.get $length - local.tee $2 - i32.const 8 - local.tee $3 - local.get $2 - local.get $3 - i32.gt_u - select - i32.const 3 - i32.shl - local.set $bufferSize global.get $~lib/memory/__stack_pointer - local.get $bufferSize + local.get $length i32.const 1 call $~lib/rt/itcms/__new local.tee $buffer - i32.store $0 offset=4 + i32.store $0 i32.const 2 global.get $~lib/shared/runtime/Runtime.Incremental i32.ne drop - local.get $this - local.get $buffer - call $~lib/array/Array#set:buffer - local.get $this local.get $buffer - call $~lib/array/Array#set:dataStart - local.get $this - local.get $bufferSize - call $~lib/array/Array#set:byteLength - local.get $this - local.get $length - call $~lib/array/Array#set:length_ - local.get $this - 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/set/Set#values (type $i32_=>_i32) (param $this i32) (result i32) - (local $start i32) - (local $size i32) - (local $values i32) - (local $length i32) - (local $i i32) - (local $entry 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 $0 - local.get $this - call $~lib/set/Set#get:entries - local.set $start - local.get $this - call $~lib/set/Set#get:entriesOffset - local.set $size - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $size - call $~lib/array/Array#constructor - local.tee $values - i32.store $0 - i32.const 0 - local.set $length - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $size - i32.lt_s - if - local.get $start - local.get $i - block $~lib/set/ENTRY_SIZE|inlined.6 (result i32) - i32.const 16 - br $~lib/set/ENTRY_SIZE|inlined.6 - end - i32.mul - i32.add - local.set $entry - local.get $entry - call $~lib/set/SetEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $values - local.get $length - local.tee $7 - i32.const 1 - i32.add - local.set $length - local.get $7 - local.get $entry - call $~lib/set/SetEntry#get:key - call $~lib/array/Array#__set - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $values - local.get $length - call $~lib/array/Array#set:length - local.get $values - local.set $8 + local.set $3 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $3 return ) ) diff --git a/tests/compiler/std/set.release.wat b/tests/compiler/std/set.release.wat index 1a13fbd46b..dbaabcef3b 100644 --- a/tests/compiler/std/set.release.wat +++ b/tests/compiler/std/set.release.wat @@ -1,19 +1,26 @@ (module (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i64_=>_none (func_subtype (param i32 i64) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) + (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) (type $i32_f32_=>_none (func_subtype (param i32 f32) func)) (type $i32_f64_=>_none (func_subtype (param i32 f64) func)) (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) + (type $i32_f32_=>_i32 (func_subtype (param i32 f32) (result i32) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) + (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) + (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -1516,16 +1523,194 @@ memory.fill $0 local.get $1 ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + unreachable + end + 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 1748 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~start (type $none_=>_none) + memory.size $0 + i32.const 16 + i32.shl + i32.const 34516 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1172 + i32.const 1168 + i32.store $0 + i32.const 1176 + i32.const 1168 + i32.store $0 + i32.const 1168 + global.set $~lib/rt/itcms/pinSpace + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/toSpace + i32.const 1348 + i32.const 1344 + i32.store $0 + i32.const 1352 + i32.const 1344 + i32.store $0 + i32.const 1344 + 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 $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1540,47 +1725,306 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 - i32.shl + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 32 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - local.tee $4 + i32.const 4 + i32.store $0 offset=12 + local.get $1 local.get $0 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 offset=4 + local.tee $2 + i32.const 1 + i32.and + if (result i32) + i32.const 0 + else + local.get $0 + i32.load8_u $0 + local.get $1 + i32.const 255 + i32.and + i32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend8_s + 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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $7 + i32.store $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $6 + i32.ne + if local.get $4 i32.load $0 offset=4 i32.const 1 @@ -1593,7 +2037,7 @@ local.tee $8 i32.store8 $0 local.get $2 - local.get $5 + local.get $7 local.get $1 local.get $8 i32.extend8_s @@ -1646,18 +2090,35 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -1667,15 +2128,25 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -1683,10 +2154,32 @@ (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - local.tee $2 + local.get $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -1696,76 +2189,59 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -1774,9 +2250,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -1786,33 +2268,57 @@ end call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 - local.set $1 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 - local.get $1 - local.get $4 + local.get $2 + local.get $5 i32.const 3 i32.shl i32.add - local.tee $1 - local.get $2 + local.tee $2 + local.get $1 i32.store8 $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $1 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 local.get $3 local.get $0 i32.load $0 offset=4 @@ -1824,13 +2330,72 @@ i32.load $0 i32.store $0 offset=4 local.get $0 - local.get $1 + local.get $2 i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#get:size (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=8 @@ -1852,6 +2417,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.set $4 @@ -1940,9 +2508,35 @@ local.get $1 i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -1967,23 +2561,125 @@ i32.const 0 i32.const 1 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add local.get $2 i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if i32.const 1248 i32.const 1616 i32.const 114 @@ -1991,21 +2687,50 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load8_s $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 + local.get $1 i32.extend8_s i32.const -1028477379 i32.mul @@ -2016,63 +2741,32 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end local.get $1 + i32.xor + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -2081,31 +2775,54 @@ i32.const 1 i32.or i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $1 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -2117,116 +2834,148 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + i32.store $0 + local.get $0 + local.get $2 call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) - (local $0 i32) + (func $~lib/set/Set#clear (type $i32_=>_none) (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) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_s - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (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.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $9 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -2235,79 +2984,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -2317,15 +3005,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -2337,82 +3028,18 @@ unreachable end i32.const 50 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -2422,79 +3049,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -2504,15 +3070,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -2525,54 +3094,80 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $2 + local.get $9 i32.load $0 offset=8 - local.set $5 - local.get $2 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $6 - local.get $4 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 i32.const 5 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $6 + local.get $10 i32.const 1073741820 i32.gt_u if @@ -2585,62 +3180,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - local.tee $8 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $7 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $7 + i32.store $0 offset=8 + local.get $8 local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 - i32.const 0 - local.set $0 + local.get $5 + local.get $6 + i32.store $0 offset=4 loop $for-loop|00 - local.get $3 - local.get $6 + local.get $2 + local.get $10 i32.lt_s if - local.get $5 - local.get $3 + local.get $1 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - local.get $4 + local.get $5 i32.load8_s $0 call $~lib/array/Array#__set local.get $0 @@ -2648,114 +3260,51 @@ i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|00 end end - local.get $7 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $7 - i32.store $0 offset=4 + local.get $4 + local.get $6 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $1 - i32.store $0 offset=8 - i32.const 0 - local.set $0 + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load8_u $0 - local.get $4 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $9 + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -2765,22 +3314,37 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $1 - local.get $7 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $1 - i32.load $0 offset=20 - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -2791,82 +3355,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -2876,79 +3376,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -2957,15 +3396,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -2977,82 +3419,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -3061,79 +3439,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -3143,79 +3460,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend8_s - i32.const -1028477379 - i32.mul - i32.const 374761394 - 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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -3224,15 +3480,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -3243,10 +3502,16 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 call $~lib/set/Set#clear - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -3256,7 +3521,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -3268,16 +3533,11 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3292,48 +3552,228 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 i32.store $0 offset=4 + local.get $1 local.get $0 - i32.load $0 offset=8 - local.tee $4 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $7 + i32.store $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $6 + i32.ne + if + local.get $4 i32.load $0 offset=4 i32.const 1 i32.and @@ -3345,7 +3785,7 @@ local.tee $8 i32.store8 $0 local.get $2 - local.get $5 + local.get $7 local.get $1 local.get $8 i32.const -1028477379 @@ -3397,18 +3837,35 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -3418,15 +3875,25 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3434,10 +3901,32 @@ (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - local.tee $2 + local.get $1 i32.const 255 i32.and i32.const -1028477379 @@ -3448,76 +3937,59 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -3526,9 +3998,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -3538,33 +4016,57 @@ end call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 - local.set $1 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 - local.get $1 - local.get $4 + local.get $2 + local.get $5 i32.const 3 i32.shl i32.add - local.tee $1 - local.get $2 + local.tee $2 + local.get $1 i32.store8 $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $1 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 local.get $3 local.get $0 i32.load $0 offset=4 @@ -3576,11 +4078,38 @@ i32.load $0 i32.store $0 offset=4 local.get $0 - local.get $1 + local.get $2 i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -3593,21 +4122,50 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 offset=4 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=4 i32.add i32.load8_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 + local.get $1 i32.const 255 i32.and i32.const -1028477379 @@ -3619,63 +4177,32 @@ i32.const 668265263 i32.mul local.tee $1 - local.get $1 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $2 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end local.get $1 + i32.xor + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -3684,31 +4211,54 @@ i32.const 1 i32.or i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $1 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -3720,10 +4270,17 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 + i32.store $0 + local.get $0 + local.get $2 call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) @@ -3735,102 +4292,38 @@ (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + local.tee $4 i32.const 0 - i32.store $0 offset=8 - local.get $1 + i32.const 20 + memory.fill $0 + local.get $4 call $~lib/set/Set#constructor - local.tee $2 + local.tee $9 i32.store $0 loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -3839,80 +4332,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -3922,15 +4353,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -3942,83 +4376,18 @@ unreachable end i32.const 50 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -4028,80 +4397,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -4111,15 +4418,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -4132,54 +4442,80 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $2 + local.get $9 i32.load $0 offset=8 - local.set $5 - local.get $2 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $6 - local.get $4 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 i32.const 7 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $6 + local.get $10 i32.const 1073741820 i32.gt_u if @@ -4192,62 +4528,79 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - local.tee $8 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $7 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $7 + i32.store $0 offset=8 + local.get $8 + local.get $6 + i32.store $0 offset=4 local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 - i32.const 0 - local.set $0 + local.get $5 + local.get $6 + i32.store $0 offset=4 loop $for-loop|00 - local.get $3 - local.get $6 + local.get $2 + local.get $10 i32.lt_s if - local.get $5 - local.get $3 + local.get $1 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - local.get $4 + local.get $5 i32.load8_u $0 call $~lib/array/Array#__set local.get $0 @@ -4255,115 +4608,51 @@ i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|00 end end - local.get $7 - local.get $0 - i32.const 0 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $7 - i32.store $0 offset=4 + local.get $4 + local.get $6 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer call $~lib/set/Set#constructor - local.tee $1 - i32.store $0 offset=8 - i32.const 0 - local.set $0 + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - 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 $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load8_u $0 - local.get $4 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $9 + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -4373,22 +4662,37 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $1 - local.get $7 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 call $~lib/array/Array#__get call $~lib/set/Set#add - local.get $0 + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $1 - i32.load $0 offset=20 - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -4399,83 +4703,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -4485,80 +4724,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -4567,15 +4744,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -4587,83 +4767,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -4672,80 +4787,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -4755,80 +4808,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load8_u $0 - local.get $0 - i32.const 255 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -4837,15 +4828,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -4856,10 +4850,16 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 call $~lib/set/Set#clear - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -4869,7 +4869,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -4881,16 +4881,11 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4905,182 +4900,119 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $0 i64.const 0 i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.tee $4 local.get $0 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $4 - i32.load16_s $0 - local.tee $8 - i32.store16 $0 - local.get $2 - local.get $5 - local.get $1 - local.get $8 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $8 - i32.const 15 - i32.shr_u - local.get $8 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $8 - i32.const 13 - i32.shr_u - local.get $8 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $8 - i32.const 16 - i32.shr_u - local.get $8 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $8 - i32.load $0 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|0 - end - end + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - local.get $5 + local.get $1 i32.store $0 - local.get $5 + local.get $1 if local.get $0 - local.get $5 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 + i32.const 3 + i32.store $0 offset=4 local.get $1 + local.get $0 i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 local.get $0 - local.get $3 + local.get $1 i32.store $0 offset=8 - local.get $3 + local.get $1 if local.get $0 - local.get $3 + local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - local.get $6 + i32.store $0 offset=4 + local.get $0 + i32.const 4 i32.store $0 offset=12 + local.get $1 local.get $0 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=20 + i32.const 0 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/set/Set#add (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 - local.get $1 - local.tee $2 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - local.tee $3 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 local.get $0 i32.load $0 offset=4 i32.and @@ -5088,180 +5020,73 @@ i32.shl i32.add i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.eqz - if - local.get $0 - i32.load $0 offset=16 + local.set $0 + loop $while-continue|0 local.get $0 - i32.load $0 offset=12 - i32.eq if local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s + i32.load $0 offset=4 + local.tee $2 + i32.const 1 + i32.and if (result i32) - local.get $0 - i32.load $0 offset=4 + i32.const 0 else local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + i32.load16_u $0 + local.get $1 + i32.const 65535 + i32.and + i32.eq end - call $~lib/set/Set#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 - local.get $0 - i32.load $0 offset=8 - local.set $1 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $2 - i32.store16 $0 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $1 - local.get $0 - i32.load $0 - local.get $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 130 - 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 34544 + i32.const 34592 i32.const 1 i32.const 1 - call $~lib/array/ensureCapacity - local.get $0 - local.get $3 - i32.store $0 offset=12 - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 $0 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 114 - i32.const 42 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - ) - (func $~lib/set/Set#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 + local.get $1 i32.extend16_s i32.const -1028477379 i32.mul @@ -5271,116 +5096,36 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 - i32.const 15 + 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - return - end - local.get $1 - local.get $1 - i32.load $0 offset=4 - i32.const 1 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.load $0 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 $0 offset=20 - local.get $0 - i32.load $0 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 $1 - call $~lib/set/Set#rehash - end ) - (func $std/set/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -5389,35 +5134,87 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_s + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $7 + i32.store $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $6 + i32.ne + if + local.get $4 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if local.get $2 - i32.load $0 + local.get $4 + i32.load16_s $0 + local.tee $8 + i32.store16 $0 local.get $2 - i32.load $0 offset=4 - local.get $0 + local.get $7 + local.get $1 + local.get $8 i32.extend16_s i32.const -1028477379 i32.mul @@ -5427,3045 +5224,332 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $1 - local.get $1 + local.tee $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add + local.tee $8 i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add + i32.store $0 offset=4 + local.get $8 local.get $2 - i32.load $0 + i32.store $0 local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 + i32.const 8 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 + local.set $2 end + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $while-continue|0 end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $0 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i32_=>_none) (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.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + i32.extend16_s + i32.const -1028477379 + i32.mul + i32.const 374761395 + i32.add + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.tee $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + local.tee $3 + call $~lib/set/Set#find + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 local.get $2 - i32.load $0 offset=20 - i32.const 100 - i32.ne + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 50 - local.set $0 - loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.const 100 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s i32.lt_s - if - local.get $2 - i32.load $0 - local.get $2 + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 + i32.store $0 offset=4 local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 16 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 i32.const 1 - i32.add - local.set $0 - br $for-loop|1 + i32.or end - end - local.get $2 - i32.load $0 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 + call $~lib/set/Set#rehash end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer local.tee $4 - i32.const 0 + local.get $0 i32.store $0 - local.get $2 + local.get $0 i32.load $0 offset=8 - local.set $5 - local.get $2 - i32.load $0 offset=16 - local.set $6 + local.set $2 local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 local.get $0 - i32.const 16 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 i32.store $0 - local.get $7 - i32.const 0 + local.get $4 + local.get $0 i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.store $0 offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $2 + local.get $5 + i32.const 3 i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 - local.get $7 + i32.add + local.tee $2 + local.get $1 + i32.store16 $0 + local.get $4 local.get $0 i32.store $0 - local.get $0 - if - local.get $7 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $7 + local.get $4 local.get $0 i32.store $0 offset=4 - local.get $7 - local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $6 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 offset=20 local.get $4 - local.get $7 + local.get $0 i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.tee $4 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $7 - local.get $0 - local.get $4 - i32.load16_s $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end - end - local.get $7 local.get $0 - i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 + i32.load $0 + local.set $1 + local.get $4 local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 + local.get $2 local.get $1 - local.get $7 + local.get $3 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $1 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load16_u $0 - local.get $4 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $7 - local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|2 - end - end - local.get $1 - i32.load $0 offset=20 + local.get $0 local.get $2 - i32.load $0 offset=20 - i32.ne + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_s - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|3 - end - end - local.get $2 - i32.load $0 offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|4 - local.get $0 - i32.const 50 - i32.lt_s - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.extend16_s - i32.const -1028477379 - i32.mul - i32.const 374761395 - 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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|4 - end - end - local.get $2 - i32.load $0 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 $0 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 - return - end - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - if - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.tee $4 - local.get $0 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $4 - i32.load16_u $0 - local.tee $8 - i32.store16 $0 - local.get $2 - local.get $5 - local.get $1 - local.get $8 - i32.const -1028477379 - i32.mul - i32.const 374761395 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $8 - i32.const 15 - i32.shr_u - local.get $8 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $8 - i32.const 13 - i32.shr_u - local.get $8 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $8 - i32.const 16 - i32.shr_u - local.get $8 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $8 - i32.load $0 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#add (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.load $0 - local.get $1 - local.tee $2 - 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 $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 - local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.eqz - if - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load $0 offset=8 - local.set $1 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $2 - i32.store16 $0 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $1 - local.get $0 - i32.load $0 - local.get $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - end - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - ) - (func $~lib/set/Set#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - local.tee $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - return - end - local.get $1 - local.get $1 - i32.load $0 offset=4 - i32.const 1 - i32.or - i32.store $0 offset=4 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $1 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load $0 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 $0 offset=20 - local.get $0 - i32.load $0 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 $1 - call $~lib/set/Set#rehash - end - ) - (func $std/set/testNumeric (type $none_=>_none) - (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - local.get $2 - i32.load $0 offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 50 - local.set $0 - loop $for-loop|1 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - 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 $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 16 - 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 $2 - i32.load $0 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 - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 - i32.store $0 - local.get $2 - i32.load $0 offset=8 - local.set $5 - local.get $2 - i32.load $0 offset=16 - local.set $6 - local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 16 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.store $0 offset=12 - local.get $6 - i32.const 536870910 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $6 - local.get $6 - i32.const 8 - i32.le_u - select - i32.const 1 - i32.shl - local.tee $8 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=4 - local.get $7 - local.get $0 - i32.store $0 - local.get $0 - if - local.get $7 - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $7 - local.get $0 - i32.store $0 offset=4 - local.get $7 - local.get $8 - i32.store $0 offset=8 - local.get $7 - local.get $6 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|00 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $5 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.tee $4 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $7 - local.get $0 - local.get $4 - i32.load16_u $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $3 - i32.const 1 - i32.add - local.set $3 - br $for-loop|00 - end - end - local.get $7 - local.get $0 - i32.const 1 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $1 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - 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 $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load16_u $0 - local.get $4 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $1 - local.get $7 - local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|2 - end - end - local.get $1 - i32.load $0 offset=20 - local.get $2 - i32.load $0 offset=20 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|3 - local.get $0 - i32.const 50 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|3 - end - end - local.get $2 - i32.load $0 offset=20 - i32.const 50 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 35 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|4 - local.get $0 - i32.const 50 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load16_u $0 - local.get $0 - i32.const 65535 - i32.and - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|4 - end - end - local.get $2 - i32.load $0 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 $0 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 - return - end - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - if - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - local.get $1 - i32.const 1 - i32.add - local.tee $2 - i32.const 2 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 3 - i32.div_s - local.tee $6 - i32.const 3 - i32.shl - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $3 - i32.store $0 offset=4 - local.get $0 - i32.load $0 offset=8 - local.tee $4 - local.get $0 - i32.load $0 offset=16 - i32.const 3 - i32.shl - i32.add - local.set $7 - local.get $3 - local.set $2 - loop $while-continue|0 - local.get $4 - local.get $7 - i32.ne - if - local.get $4 - i32.load $0 offset=4 - i32.const 1 - i32.and - i32.eqz - if - local.get $2 - local.get $4 - i32.load $0 - local.tee $8 - i32.store $0 - local.get $2 - local.get $5 - local.get $1 - local.get $8 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $8 - i32.const 15 - i32.shr_u - local.get $8 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $8 - i32.const 13 - i32.shr_u - local.get $8 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $8 - i32.const 16 - i32.shr_u - local.get $8 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $8 - i32.load $0 - i32.store $0 offset=4 - local.get $8 - local.get $2 - i32.store $0 - local.get $2 - i32.const 8 - i32.add - local.set $2 - end - local.get $4 - i32.const 8 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $0 - local.get $5 - i32.store $0 - local.get $5 - if - local.get $0 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/set/Set#add (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - local.get $0 - i32.load $0 - local.get $1 - local.tee $2 - 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 - local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.eqz - if - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq - if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or - end - call $~lib/set/Set#rehash - end - local.get $0 - i32.load $0 offset=8 - local.set $1 - local.get $0 - local.get $0 - i32.load $0 offset=16 - local.tee $4 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $1 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - local.get $2 - i32.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $1 - local.get $0 - i32.load $0 - local.get $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - end - ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - local.get $1 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 130 - i32.const 22 + i32.const 1248 + i32.const 1616 + i32.const 130 + i32.const 22 call $~lib/builtins/abort unreachable end @@ -8474,23 +5558,92 @@ i32.const 1 i32.add local.tee $3 - i32.const 2 + i32.const 1 i32.const 1 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add local.get $2 + i32.store16 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 1 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -8503,87 +5656,88 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load $0 + i32.load16_s $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/set/Set#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 + local.get $1 + i32.extend16_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 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end local.get $1 + i32.xor + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -8592,31 +5746,54 @@ i32.const 1 i32.or i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $1 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -8628,12 +5805,19 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - call $~lib/set/Set#rehash + i32.store $0 + local.get $0 + local.get $2 + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) + (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) @@ -8643,98 +5827,38 @@ (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 + local.tee $4 i32.const 0 - i32.store $0 offset=8 - local.get $1 - call $~lib/set/Set#constructor - local.tee $2 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $9 i32.store $0 loop $for-loop|0 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -8743,76 +5867,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -8822,15 +5888,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -8842,158 +5911,39 @@ unreachable end i32.const 50 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 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 $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9003,15 +5953,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -9024,55 +5977,81 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $2 + local.get $9 i32.load $0 offset=8 - local.set $5 - local.get $2 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $6 - local.get $4 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 - i32.const 13 + i32.const 9 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $6 - i32.const 268435455 + local.get $10 + i32.const 536870910 i32.gt_u if i32.const 1456 @@ -9084,176 +6063,133 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - i32.const 2 + i32.const 1 i32.shl - local.tee $8 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $7 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $7 + i32.store $0 offset=8 + local.get $8 local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 - i32.const 0 - local.set $0 + local.get $5 + local.get $6 + i32.store $0 offset=4 loop $for-loop|00 - local.get $3 - local.get $6 + local.get $2 + local.get $10 i32.lt_s if - local.get $5 - local.get $3 + local.get $1 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - local.get $4 - i32.load $0 - call $~lib/array/Array#__set + local.get $5 + i32.load16_s $0 + call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|00 end end - local.get $7 - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $1 + local.get $4 + local.get $6 i32.store $0 offset=8 - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load $0 - local.get $4 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $9 + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9263,22 +6199,37 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $1 - i32.load $0 offset=20 - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -9289,79 +6240,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9371,76 +6261,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -9449,15 +6281,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -9469,157 +6304,38 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_s if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end + call $~lib/set/Set#has + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -9629,76 +6345,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -9707,15 +6365,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -9726,10 +6387,16 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 call $~lib/set/Set#clear - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -9739,7 +6406,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -9751,7 +6418,172 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -9760,7 +6592,7 @@ (local $7 i32) (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -9779,6 +6611,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -9786,7 +6621,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -9794,26 +6629,33 @@ i32.shl i32.const 3 i32.div_s - local.tee $6 + local.tee $5 i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 local.get $0 i32.load $0 offset=16 i32.const 3 i32.shl i32.add - local.set $7 + local.set $6 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $7 + local.get $6 i32.ne if local.get $4 @@ -9824,16 +6666,16 @@ if local.get $2 local.get $4 - i32.load $0 + i32.load16_u $0 local.tee $8 - i32.store $0 + i32.store16 $0 local.get $2 - local.get $5 + local.get $7 local.get $1 local.get $8 i32.const -1028477379 i32.mul - i32.const 374761397 + i32.const 374761395 i32.add i32.const 17 i32.rotl @@ -9880,18 +6722,35 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -9901,102 +6760,121 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $6 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#add (type $i32_i32_=>_none) (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.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - local.tee $2 + local.get $1 + i32.const 65535 + i32.and 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 $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $1 - local.get $1 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -10005,9 +6883,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -10015,35 +6899,59 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 - local.set $1 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 - local.get $1 - local.get $4 + local.get $2 + local.get $5 i32.const 3 i32.shl i32.add - local.tee $1 - local.get $2 + local.tee $2 + local.get $1 + i32.store16 $0 + local.get $4 + local.get $0 i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $1 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 local.get $3 local.get $0 i32.load $0 offset=4 @@ -10055,11 +6963,38 @@ i32.load $0 i32.store $0 offset=4 local.get $0 - local.get $1 + local.get $2 i32.store $0 end - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -10072,87 +7007,89 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load $0 + i32.load16_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/set/Set#delete (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - local.tee $2 + local.get $1 + i32.const 65535 + i32.and 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 i32.const 15 i32.shr_u + local.get $1 i32.xor i32.const -2048144777 i32.mul local.tee $1 - local.get $1 i32.const 13 i32.shr_u + local.get $1 i32.xor i32.const -1028477379 i32.mul local.tee $1 - local.get $1 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $2 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end local.get $1 + i32.xor + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $1 @@ -10161,31 +7098,54 @@ i32.const 1 i32.or i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $1 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $2 - local.get $2 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -10197,12 +7157,19 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - call $~lib/set/Set#rehash + i32.store $0 + local.get $0 + local.get $2 + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) + (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) @@ -10212,176 +7179,58 @@ (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - call $~lib/set/Set#constructor - local.tee $2 - i32.store $0 - loop $for-loop|0 - local.get $0 - i32.const 100 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $9 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|02 - end - end + call $~lib/set/Set#has + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10391,15 +7240,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|0 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -10411,79 +7263,18 @@ unreachable end i32.const 50 - local.set $0 + local.set $1 loop $for-loop|1 - local.get $0 + local.get $1 i32.const 100 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|05 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10493,76 +7284,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $1 - br $while-continue|08 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10572,15 +7305,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|1 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -10593,55 +7329,81 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 4 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $2 + local.get $9 i32.load $0 offset=8 - local.set $5 - local.get $2 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $6 - local.get $4 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 - i32.const 15 + i32.const 11 call $~lib/rt/itcms/__new - local.tee $7 + local.tee $6 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $6 - i32.const 268435455 + local.get $10 + i32.const 536870910 i32.gt_u if i32.const 1456 @@ -10653,176 +7415,133 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $6 - local.get $6 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - i32.const 2 + i32.const 1 i32.shl - local.tee $8 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $7 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $7 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 - local.get $7 local.get $8 - i32.store $0 offset=8 + local.get $6 + i32.store $0 offset=4 + local.get $6 local.get $7 + i32.store $0 offset=8 + local.get $8 + local.get $6 + i32.store $0 offset=4 local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 - local.get $7 - i32.store $0 - i32.const 0 - local.set $0 + local.get $5 + local.get $6 + i32.store $0 offset=4 loop $for-loop|00 - local.get $3 - local.get $6 + local.get $2 + local.get $10 i32.lt_s if - local.get $5 - local.get $3 + local.get $1 + local.get $2 i32.const 3 i32.shl i32.add - local.tee $4 + local.tee $5 i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - local.get $4 - i32.load $0 - call $~lib/array/Array#__set + local.get $5 + i32.load16_u $0 + call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add local.set $0 end - local.get $3 + local.get $2 i32.const 1 i32.add - local.set $3 + local.set $2 br $for-loop|00 end end - local.get $7 - local.get $0 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length 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 $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $1 + local.get $4 + local.get $6 i32.store $0 offset=8 - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $7 - local.get $0 - call $~lib/array/Array#__get - local.tee $4 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $3 - local.get $3 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $3 - local.get $3 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $3 - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - local.get $3 - i32.const 16 - i32.shr_u - local.get $3 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - i32.load $0 - local.get $4 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $5 - i32.const -2 - i32.and - local.set $3 - br $while-continue|012 - end - end - i32.const 0 - local.set $3 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $9 + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10832,22 +7551,37 @@ call $~lib/builtins/abort unreachable end - local.get $1 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $1 - i32.load $0 offset=20 - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -10858,79 +7592,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|3 - local.get $0 + local.get $1 i32.const 50 - i32.lt_u - if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|015 - end - end - i32.const 0 - local.set $1 - end + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -10940,76 +7613,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|018 - end - end - i32.const 0 - local.set $1 - end + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -11018,15 +7633,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|3 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -11038,79 +7656,18 @@ unreachable end i32.const 0 - local.set $0 + local.set $1 loop $for-loop|4 - local.get $0 + local.get $1 i32.const 50 i32.lt_u if - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|021 - end - end - i32.const 0 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -11119,155 +7676,39 @@ call $~lib/builtins/abort unreachable end - local.get $2 - local.get $0 - call $~lib/set/Set#add - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|024 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $2 - local.get $0 - call $~lib/set/Set#delete - local.get $2 - i32.load $0 - local.get $2 - i32.load $0 offset=4 - 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 $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 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|027 - end - end + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if i32.const 0 - local.set $1 + i32.const 1568 + i32.const 41 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -11276,15 +7717,18 @@ call $~lib/builtins/abort unreachable end - local.get $0 + local.get $1 i32.const 1 i32.add - local.set $0 + local.set $1 br $for-loop|4 end end - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -11295,10 +7739,16 @@ call $~lib/builtins/abort unreachable end - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 call $~lib/set/Set#clear - local.get $2 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -11308,7 +7758,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -11320,17 +7770,257 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + i32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) + (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -11349,6 +8039,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -11356,7 +8049,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -11364,116 +8057,128 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 - i32.const 4 + local.tee $5 + i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 local.get $0 i32.load $0 offset=16 - i32.const 4 + i32.const 3 i32.shl i32.add - local.set $8 + local.set $6 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $8 + local.get $6 i32.ne if local.get $4 - i32.load $0 offset=8 + i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i64.load $0 - local.tee $6 - i64.store $0 + i32.load $0 + local.tee $8 + i32.store $0 local.get $2 - local.get $5 + local.get $7 local.get $1 - local.get $6 - 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 $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 + local.get $8 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $9 + local.tee $8 i32.load $0 - i32.store $0 offset=8 - local.get $9 + i32.store $0 offset=4 + local.get $8 local.get $2 i32.store $0 local.get $2 - i32.const 16 + i32.const 8 i32.add local.set $2 end local.get $4 - i32.const 16 + i32.const 8 i32.add local.set $4 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -11483,40 +8188,61 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (type $i32_i32_=>_none) (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.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - 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 $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl @@ -11542,54 +8268,39 @@ local.get $2 i32.xor local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -11598,9 +8309,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -11608,35 +8325,59 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 local.get $2 - local.get $4 - i32.const 4 + local.get $5 + i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i64.store $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $2 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 local.get $3 local.get $0 i32.load $0 offset=4 @@ -11646,14 +8387,40 @@ i32.add local.tee $0 i32.load $0 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $0 local.get $2 i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -11675,23 +8442,92 @@ i32.const 1 i32.add local.tee $3 - i32.const 3 + i32.const 2 i32.const 1 call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $3 i32.store $0 offset=12 end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add local.get $2 - i64.store $0 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 2 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -11704,131 +8540,143 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/set/Set#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - 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 $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $1 i32.const 15 i32.shr_u - local.get $2 + local.get $1 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $1 i32.const 13 i32.shr_u - local.get $2 + local.get $1 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $1 i32.const 16 i32.shr_u - local.get $2 + local.get $1 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end - local.get $2 - local.get $2 - i32.load $0 offset=8 + local.get $1 + local.get $1 + i32.load $0 offset=4 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -11840,14 +8688,21 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $2 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) + (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) - (local $1 i64) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -11856,110 +8711,37 @@ (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + local.tee $4 i32.const 0 - i32.store $0 offset=8 - local.get $0 - call $~lib/set/Set#constructor - local.tee $3 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $9 i32.store $0 loop $for-loop|0 local.get $1 - i64.const 100 - i64.lt_s + i32.const 100 + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -11968,88 +8750,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find0 - loop $while-continue|04 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find0 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|04 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12060,110 +8772,40 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|0 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne - if - i32.const 0 - i32.const 1568 - 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 - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|011 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|011 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + if + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12173,88 +8815,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12265,14 +8837,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|1 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -12284,56 +8859,82 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 4 + local.tee $1 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $3 + local.get $9 i32.load $0 offset=8 - local.set $7 - local.get $3 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $4 - local.get $6 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 - i32.const 17 + i32.const 13 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $6 i32.store $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 - local.get $8 + local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 - local.get $8 + local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $4 - i32.const 134217727 + local.get $10 + i32.const 268435455 i32.gt_u if i32.const 1456 @@ -12345,66 +8946,83 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - i32.const 3 + i32.const 2 i32.shl - local.tee $9 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $8 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 local.get $8 - local.get $9 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $7 i32.store $0 offset=8 local.get $8 - local.get $4 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $5 local.get $6 - local.get $8 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|03 + i32.store $0 offset=4 + loop $for-loop|00 local.get $2 - local.get $4 + local.get $10 i32.lt_s if - local.get $7 + local.get $1 local.get $2 - i32.const 4 + i32.const 3 i32.shl i32.add - local.tee $6 - i32.load $0 offset=8 + local.tee $5 + i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if - local.get $8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 local.get $6 - i64.load $0 - call $~lib/array/Array#__set + local.get $0 + local.get $5 + i32.load $0 + call $~lib/array/Array#__set local.get $0 i32.const 1 i32.add @@ -12414,119 +9032,47 @@ i32.const 1 i32.add local.set $2 - br $for-loop|03 + br $for-loop|00 end end - local.get $8 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $0 - i32.store $0 offset=12 + call $~lib/array/Array#set:length global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $4 + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $6 i32.store $0 offset=8 - i32.const 0 - local.set $0 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $0 - local.get $8 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $8 - local.get $0 - call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer local.tee $1 - 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 $9 + i32.store $0 offset=4 local.get $1 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $2 - local.get $3 - i32.load $0 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 local.get $3 - i32.load $0 offset=4 - local.get $2 - i32.const 16 - i32.shr_u - local.get $2 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find28 - loop $while-continue|032 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $2 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find28 - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|032 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12536,22 +9082,37 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $4 - i32.load $0 offset=20 - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -12561,92 +9122,19 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $1 loop $for-loop|3 local.get $1 - i64.const 50 - i64.lt_s + i32.const 50 + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find39 - loop $while-continue|043 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find39 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|043 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12656,88 +9144,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find46 - loop $while-continue|050 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find46 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|050 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -12747,14 +9165,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|3 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -12765,92 +9186,19 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $1 loop $for-loop|4 local.get $1 - i64.const 50 - i64.lt_s + i32.const 50 + i32.lt_s if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find55 - loop $while-continue|059 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find55 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|059 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -12859,88 +9207,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find62 - loop $while-continue|066 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find62 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|066 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -12950,88 +9228,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find69 - loop $while-continue|073 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find69 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|073 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -13041,14 +9249,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|4 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -13057,12 +9268,18 @@ i32.const 45 i32.const 3 call $~lib/builtins/abort - unreachable - end - local.get $3 - call $~lib/set/Set#clear - local.get $3 - i32.load $0 offset=20 + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#clear + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -13072,7 +9289,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -13084,17 +9301,257 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + i32.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) - (local $6 i64) + (local $6 i32) (local $7 i32) (local $8 i32) - (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -13113,6 +9570,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -13120,7 +9580,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $7 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -13128,116 +9588,128 @@ i32.shl i32.const 3 i32.div_s - local.tee $7 - i32.const 4 + local.tee $5 + i32.const 3 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 local.get $0 i32.load $0 offset=16 - i32.const 4 + i32.const 3 i32.shl i32.add - local.set $8 + local.set $6 local.get $3 local.set $2 loop $while-continue|0 local.get $4 - local.get $8 + local.get $6 i32.ne if local.get $4 - i32.load $0 offset=8 + i32.load $0 offset=4 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - i64.load $0 - local.tee $6 - i64.store $0 + i32.load $0 + local.tee $8 + i32.store $0 local.get $2 - local.get $5 + local.get $7 local.get $1 - local.get $6 - 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 $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 + local.get $8 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 15 i32.shr_u + local.get $8 i32.xor i32.const -2048144777 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 13 i32.shr_u + local.get $8 i32.xor i32.const -1028477379 i32.mul - local.tee $9 - local.get $9 + local.tee $8 i32.const 16 i32.shr_u + local.get $8 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $9 + local.tee $8 i32.load $0 - i32.store $0 offset=8 - local.get $9 + i32.store $0 offset=4 + local.get $8 local.get $2 i32.store $0 local.get $2 - i32.const 16 + i32.const 8 i32.add local.set $2 end local.get $4 - i32.const 16 + i32.const 8 i32.add local.set $4 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $0 + local.get $7 i32.store $0 - local.get $5 + local.get $7 if local.get $0 - local.get $5 + local.get $7 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -13247,40 +9719,61 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - local.get $7 i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#add (type $i32_i32_=>_none) (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.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - 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 $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl @@ -13306,54 +9799,39 @@ local.get $2 i32.xor local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -13362,9 +9840,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -13372,35 +9856,59 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 local.get $2 - local.get $4 - i32.const 4 + local.get $5 + i32.const 3 i32.shl i32.add local.tee $2 local.get $1 - i64.store $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $2 + local.get $4 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $1 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 local.get $3 local.get $0 i32.load $0 offset=4 @@ -13410,13 +9918,40 @@ i32.add local.tee $0 i32.load $0 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $0 local.get $2 i32.store $0 end - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -13429,131 +9964,143 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/set/Set#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (func $~lib/set/Set#delete (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - 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 $1 - i64.const 32 - i64.shr_u - i32.wrap_i64 i32.const -1028477379 i32.mul + i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul - local.tee $2 + local.tee $1 i32.const 15 i32.shr_u - local.get $2 + local.get $1 i32.xor i32.const -2048144777 i32.mul - local.tee $2 + local.tee $1 i32.const 13 i32.shr_u - local.get $2 + local.get $1 i32.xor i32.const -1028477379 i32.mul - local.tee $2 + local.tee $1 i32.const 16 i32.shr_u - local.get $2 + local.get $1 i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - i64.load $0 - local.get $1 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end - local.get $2 + call $~lib/set/Set#find + local.tee $1 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end - local.get $2 - local.get $2 - i32.load $0 offset=8 + local.get $1 + local.get $1 + i32.load $0 offset=4 i32.const 1 i32.or - i32.store $0 offset=8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.sub i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $3 - local.get $3 + local.tee $1 + local.get $1 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -13565,126 +10112,60 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 local.get $2 - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) + (func $std/set/testNumeric (type $none_=>_none) (local $0 i32) - (local $1 i64) + (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 - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - call $~lib/set/Set#constructor - local.tee $3 - i32.store $0 - loop $for-loop|0 - local.get $1 - i64.const 100 - i64.lt_u - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + (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.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $9 + i32.store $0 + loop $for-loop|0 + local.get $1 + i32.const 100 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -13693,88 +10174,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find0 - loop $while-continue|04 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find0 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|04 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13785,14 +10196,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|0 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -13802,184 +10216,41 @@ 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 - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|011 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|011 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 14 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|018 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $0 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $4 - i32.const -2 - i32.and - local.set $0 - br $while-continue|018 - end - end + end + i32.const 50 + local.set $1 + loop $for-loop|1 + local.get $1 + i32.const 100 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 14 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -13990,14 +10261,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|1 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -14009,56 +10283,82 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 4 + local.tee $1 + local.tee $4 + local.get $9 + i32.store $0 offset=4 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $6 - i32.const 0 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $9 i32.store $0 - local.get $3 + local.get $9 i32.load $0 offset=8 - local.set $7 - local.get $3 + local.set $1 + local.get $5 + local.get $9 + i32.store $0 + local.get $9 i32.load $0 offset=16 - local.set $4 - local.get $6 - i32.const 8 + local.set $10 + local.get $5 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $6 i64.const 0 i64.store $0 - local.get $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 i32.const 16 - i32.const 19 + i32.const 15 call $~lib/rt/itcms/__new - local.tee $8 + local.tee $6 i32.store $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=4 - local.get $8 + local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=8 - local.get $8 + local.get $7 + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 i32.store $0 offset=12 - local.get $4 - i32.const 134217727 + local.get $10 + i32.const 268435455 i32.gt_u if i32.const 1456 @@ -14070,188 +10370,133 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $4 - local.get $4 + local.get $10 + local.get $10 i32.const 8 i32.le_u select - i32.const 3 + i32.const 2 i32.shl - local.tee $9 + local.tee $7 i32.const 1 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $11 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 i32.store $0 offset=4 - local.get $8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=12 + local.get $6 + local.get $11 i32.store $0 - local.get $0 + local.get $11 if - local.get $8 - local.get $0 + local.get $6 + local.get $11 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $8 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $11 i32.store $0 offset=4 local.get $8 - local.get $9 + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $7 i32.store $0 offset=8 local.get $8 - local.get $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $6 - local.get $8 - i32.store $0 - i32.const 0 - local.set $0 - loop $for-loop|03 - local.get $2 - local.get $4 - i32.lt_s - if - local.get $7 - local.get $2 - i32.const 4 - i32.shl - i32.add - local.tee $6 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $8 - local.get $0 - local.get $6 - i64.load $0 - call $~lib/array/Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|03 - end - end - local.get $8 - local.get $0 - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $8 - local.get $0 + i32.store $0 offset=4 + local.get $6 + local.get $10 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $8 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|2 - local.get $0 - local.get $8 - i32.load $0 offset=12 - i32.lt_s - if - local.get $8 - local.get $0 - call $~lib/array/Array#__get - local.tee $1 - 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 $1 - 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 $2 - local.get $2 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - local.get $2 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.set $2 - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $2 - i32.const 16 - i32.shr_u + local.get $5 + local.get $6 + i32.store $0 offset=4 + loop $for-loop|00 + local.get $2 + local.get $10 + i32.lt_s + if + local.get $1 local.get $2 - i32.xor - i32.and - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find28 - loop $while-continue|032 - local.get $2 - if - local.get $2 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - local.get $2 - i64.load $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find28 - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|032 - end - end - i32.const 0 - local.set $2 + local.tee $5 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $0 + local.get $5 + i32.load $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|00 + end + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $0 + 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 $4 + local.get $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $9 + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 + local.get $9 + local.get $6 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -14261,208 +10506,80 @@ call $~lib/builtins/abort unreachable end - local.get $4 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - call $~lib/array/Array#__get - call $~lib/set/Set#add + i32.store $0 offset=4 + local.get $1 + local.get $6 + i32.store $0 offset=16 local.get $0 + local.get $6 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $3 i32.const 1 i32.add - local.set $0 + local.set $3 br $for-loop|2 end end - local.get $4 - i32.load $0 offset=20 - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 i32.const 1568 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 - if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find39 - loop $while-continue|043 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find39 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|043 - end - end - i32.const 0 - local.set $0 - end - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - call $~lib/set/Set#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find46 - loop $while-continue|050 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find46 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|050 - end - end + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $1 + loop $for-loop|3 + local.get $1 + i32.const 50 + i32.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if i32.const 0 - local.set $0 + i32.const 1568 + i32.const 31 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -14472,14 +10589,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|3 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -14490,92 +10610,19 @@ call $~lib/builtins/abort unreachable end - i64.const 0 + i32.const 0 local.set $1 loop $for-loop|4 local.get $1 - i64.const 50 - i64.lt_u + i32.const 50 + i32.lt_u if - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find55 - loop $while-continue|059 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find55 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|059 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -14584,88 +10631,18 @@ call $~lib/builtins/abort unreachable end - local.get $3 - local.get $1 - call $~lib/set/Set#add - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - i32.wrap_i64 - i32.const -1028477379 - i32.mul - i32.const 374761401 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 local.get $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find62 - loop $while-continue|066 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find62 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|066 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -14673,90 +10650,20 @@ i32.const 41 i32.const 5 call $~lib/builtins/abort - unreachable - end - local.get $3 - local.get $1 - call $~lib/set/Set#delete - local.get $3 - i32.load $0 - local.get $3 - i32.load $0 offset=4 - local.get $1 - 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 $1 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/set/Set#find69 - loop $while-continue|073 - local.get $0 - if - local.get $0 - i32.load $0 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 $0 - i64.eq - end - br_if $__inlined_func$~lib/set/Set#find69 - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|073 - end - end - i32.const 0 - local.set $0 + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -14766,14 +10673,17 @@ unreachable end local.get $1 - i64.const 1 - i64.add + i32.const 1 + i32.add local.set $1 br $for-loop|4 end end - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -14784,10 +10694,16 @@ call $~lib/builtins/abort unreachable end - local.get $3 - call $~lib/set/Set#clear - local.get $3 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#clear + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -14797,7 +10713,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -14809,17 +10725,270 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 16 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + i64.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 f32) + (local $8 i32) (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -14838,6 +11007,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -14845,7 +11017,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -14854,17 +11026,24 @@ i32.const 3 i32.div_s local.tee $6 - i32.const 3 + i32.const 4 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 local.get $0 i32.load $0 offset=16 - i32.const 3 + i32.const 4 i32.shl i32.add local.set $7 @@ -14876,47 +11055,58 @@ i32.ne if local.get $4 - i32.load $0 offset=4 + i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if local.get $2 local.get $4 - f32.load $0 - local.tee $8 - f32.store $0 + i64.load $0 + local.tee $5 + i64.store $0 local.get $2 - local.get $5 - local.get $1 local.get $8 - i32.reinterpret_f32 + local.get $1 + local.get $5 + 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 $5 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul local.tee $9 + local.get $9 i32.const 15 i32.shr_u - local.get $9 i32.xor i32.const -2048144777 i32.mul local.tee $9 + local.get $9 i32.const 13 i32.shr_u - local.get $9 i32.xor i32.const -1028477379 i32.mul local.tee $9 + local.get $9 i32.const 16 i32.shr_u - local.get $9 i32.xor i32.and i32.const 2 @@ -14924,34 +11114,51 @@ i32.add local.tee $9 i32.load $0 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $9 local.get $2 i32.store $0 local.get $2 - i32.const 8 + i32.const 16 i32.add local.set $2 end local.get $4 - i32.const 8 + i32.const 16 i32.add local.set $4 br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $8 + i32.store $0 offset=12 + local.get $0 + local.get $8 i32.store $0 - local.get $5 + local.get $8 if local.get $0 - local.get $5 + local.get $8 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 local.get $0 local.get $3 i32.store $0 offset=8 @@ -14961,102 +11168,131 @@ local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 local.get $0 local.get $6 i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 local.get $0 local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#add (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#add (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - i32.reinterpret_f32 + local.get $1 + 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 $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul local.tee $2 - local.get $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 - local.get $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul local.tee $2 - local.get $2 i32.const 16 i32.shr_u - i32.xor - local.tee $3 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=4 - local.tee $4 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $1 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end local.get $2 + i32.xor + local.tee $2 + call $~lib/set/Set#find i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.eq if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -15065,9 +11301,15 @@ i32.div_s i32.lt_s if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 i32.load $0 offset=4 i32.const 1 @@ -15075,37 +11317,61 @@ i32.const 1 i32.or end - call $~lib/set/Set#rehash + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 - local.set $2 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=16 - local.tee $4 + local.tee $5 i32.const 1 i32.add i32.store $0 offset=16 - local.get $2 local.get $4 - i32.const 3 + local.get $5 + i32.const 4 i32.shl i32.add - local.tee $2 + local.tee $4 local.get $1 - f32.store $0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 local.get $0 local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 - local.get $2 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 + local.set $5 local.get $3 local.get $0 + i32.store $0 + local.get $4 + local.get $5 + local.get $2 + local.get $0 i32.load $0 offset=4 i32.and i32.const 2 @@ -15113,13 +11379,148 @@ i32.add local.tee $0 i32.load $0 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 - local.get $2 + local.get $4 i32.store $0 end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 130 + 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 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#set:length (type $i32_i32_=>_none) (param $0 i32) (param $1 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + (local $3 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 @@ -15132,94 +11533,114 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.get $1 - i32.const 2 + i32.const 3 i32.shl i32.add - f32.load $0 + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/set/Set#delete (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) + (func $~lib/set/Set#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 - i32.load $0 + i32.store $0 local.get $0 - i32.load $0 offset=4 local.get $1 - i32.reinterpret_f32 + local.get $1 + 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 $1 + i64.const 32 + i64.shr_u + i32.wrap_i64 i32.const -1028477379 i32.mul - i32.const 374761397 i32.add i32.const 17 i32.rotl i32.const 668265263 i32.mul local.tee $2 - local.get $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul local.tee $2 - local.get $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul local.tee $2 - local.get $2 i32.const 16 i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 - if - local.get $2 - i32.load $0 offset=4 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f32.load $0 - local.get $1 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $3 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 - end - end - i32.const 0 - local.set $2 - end local.get $2 + i32.xor + call $~lib/set/Set#find + local.tee $2 i32.eqz if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer return end local.get $2 local.get $2 - i32.load $0 offset=4 + i32.load $0 offset=8 i32.const 1 i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 i32.store $0 offset=4 local.get $0 local.get $0 @@ -15227,25 +11648,41 @@ i32.const 1 i32.sub i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 i32.const 1 i32.shr_u - local.tee $2 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 i32.const 1 i32.add i32.const 4 local.get $0 i32.load $0 offset=20 - local.tee $3 - local.get $3 + local.tee $2 + local.get $2 i32.const 4 i32.lt_u select i32.ge_u if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 local.get $0 i32.load $0 offset=12 i32.const 3 @@ -15257,15 +11694,110 @@ i32.const 0 end if + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - call $~lib/set/Set#rehash + i32.store $0 + local.get $0 + local.get $3 + call $~lib/set/Set#rehash end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $std/set/testNumeric (type $none_=>_none) - (local $0 i32) + (func $~lib/set/Set#clear (type $i32_=>_none) (param $0 i32) (local $1 i32) - (local $2 f32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (local $0 i32) + (local $1 i64) + (local $2 i32) (local $3 i32) (local $4 i32) (local $5 i32) @@ -15275,178 +11807,56 @@ (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 - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + local.tee $4 i32.const 0 - i32.store $0 offset=8 - local.get $0 - call $~lib/set/Set#constructor - local.tee $11 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $10 i32.store $0 loop $for-loop|0 - local.get $2 - f32.const 100 - f32.lt + local.get $1 + i64.const 100 + i64.lt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $0 - 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 - i32.const 0 - i32.const 1568 - i32.const 6 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $2 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find1 - loop $while-continue|02 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find1 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|02 - end - end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has + if i32.const 0 - local.set $3 + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -15456,15 +11866,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - f32.const 1 - f32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|0 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -15475,81 +11888,19 @@ call $~lib/builtins/abort unreachable end - f32.const 50 - local.set $2 + i64.const 50 + local.set $1 loop $for-loop|1 - local.get $2 - f32.const 100 - f32.lt + local.get $1 + i64.const 100 + i64.lt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find4 - loop $while-continue|05 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find4 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|05 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -15559,77 +11910,18 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|08 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|08 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -15639,15 +11931,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - f32.const 1 - f32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|1 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size i32.const 100 i32.ne if @@ -15659,56 +11954,82 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $8 - i32.const 4 + local.tee $4 + local.tee $5 + local.get $10 + i32.store $0 offset=4 + local.get $4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + local.get $10 i32.store $0 - local.get $11 + local.get $10 i32.load $0 offset=8 local.set $4 - local.get $11 + local.get $6 + local.get $10 + i32.store $0 + local.get $10 i32.load $0 offset=16 - local.set $7 - local.get $3 - i32.const 8 + local.set $11 + local.get $6 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 1748 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $7 i64.const 0 i64.store $0 - local.get $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 i32.const 16 - i32.const 21 + i32.const 17 call $~lib/rt/itcms/__new - local.tee $6 + local.tee $7 i32.store $0 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=4 - local.get $6 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=8 - local.get $6 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 i32.store $0 offset=12 - local.get $7 - i32.const 268435455 + local.get $11 + i32.const 134217727 i32.gt_u if i32.const 1456 @@ -15720,208 +12041,133 @@ end global.get $~lib/memory/__stack_pointer i32.const 8 - local.get $7 - local.get $7 + local.get $11 + local.get $11 i32.const 8 i32.le_u select - i32.const 2 + i32.const 3 i32.shl - local.tee $0 + local.tee $8 i32.const 1 call $~lib/rt/itcms/__new - local.tee $5 + local.tee $12 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $6 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $7 + local.get $12 i32.store $0 - local.get $5 + local.get $12 if - local.get $6 - local.get $5 + local.get $7 + local.get $12 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $6 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 i32.store $0 offset=4 - local.get $6 - local.get $0 + local.get $7 + local.get $12 + i32.store $0 offset=4 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $8 i32.store $0 offset=8 - local.get $6 + local.get $9 + local.get $7 + i32.store $0 offset=4 local.get $7 + local.get $11 i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $9 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 local.get $6 - i32.store $0 + local.get $7 + i32.store $0 offset=4 loop $for-loop|00 - local.get $7 - local.get $9 - i32.gt_s + local.get $2 + local.get $11 + i32.lt_s if local.get $4 - local.get $9 - i32.const 3 + local.get $2 + i32.const 4 i32.shl i32.add - local.tee $0 - i32.load $0 offset=4 + local.tee $6 + i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - f32.load $0 - local.set $2 - local.get $1 - local.tee $0 - i32.const 1 - i32.add - local.set $1 - local.get $0 - local.get $6 - i32.load $0 offset=12 - i32.ge_u - if - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $6 - local.get $0 - i32.const 1 - i32.add - local.tee $3 - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $6 - local.get $3 - i32.store $0 offset=12 - end local.get $6 - i32.load $0 offset=4 + i64.load $0 + call $~lib/array/Array#__set local.get $0 - i32.const 2 - i32.shl + i32.const 1 i32.add - local.get $2 - f32.store $0 + local.set $0 end - local.get $9 + local.get $2 i32.const 1 i32.add - local.set $9 + local.set $2 br $for-loop|00 end end - local.get $6 - local.get $1 - i32.const 2 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $6 - local.get $1 - i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $7 + i32.store $0 + local.get $7 + local.get $0 + 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 $8 - local.get $6 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $3 + local.get $5 + local.get $7 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 loop $for-loop|2 - local.get $10 - local.get $6 - i32.load $0 offset=12 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.get $3 + i32.gt_s if - local.get $6 - local.get $10 - call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer local.tee $2 - 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 $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.set $0 - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find11 - loop $while-continue|012 - local.get $1 - if - local.get $1 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find11 - local.get $0 - i32.const -2 - i32.and - local.set $1 - br $while-continue|012 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + local.get $10 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=16 + local.get $10 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -15931,22 +12177,37 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=16 + local.get $0 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add local.get $3 - local.get $6 - local.get $10 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $10 i32.const 1 i32.add - local.set $10 + local.set $3 br $for-loop|2 end end - local.get $3 - i32.load $0 offset=20 - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + local.get $0 i32.ne if i32.const 0 @@ -15956,81 +12217,19 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - local.set $2 + i64.const 0 + local.set $1 loop $for-loop|3 - local.get $2 - f32.const 50 - f32.lt + local.get $1 + i64.const 50 + i64.lt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|015 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|015 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -16040,77 +12239,18 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - call $~lib/set/Set#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find17 - loop $while-continue|018 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find17 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|018 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -16119,15 +12259,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - f32.const 1 - f32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|3 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -16138,81 +12281,19 @@ call $~lib/builtins/abort unreachable end - f32.const 0 - local.set $2 + i64.const 0 + local.set $1 loop $for-loop|4 - local.get $2 - f32.const 50 - f32.lt + local.get $1 + i64.const 50 + i64.lt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find20 - loop $while-continue|021 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find20 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|021 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -16221,77 +12302,18 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find23 - loop $while-continue|024 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find23 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|024 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 @@ -16301,77 +12323,18 @@ call $~lib/builtins/abort unreachable end - local.get $11 - local.get $2 - call $~lib/set/Set#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $2 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - block $__inlined_func$~lib/set/Set#find26 - loop $while-continue|027 - local.get $3 - if - local.get $3 - i32.load $0 offset=4 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - f32.load $0 - local.get $2 - f32.eq - end - br_if $__inlined_func$~lib/set/Set#find26 - local.get $0 - i32.const -2 - i32.and - local.set $3 - br $while-continue|027 - end - end - i32.const 0 - local.set $3 - end - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 @@ -16380,15 +12343,18 @@ call $~lib/builtins/abort unreachable end - local.get $2 - f32.const 1 - f32.add - local.set $2 + local.get $1 + i64.const 1 + i64.add + local.set $1 br $for-loop|4 end end - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size i32.const 50 i32.ne if @@ -16399,10 +12365,16 @@ call $~lib/builtins/abort unreachable end - local.get $11 - call $~lib/set/Set#clear - local.get $11 - i32.load $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#clear + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size if i32.const 0 i32.const 1568 @@ -16412,7 +12384,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer return @@ -16424,18 +12396,270 @@ call $~lib/builtins/abort unreachable ) - (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 18 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 64 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + i64.eq + end + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $0 + i32.const 15 + i32.shr_u + local.get $0 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u + local.get $0 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u + local.get $0 + i32.xor + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (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 f64) - (local $9 i64) - (local $10 i32) + (local $8 i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -16454,6 +12678,9 @@ i64.const 0 i64.store $0 local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $1 i32.const 1 i32.add @@ -16461,7 +12688,7 @@ i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $5 + local.tee $8 i32.store $0 global.get $~lib/memory/__stack_pointer local.get $2 @@ -16475,9 +12702,16 @@ call $~lib/arraybuffer/ArrayBuffer#constructor local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=8 - local.tee $4 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 local.get $0 i32.load $0 offset=16 i32.const 4 @@ -16499,15 +12733,13 @@ if local.get $2 local.get $4 - f64.load $0 - local.tee $8 - f64.store $0 + i64.load $0 + local.tee $5 + i64.store $0 local.get $2 - local.get $5 - local.get $1 local.get $8 - i64.reinterpret_f64 - local.tee $9 + local.get $1 + local.get $5 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16517,7 +12749,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $9 + local.get $5 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16528,22 +12760,22 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 i32.const 15 i32.shr_u i32.xor i32.const -2048144777 i32.mul - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 i32.const 13 i32.shr_u i32.xor i32.const -1028477379 i32.mul - local.tee $10 - local.get $10 + local.tee $9 + local.get $9 i32.const 16 i32.shr_u i32.xor @@ -16551,10 +12783,10 @@ i32.const 2 i32.shl i32.add - local.tee $10 + local.tee $9 i32.load $0 i32.store $0 offset=8 - local.get $10 + local.get $9 local.get $2 i32.store $0 local.get $2 @@ -16569,49 +12801,349 @@ br $while-continue|0 end end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $8 + i32.store $0 offset=12 + local.get $0 + local.get $8 i32.store $0 - local.get $5 + local.get $8 + if + local.get $0 + local.get $8 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $1 + 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 $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + local.tee $2 + call $~lib/set/Set#find + i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 4 + i32.shl + i32.add + local.tee $4 + local.get $1 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $5 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + (local $3 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 + i32.store $0 local.get $1 - i32.store $0 offset=4 local.get $0 - local.get $3 - i32.store $0 offset=8 - local.get $3 + i32.load $0 offset=12 + i32.ge_u if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1248 + i32.const 1616 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - local.get $6 - i32.store $0 offset=12 - local.get $0 + i32.store $0 local.get $0 - i32.load $0 offset=20 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/set/Set#add (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) + (func $~lib/set/Set#delete (type $i32_i64_=>_none) (param $0 i32) (param $1 i64) (local $2 i32) - (local $3 i64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 - i32.load $0 local.get $1 - i64.reinterpret_f64 - local.tee $3 + local.get $1 i32.wrap_i64 i32.const -1028477379 i32.mul @@ -16621,7 +13153,7 @@ i32.rotl i32.const 668265263 i32.mul - local.get $3 + local.get $1 i64.const 32 i64.shr_u i32.wrap_i64 @@ -16651,1706 +13183,2208 @@ i32.shr_u local.get $2 i32.xor - local.tee $4 + call $~lib/set/Set#find + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $2 + local.get $2 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + i32.const 1 i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $2 + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $2 + local.get $2 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 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 $0 + local.get $0 + local.get $3 + call $~lib/set/Set#rehash + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/set/testNumeric (type $none_=>_none) + (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) + (local $10 i32) + (local $11 i32) + (local $12 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $4 + call $~lib/set/Set#constructor + local.tee $10 + i32.store $0 + loop $for-loop|0 + local.get $1 + i64.const 100 + i64.lt_u if - local.get $2 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.and - if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has + if i32.const 0 - else - local.get $2 - f64.load $0 - local.get $1 - f64.eq + i32.const 1568 + i32.const 6 + i32.const 5 + call $~lib/builtins/abort + unreachable end - br_if $__inlined_func$~lib/set/Set#find - local.get $5 - i32.const -2 - i32.and - local.set $2 - br $while-continue|0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + 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 - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - local.get $0 - i32.load $0 offset=16 - local.get $0 - i32.load $0 offset=12 - i32.eq + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne if - local.get $0 - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 offset=12 + i32.const 0 + i32.const 1568 + i32.const 10 i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $0 - i32.load $0 offset=4 - else - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shl - i32.const 1 - i32.or + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + 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 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + 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 + i64.const 1 + i64.add + local.set $1 + br $for-loop|1 end - call $~lib/set/Set#rehash end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + 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 + local.tee $4 + local.tee $5 + local.get $10 + i32.store $0 offset=4 + local.get $4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + local.get $10 + i32.store $0 + local.get $10 i32.load $0 offset=8 - local.set $2 - local.get $0 - local.get $0 + local.set $4 + local.get $6 + local.get $10 + i32.store $0 + local.get $10 i32.load $0 offset=16 - local.tee $5 - i32.const 1 - i32.add - i32.store $0 offset=16 - local.get $2 - local.get $5 - i32.const 4 + local.set $11 + local.get $6 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + i32.const 16 + i32.const 19 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=4 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.store $0 offset=12 + local.get $11 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $11 + local.get $11 + i32.const 8 + i32.le_u + select + i32.const 3 i32.shl - i32.add - local.tee $2 - local.get $1 - f64.store $0 - local.get $0 - local.get $0 - i32.load $0 offset=20 + local.tee $8 i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $2 - local.get $0 - i32.load $0 - local.get $4 - local.get $0 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 + call $~lib/rt/itcms/__new + local.tee $12 i32.store $0 offset=8 - local.get $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=12 + local.get $7 + local.get $12 i32.store $0 - end - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1248 - i32.const 1616 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - ) - (func $~lib/set/Set#delete (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) - (local $2 i32) - (local $3 i64) - (local $4 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i64.reinterpret_f64 - local.tee $3 - 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 $3 - 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 $2 - i32.const 15 - i32.shr_u - local.get $2 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $2 - i32.const 13 - i32.shr_u - local.get $2 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $2 - i32.const 16 - i32.shr_u - local.get $2 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 + local.get $12 + if + local.get $7 + local.get $12 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $12 + i32.store $0 offset=4 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $8 + i32.store $0 offset=8 + local.get $9 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $11 + i32.store $0 offset=12 + local.get $9 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $7 + i32.store $0 offset=4 + loop $for-loop|00 local.get $2 + local.get $11 + i32.lt_s if + local.get $4 local.get $2 + i32.const 4 + i32.shl + i32.add + local.tee $6 i32.load $0 offset=8 - local.tee $4 i32.const 1 i32.and - if (result i32) - i32.const 0 - else - local.get $2 - f64.load $0 - local.get $1 - f64.eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + local.get $0 + local.get $6 + i64.load $0 + call $~lib/array/Array#__set + local.get $0 + i32.const 1 + i32.add + local.set $0 end - br_if $__inlined_func$~lib/set/Set#find - local.get $4 - i32.const -2 - i32.and + local.get $2 + i32.const 1 + i32.add local.set $2 - br $while-continue|0 + br $for-loop|00 end end - i32.const 0 - local.set $2 - end - local.get $2 - i32.eqz - if - return - end - local.get $2 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.or - i32.store $0 offset=8 - local.get $0 - local.get $0 - i32.load $0 offset=20 - i32.const 1 - i32.sub - i32.store $0 offset=20 - local.get $0 - i32.load $0 offset=4 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 1 - i32.add - i32.const 4 - local.get $0 - i32.load $0 offset=20 - local.tee $4 - local.get $4 - i32.const 4 - i32.lt_u - select - i32.ge_u - if (result i32) - local.get $0 - i32.load $0 offset=20 - local.get $0 - i32.load $0 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 $std/set/testNumeric (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i64) - (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 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 local.get $0 - i32.const 0 + 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 $5 + local.get $7 i32.store $0 offset=8 - local.get $0 - call $~lib/set/Set#constructor - local.tee $11 - i32.store $0 - loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $0 + i32.store $0 offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length local.get $3 - f64.const 100 - f64.lt + i32.gt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 + global.get $~lib/memory/__stack_pointer 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 $10 + i32.store $0 offset=4 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find - loop $while-continue|0 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|0 - end - end - i32.const 0 - local.set $5 - end - local.get $5 + local.get $7 + i32.store $0 offset=16 + local.get $10 + local.get $7 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz if i32.const 0 i32.const 1568 - i32.const 6 + i32.const 24 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $11 - local.get $3 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - i64.reinterpret_f64 + global.get $~lib/memory/__stack_pointer 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 $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 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=16 local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find0 - loop $while-continue|04 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find0 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|04 - end - end - i32.const 0 - local.set $5 - end - local.get $5 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 8 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $7 + local.get $3 + call $~lib/array/Array#__get + call $~lib/set/Set#add local.get $3 - f64.const 1 - f64.add + i32.const 1 + i32.add local.set $3 - br $for-loop|0 + br $for-loop|2 end end - local.get $11 - i32.load $0 offset=20 - i32.const 100 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 10 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 50 - local.set $3 - loop $for-loop|1 - local.get $3 - f64.const 100 - f64.lt - if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find7 - loop $while-continue|011 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find7 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|011 - end - end - i32.const 0 - local.set $5 - end - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + local.get $0 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has i32.eqz if i32.const 0 i32.const 1568 - i32.const 14 + i32.const 31 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $11 - local.get $3 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find14 - loop $while-continue|018 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find14 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|018 - end - end - i32.const 0 - local.set $5 - end - local.get $5 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has if i32.const 0 i32.const 1568 - i32.const 16 + i32.const 33 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $3 - f64.const 1 - f64.add - local.set $3 - br $for-loop|1 + local.get $1 + i64.const 1 + i64.add + local.set $1 + br $for-loop|3 end end - local.get $11 - i32.load $0 offset=20 - i32.const 100 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + i32.const 50 i32.ne if i32.const 0 i32.const 1568 - i32.const 18 + i32.const 35 i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $9 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $4 - i32.const 0 - i32.store $0 - local.get $11 - i32.load $0 offset=8 - local.set $5 - local.get $11 - i32.load $0 offset=16 - local.set $8 - local.get $4 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 i64.const 0 - i64.store $0 - local.get $0 - i32.const 16 - i32.const 23 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 - local.get $7 - i32.const 0 - i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.store $0 offset=12 - local.get $8 - i32.const 134217727 - i32.gt_u - if - i32.const 1456 - i32.const 1616 - i32.const 70 - i32.const 60 - call $~lib/builtins/abort - unreachable + local.set $1 + loop $for-loop|4 + local.get $1 + i64.const 50 + i64.lt_u + if + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#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 $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + 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 - global.get $~lib/memory/__stack_pointer - i32.const 8 - local.get $8 - local.get $8 - i32.const 8 - i32.le_u - select - i32.const 3 - i32.shl - local.tee $0 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=4 - local.get $7 - local.get $6 - i32.store $0 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + i32.const 50 + i32.ne if - local.get $7 - local.get $6 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $7 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $10 i32.store $0 offset=4 - local.get $7 - local.get $0 - i32.store $0 offset=8 - local.get $7 - local.get $8 - i32.store $0 offset=12 + local.get $10 + call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/set/Set#get:size + 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 - local.get $4 - local.get $7 - i32.store $0 - loop $for-loop|03 - local.get $8 - local.get $10 - i32.gt_s - if - local.get $5 - local.get $10 - i32.const 4 - i32.shl - i32.add - local.tee $0 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - f64.load $0 - local.set $3 - local.get $1 - local.tee $0 - i32.const 1 - i32.add - local.set $1 - local.get $0 - local.get $7 - i32.load $0 offset=12 - i32.ge_u - if - local.get $0 - i32.const 0 - i32.lt_s - if - i32.const 1248 - i32.const 1616 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $7 - local.get $0 - i32.const 1 - i32.add - local.tee $4 - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $7 - local.get $4 - i32.store $0 offset=12 - end - local.get $7 - i32.load $0 offset=4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $3 - f64.store $0 - end - local.get $10 - i32.const 1 - i32.add - local.set $10 - br $for-loop|03 + return + end + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 24 + i32.const 20 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 16 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 32 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + if + local.get $0 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=20 + local.get $1 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#find (type $i32_f32_i32_=>_i32) (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 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 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 $0 + f32.eq end - end - local.get $7 - local.get $1 - i32.const 3 - i32.const 0 - call $~lib/array/ensureCapacity - local.get $7 - local.get $1 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - local.get $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - call $~lib/set/Set#constructor - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $5 - loop $for-loop|2 - local.get $5 - local.get $7 - i32.load $0 offset=12 - i32.lt_s if - local.get $7 - local.get $5 - call $~lib/array/Array#__get - local.tee $3 - 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 + global.get $~lib/memory/__stack_pointer + i32.const 4 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.set $0 - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/set/Set#find31 - loop $while-continue|035 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $1 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find31 - local.get $0 - i32.const -2 - i32.and - local.set $1 - br $while-continue|035 - end - end - i32.const 0 - local.set $1 - end - local.get $1 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 24 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.get $7 - local.get $5 - call $~lib/array/Array#__get - call $~lib/set/Set#add - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|2 + 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/set/Set#has (type $i32_f32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $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 + call $~lib/set/Set#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 i32) + (local $9 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + 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 $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.load $0 offset=16 + i32.const 3 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 local.get $4 - i32.load $0 offset=20 - local.get $11 - i32.load $0 offset=20 + local.get $6 i32.ne if - i32.const 0 - i32.const 1568 - i32.const 27 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - local.set $3 - loop $for-loop|3 - local.get $3 - f64.const 50 - f64.lt + local.get $4 + i32.load $0 offset=4 + i32.const 1 + i32.and + i32.eqz if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 + local.get $4 + f32.load $0 + local.tee $7 + f32.store $0 + local.get $2 + local.get $8 + local.get $1 + local.get $7 + 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 $0 - local.get $0 + local.tee $9 i32.const 15 i32.shr_u + local.get $9 i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $9 i32.const 13 i32.shr_u + local.get $9 i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $9 i32.const 16 i32.shr_u + local.get $9 i32.xor i32.and i32.const 2 i32.shl i32.add + local.tee $9 i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find42 - loop $while-continue|046 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find42 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|046 - end - end - i32.const 0 - local.set $5 - end - local.get $5 - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 31 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/set/Set#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 + i32.store $0 offset=4 + local.get $9 local.get $2 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.const -1028477379 - i32.mul + i32.store $0 + local.get $2 + i32.const 8 i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 + local.set $2 + end + local.get $4 + i32.const 8 + i32.add + local.set $4 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $8 + i32.store $0 offset=12 + local.get $0 + local.get $8 + i32.store $0 + local.get $8 + if + local.get $0 + local.get $8 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + if + local.get $0 + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#add (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + local.tee $2 + call $~lib/set/Set#find + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 15 - i32.shr_u - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 + i32.store $0 offset=4 local.get $0 - i32.const 13 - i32.shr_u - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 16 - i32.shr_u - i32.xor - i32.and - i32.const 2 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find49 - loop $while-continue|053 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find49 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|053 - end - end - i32.const 0 - local.set $5 - end - local.get $5 - if - i32.const 0 - i32.const 1568 - i32.const 33 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - f64.const 1 - f64.add - local.set $3 - br $for-loop|3 + i32.const 1 + i32.or end + call $~lib/set/Set#rehash end - local.get $11 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=16 + local.tee $5 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $4 + local.get $5 + i32.const 3 + i32.shl + i32.add + local.tee $4 + local.get $1 + f32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 offset=20 - i32.const 50 - i32.ne + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $5 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 16 + i32.const 21 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + i32.const 268435455 + i32.gt_u if - i32.const 0 - i32.const 1568 - i32.const 35 - i32.const 3 + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 call $~lib/builtins/abort unreachable end - f64.const 0 - local.set $3 - loop $for-loop|4 - local.get $3 - f64.const 50 - f64.lt + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $0 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $2 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $2 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $2 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s if - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 + local.get $4 + local.get $5 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find58 - loop $while-continue|062 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find58 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|062 - end - end - i32.const 0 - local.set $5 - end - local.get $5 - if - i32.const 0 - i32.const 1568 - i32.const 39 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/set/Set#add - local.get $11 - i32.load $0 - local.get $11 + local.tee $7 i32.load $0 offset=4 - local.get $3 - 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 $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 + i32.const 1 i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find65 - loop $while-continue|069 - local.get $5 - if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find65 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|069 - end - end - i32.const 0 - local.set $5 - end - local.get $5 i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 + local.get $0 + local.tee $1 + i32.const 1 + i32.add + local.set $0 + local.get $7 + f32.load $0 + local.set $3 + local.get $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 i32.const 0 - i32.const 1568 - i32.const 41 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $11 - local.get $3 - call $~lib/set/Set#delete - local.get $11 - i32.load $0 - local.get $11 - i32.load $0 offset=4 - local.get $3 - 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - block $__inlined_func$~lib/set/Set#find72 - loop $while-continue|076 - local.get $5 + i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s if - local.get $5 - i32.load $0 offset=8 - local.tee $0 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $5 - f64.load $0 - f64.eq - end - br_if $__inlined_func$~lib/set/Set#find72 - local.get $0 - i32.const -2 - i32.and - local.set $5 - br $while-continue|076 + i32.const 1248 + i32.const 1616 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable end + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $7 + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $7 + i32.store $0 offset=12 end - i32.const 0 - local.set $5 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + f32.store $0 + local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end local.get $5 - if - i32.const 0 - i32.const 1568 - i32.const 43 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $3 - f64.const 1 - f64.add - local.set $3 - br $for-loop|4 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 end end - local.get $11 - i32.load $0 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 $11 - call $~lib/set/Set#clear - local.get $11 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $0 + 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 + return + end + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + (local $3 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 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1248 + i32.const 1616 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/set/Set#delete (type $i32_f32_=>_none) (param $0 i32) (param $1 f32) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $1 + 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 $2 + i32.const 15 + i32.shr_u + local.get $2 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $2 + i32.const 13 + i32.shr_u + local.get $2 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $2 + i32.const 16 + i32.shr_u + local.get $2 + i32.xor + call $~lib/set/Set#find + local.tee $2 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $2 + local.get $2 + i32.load $0 offset=4 + i32.const 1 + i32.or + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.sub + i32.store $0 offset=20 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $2 + local.get $2 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=20 - if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.load $0 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 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + local.get $0 + i32.store $0 + local.get $0 + local.get $3 + call $~lib/set/Set#rehash end - i32.const 34544 - i32.const 34592 - i32.const 1 - 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 ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $1 + (func $std/set/testNumeric (type $none_=>_none) + (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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + if + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $2 + call $~lib/set/Set#constructor + local.tee $3 + i32.store $0 + loop $for-loop|0 + local.get $1 + f32.const 100 + f32.lt if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + call $~lib/set/Set#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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + 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 - local.get $0 - i32.load $0 offset=8 - local.tee $0 + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 + f32.const 1 + f32.add + local.set $1 + br $for-loop|1 end - return end - local.get $0 - i32.load $0 - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + i32.const 0 + i32.const 1568 + i32.const 18 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~start (type $none_=>_none) - memory.size $0 - i32.const 16 - i32.shl - i32.const 34516 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1172 - i32.const 1168 - i32.store $0 - i32.const 1176 - i32.const 1168 - i32.store $0 - i32.const 1168 - global.set $~lib/rt/itcms/pinSpace - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 - i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/toSpace - i32.const 1348 - i32.const 1344 - i32.store $0 - i32.const 1352 - i32.const 1344 - i32.store $0 - i32.const 1344 - 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 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $3 + i32.store $0 offset=4 + local.get $2 + local.get $3 + call $~lib/set/Set#values + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $2 + i32.store $0 offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/array/Array#get:length + local.get $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $3 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=16 + local.get $3 + local.get $4 + local.get $0 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=16 + local.get $2 + local.get $4 + local.get $0 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|2 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/set/Set#get:size + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + local.get $0 + i32.ne if - loop $while-continue|0 - global.get $~lib/rt/itcms/state + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + i32.eqz if - call $~lib/rt/itcms/step - drop - br $while-continue|0 + 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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + 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 - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + i32.const 50 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 if - call $~lib/rt/itcms/step - drop - br $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + 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 - 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 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + 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 $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#clear + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + 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/rt/itcms/threshold + global.set $~lib/memory/__stack_pointer ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18369,17 +15403,23 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 24 - i32.const 4 + i32.const 22 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 @@ -18389,15 +15429,22 @@ local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 3 i32.store $0 offset=4 - i32.const 32 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 64 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=8 @@ -18407,23 +15454,34 @@ local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 4 i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $0 i32) - (local $1 i32) + (func $~lib/set/Set#find (type $i32_f64_i32_=>_i32) (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 4 i32.sub @@ -18440,60 +15498,70 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 + local.get $3 local.get $0 - local.get $1 i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 i32.store $0 + local.get $4 + local.get $2 local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + if + local.get $0 + i32.load $0 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 $0 + f64.eq + end + 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 end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/set/Set#has (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18508,68 +15576,78 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 + local.tee $2 + i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $1 i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 offset=8 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i64.reinterpret_f64 + local.tee $3 + 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 $3 + 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 $0 + i32.const 15 + i32.shr_u local.get $0 - i32.const 4 - i32.store $0 offset=12 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $0 + i32.const 13 + i32.shr_u local.get $0 - i32.const 0 - i32.store $0 offset=16 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $0 + i32.const 16 + i32.shr_u local.get $0 + i32.xor + call $~lib/set/Set#find i32.const 0 - i32.store $0 offset=20 + i32.ne + local.set $0 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/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/set/Set#rehash (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 f64) + (local $8 i64) + (local $9 i32) + (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18584,66 +15662,201 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i64.const 0 i64.store $0 - local.get $0 - i32.const 24 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - i32.const 16 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $2 + i32.const 2 + i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.tee $9 + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + i32.const 3 + i32.shl + i32.const 3 + i32.div_s + local.tee $5 + i32.const 4 + i32.shl + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $3 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=8 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 + i32.load $0 offset=16 + i32.const 4 + i32.shl + i32.add + local.set $6 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $6 + i32.ne + if + local.get $4 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $2 + local.get $4 + f64.load $0 + local.tee $7 + f64.store $0 + local.get $2 + local.get $9 + local.get $1 + local.get $7 + i64.reinterpret_f64 + local.tee $8 + 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 $8 + 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 $10 + local.get $10 + i32.const 15 + i32.shr_u + i32.xor + i32.const -2048144777 + i32.mul + local.tee $10 + local.get $10 + i32.const 13 + i32.shr_u + i32.xor + i32.const -1028477379 + i32.mul + local.tee $10 + local.get $10 + i32.const 16 + i32.shr_u + i32.xor + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $10 + i32.load $0 + i32.store $0 offset=8 + local.get $10 + local.get $2 + i32.store $0 + local.get $2 + i32.const 16 + i32.add + local.set $2 + end + local.get $4 + i32.const 16 + i32.add + local.set $4 + br $while-continue|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $9 + i32.store $0 offset=12 local.get $0 - local.get $1 + local.get $9 i32.store $0 - local.get $1 + local.get $9 if local.get $0 - local.get $1 + local.get $9 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 local.get $1 i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $1 i32.store $0 offset=8 - local.get $1 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 if local.get $0 - local.get $1 + local.get $3 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 - i32.const 4 + i32.store $0 offset=8 + local.get $0 + local.get $5 i32.store $0 offset=12 + local.get $1 local.get $0 - i32.const 0 - i32.store $0 offset=16 + i32.store $0 offset=8 + local.get $1 local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.store $0 offset=12 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.store $0 offset=16 + local.get $1 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/set/Set#add (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) + (local $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -18660,144 +15873,457 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $3 i64.const 0 i64.store $0 + local.get $3 local.get $0 - i32.const 24 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 local.get $1 + 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 $3 + i32.const 15 + i32.shr_u + local.get $3 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + i32.const 13 + i32.shr_u + local.get $3 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + i32.const 16 + i32.shr_u + local.get $3 + i32.xor + local.tee $3 + call $~lib/set/Set#find + i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $5 + local.get $0 + i32.load $0 offset=12 + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shl + i32.const 1 + i32.or + end + call $~lib/set/Set#rehash + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if local.get $0 + i32.load $0 offset=16 + local.tee $6 + i32.const 1 + i32.add + i32.store $0 offset=16 + local.get $5 + local.get $6 + i32.const 4 + i32.shl + i32.add + local.tee $5 local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 + f64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $6 + local.get $4 + local.get $0 + i32.store $0 + local.get $5 + local.get $6 + local.get $3 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) + (func $~lib/set/Set#values (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) + (local $2 i32) + (local $3 f64) + (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 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s - if - i32.const 34544 - i32.const 34592 - i32.const 1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $4 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 16 + i32.const 23 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.store $0 offset=12 + local.get $6 + i32.const 134217727 + i32.gt_u + if + i32.const 1456 + i32.const 1616 + i32.const 70 + i32.const 60 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + local.get $6 + local.get $6 + i32.const 8 + i32.le_u + select + i32.const 3 + i32.shl + local.tee $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 - if + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $2 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $2 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $0 + i32.store $0 offset=8 + local.get $8 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=12 + local.get $8 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if + local.get $2 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.lt_s + if + local.get $4 + local.get $5 + i32.const 4 + i32.shl + i32.add + local.tee $7 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $2 + i32.store $0 + local.get $0 + local.tee $1 + i32.const 1 + i32.add + local.set $0 + local.get $7 + f64.load $0 + local.set $3 + local.get $8 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i32.const 0 + i32.store $0 + local.get $7 + local.get $2 + i32.store $0 + local.get $1 + local.get $2 + i32.load $0 offset=12 + i32.ge_u + if + local.get $1 + i32.const 0 + i32.lt_s + if + i32.const 1248 + i32.const 1616 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $2 + local.get $1 + i32.const 1 + i32.add + local.tee $7 + i32.const 3 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $7 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $2 + i32.store $0 + local.get $2 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $3 + f64.store $0 + local.get $7 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + end + local.get $5 + i32.const 1 + i32.add + local.set $5 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + 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 + return end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 34544 + i32.const 34592 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -18812,209 +16338,47 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 + local.tee $3 + i32.const 0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.get $3 local.get $0 - local.get $1 i32.store $0 local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s + i32.load $0 offset=12 + i32.ge_u if - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 + i32.const 1248 + i32.const 1616 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 + local.tee $3 local.get $0 - i32.const 24 - i32.const 16 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 + i32.load $0 offset=4 local.get $1 - i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/set/Set#clear (type $i32_=>_none) (param $0 i32) - (local $1 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 1748 - i32.lt_s - if - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer + f64.load $0 + local.set $2 + local.get $3 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/set/Set#delete (type $i32_f64_=>_none) (param $0 i32) (param $1 f64) + (local $2 i64) + (local $3 i32) + (local $4 i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 8 i32.sub @@ -19031,68 +16395,152 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $3 i64.const 0 i64.store $0 + local.get $3 local.get $0 - i32.const 24 - i32.const 18 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 local.get $0 local.get $1 - i32.store $0 local.get $1 + 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 $3 + i32.const 15 + i32.shr_u + local.get $3 + i32.xor + i32.const -2048144777 + i32.mul + local.tee $3 + i32.const 13 + i32.shr_u + local.get $3 + i32.xor + i32.const -1028477379 + i32.mul + local.tee $3 + i32.const 16 + i32.shr_u + local.get $3 + i32.xor + call $~lib/set/Set#find + local.tee $3 + i32.eqz if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $0 - i32.const 3 - i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $3 + local.get $3 + i32.load $0 offset=8 + i32.const 1 + i32.or + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 + local.tee $3 local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 - if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store $0 + local.get $3 local.get $0 - i32.const 4 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $0 - i32.const 0 - i32.store $0 offset=16 local.get $0 - i32.const 0 + i32.load $0 offset=20 + i32.const 1 + i32.sub i32.store $0 offset=20 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + i32.const 1 + i32.shr_u + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + i32.const 1 + i32.add + i32.const 4 + local.get $0 + i32.load $0 offset=20 + local.tee $3 + local.get $3 + i32.const 4 + i32.lt_u + select + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=20 + local.set $5 + local.get $3 + local.get $0 + i32.store $0 + local.get $5 + local.get $0 + i32.load $0 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 $0 + local.get $0 + local.get $4 + call $~lib/set/Set#rehash + end global.get $~lib/memory/__stack_pointer i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (result i32) + (func $std/set/testNumeric (type $none_=>_none) (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 8 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -19107,138 +16555,394 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 20 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.tee $2 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $2 + call $~lib/set/Set#constructor + local.tee $3 + i32.store $0 + loop $for-loop|0 + local.get $1 + f64.const 100 + f64.lt + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + 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 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + i32.const 100 + i32.ne + if + i32.const 0 + i32.const 1568 + 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 + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 + f64.const 1 + f64.add + local.set $1 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + 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 + local.tee $2 + local.get $3 i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 - if + local.get $2 + local.get $3 + call $~lib/set/Set#values + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + call $~lib/set/Set#constructor + local.tee $2 + i32.store $0 offset=12 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/array/Array#get:length local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $3 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=16 + local.get $3 + local.get $4 + local.get $0 + call $~lib/array/Array#__get + call $~lib/set/Set#has + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 24 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $2 + i32.store $0 offset=4 + local.get $5 + local.get $4 + i32.store $0 offset=16 + local.get $2 + local.get $4 + local.get $0 + call $~lib/array/Array#__get + call $~lib/set/Set#add + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|2 + end end - local.get $0 - i32.const 3 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=4 - i32.const 32 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $2 + call $~lib/set/Set#get:size + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 + i32.ne if - local.get $0 + i32.const 0 + i32.const 1568 + 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 - call $byn-split-outlined-A$~lib/rt/itcms/__link + f64.const 50 + f64.lt + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + 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 - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/set/Set#constructor (type $none_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 1748 - i32.lt_s + local.get $3 + i32.store $0 offset=4 + local.get $3 + call $~lib/set/Set#get:size + i32.const 50 + i32.ne if - i32.const 34544 - i32.const 34592 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 35 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 24 - i32.const 22 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - i32.const 16 - call $~lib/arraybuffer/ArrayBuffer#constructor + f64.const 0 local.set $1 + loop $for-loop|4 + local.get $1 + f64.const 50 + f64.lt + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + i32.const 39 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#add + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#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 $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#delete + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $1 + call $~lib/set/Set#has + if + i32.const 0 + i32.const 1568 + 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 + end + end global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 - local.get $1 + local.get $3 + call $~lib/set/Set#get:size + i32.const 50 + i32.ne if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 0 + i32.const 1568 + i32.const 45 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - i32.const 3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 offset=4 - i32.const 64 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 + local.get $3 + call $~lib/set/Set#clear global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $3 i32.store $0 offset=4 - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $1 + local.get $3 + call $~lib/set/Set#get:size if - local.get $0 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 0 + i32.const 1568 + i32.const 49 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 - i32.const 4 - i32.store $0 offset=12 - local.get $0 - i32.const 0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_=>_i32) (param $0 i32) (result i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/static-array.debug.wat b/tests/compiler/std/static-array.debug.wat index 751d7ab4d0..c033cdb01a 100644 --- a/tests/compiler/std/static-array.debug.wat +++ b/tests/compiler/std/static-array.debug.wat @@ -2,8 +2,8 @@ (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) @@ -67,42 +67,10 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 448 - i32.const 512 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 @@ -2422,254 +2390,266 @@ end end ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 560 - i32.const 512 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 0 - drop - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 448 - i32.const 512 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s - if - i32.const 448 - i32.const 512 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 1 - i32.add - i32.const 3 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $this - local.get $index - i32.const 1 - i32.add - call $~lib/array/Array#set:length_ - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - i32.const 0 - drop - ) (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $value f32) - local.get $index + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $std/static-array/i + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/static-array/I + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/static-array/f + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/static-array/F + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 448 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 560 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 608 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid + end + return + 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~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 (type $none_=>_none) + call $start:std/static-array + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 33760 + i32.const 33808 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if i32.const 448 i32.const 512 i32.const 114 @@ -2678,27 +2658,313 @@ unreachable end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index i32.const 2 i32.shl i32.add - f32.load $0 + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 560 + i32.const 512 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index + i32.const 1 + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $value i64) + (local $3 i32) + (local $4 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 448 + i32.const 512 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 local.set $value i32.const 0 drop local.get $value + 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#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) + (func $~lib/array/Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if local.get $index @@ -2716,44 +2982,85 @@ local.get $index i32.const 1 i32.add - i32.const 2 + i32.const 3 i32.const 1 call $~lib/array/ensureCapacity local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $index i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 2 + i32.const 3 i32.shl i32.add local.get $value - f32.store $0 + i64.store $0 i32.const 0 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $value f64) + (func $~lib/array/Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $value f32) + (local $3 i32) + (local $4 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if i32.const 448 @@ -2764,27 +3071,47 @@ unreachable end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + f32.load $0 local.set $value i32.const 0 drop local.get $value + 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#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) + (func $~lib/array/Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 local.get $index local.get $this - call $~lib/array/Array#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ i32.ge_u if local.get $index @@ -2802,227 +3129,186 @@ local.get $index i32.const 1 i32.add - i32.const 3 + i32.const 2 i32.const 1 call $~lib/array/ensureCapacity local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $index i32.const 1 i32.add - call $~lib/array/Array#set:length_ + call $~lib/array/Array#set:length_ end local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart local.get $index - i32.const 3 + i32.const 2 i32.shl i32.add local.get $value - f64.store $0 + f32.store $0 i32.const 0 drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) - global.get $std/static-array/i - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/static-array/I - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/static-array/f - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/static-array/F - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 448 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 560 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 608 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store $0 local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $value f64) + (local $3 i32) + (local $4 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 - drop + i32.store $0 + local.get $index local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 448 + i32.const 512 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value i32.const 0 drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + local.get $value + 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#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value 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 - drop + i32.store $0 + local.get $index local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array $~lib/array/Array $~lib/array/Array $invalid - end - return - 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~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 (type $none_=>_none) - call $start:std/static-array - ) - (func $~stack_check (type $none_=>_none) + local.set $3 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if - i32.const 33760 - i32.const 33808 + local.get $index + i32.const 0 + i32.lt_s + if + i32.const 448 + i32.const 512 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index i32.const 1 + i32.add + i32.const 3 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array#set:length_ end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + local.get $value + f64.store $0 + i32.const 0 + drop + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:std/static-array (type $none_=>_none) (local $0 i32) @@ -3400,4 +3686,108 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) ) diff --git a/tests/compiler/std/static-array.release.wat b/tests/compiler/std/static-array.release.wat index cb1aa428ee..8c7efdf151 100644 --- a/tests/compiler/std/static-array.release.wat +++ b/tests/compiler/std/static-array.release.wat @@ -2,8 +2,8 @@ (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) @@ -59,27 +59,6 @@ (data (i32.const 1952) "\08\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\02\t\00\00\02\n\00\00\02\19\00\00\02\1a") (export "memory" (memory $0)) (start $~start) - (func $~lib/array/Array#__get (type $i32_=>_i32) (param $0 i32) (result i32) - local.get $0 - i32.const 1100 - i32.load $0 - i32.ge_u - if - i32.const 1472 - i32.const 1536 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - i32.const 1092 - i32.load $0 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1250,6 +1229,161 @@ end end ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + block $folding-inner0 + block $invalid + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + unreachable + end + 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 1988 + i32.lt_s + if + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~start (type $none_=>_none) + call $start:std/static-array + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + if + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/array/Array#__get (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + if + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + i32.const 1088 + i32.store $0 + local.get $0 + i32.const 1100 + i32.load $0 + i32.ge_u + if + i32.const 1472 + i32.const 1536 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 1088 + i32.store $0 + i32.const 1092 + i32.load $0 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $~lib/array/ensureCapacity (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) @@ -1259,6 +1393,28 @@ (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 + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + if + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=8 local.tee $2 @@ -1278,6 +1434,9 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 block $__inlined_func$~lib/rt/itcms/__renew i32.const 1073741820 local.get $2 @@ -1696,8 +1855,36 @@ local.get $3 i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $~lib/array/Array#__get (type $i32_=>_i64) (param $0 i32) (result i64) + (local $1 i64) + (local $2 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 1988 + i32.lt_s + if + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 1184 + i32.store $0 local.get $0 i32.const 1196 i32.load $0 @@ -1710,6 +1897,10 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 1184 + i32.store $0 i32.const 1188 i32.load $0 local.get $0 @@ -1717,31 +1908,40 @@ i32.shl i32.add i64.load $0 + local.set $1 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) (func $~lib/array/Array#__get (type $i32_=>_f32) (param $0 i32) (result f32) - local.get $0 - i32.const 1276 - i32.load $0 - i32.ge_u + (local $1 f32) + (local $2 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 1988 + i32.lt_s if - i32.const 1472 - i32.const 1536 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 1268 - i32.load $0 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - ) - (func $~lib/array/Array#__get (type $i32_=>_f64) (param $0 i32) (result f64) + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + i32.const 1264 + i32.store $0 local.get $0 - i32.const 1372 + i32.const 1276 i32.load $0 i32.ge_u if @@ -1752,57 +1952,27 @@ call $~lib/builtins/abort unreachable end - i32.const 1364 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 1264 + i32.store $0 + i32.const 1268 i32.load $0 local.get $0 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner0 - block $invalid - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:std/static-array + f32.load $0 + local.set $1 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $start:std/static-array (type $none_=>_none) - (local $0 i32) + (func $~lib/array/Array#__get (type $i32_=>_f64) (param $0 i32) (result f64) + (local $1 f64) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1819,357 +1989,521 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i32.const 0 i32.store $0 - local.get $0 - i32.const 1088 + local.get $2 + i32.const 1360 i32.store $0 - i32.const 1100 + local.get $0 + i32.const 1372 i32.load $0 - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1408 - i32.const 6 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 1 - i32.ne + i32.ge_u if - i32.const 0 - i32.const 1408 - i32.const 7 - i32.const 1 + i32.const 1472 + i32.const 1536 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 1088 + local.tee $2 + i32.const 1360 i32.store $0 - i32.const 1 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1408 - i32.const 8 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - memory.size $0 - i32.const 16 + i32.const 1364 + i32.load $0 + local.get $0 + i32.const 3 i32.shl - i32.const 34756 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1748 - i32.const 1744 - i32.store $0 - i32.const 1752 - i32.const 1744 - i32.store $0 - i32.const 1744 - global.set $~lib/rt/itcms/pinSpace - i32.const 1780 - i32.const 1776 - i32.store $0 - i32.const 1784 - i32.const 1776 - i32.store $0 - i32.const 1776 - global.set $~lib/rt/itcms/toSpace - i32.const 1860 - i32.const 1856 - i32.store $0 - i32.const 1864 - i32.const 1856 - i32.store $0 - i32.const 1856 - global.set $~lib/rt/itcms/fromSpace + i32.add + f64.load $0 + local.set $1 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $start:std/static-array (type $none_=>_none) + (local $0 i32) global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 1100 - i32.load $0 - i32.eqz - if + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1088 + i32.store $0 i32.const 1088 + call $~lib/array/Array#get:length i32.const 2 - call $~lib/array/ensureCapacity - i32.const 1100 - i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 6 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 i32.store $0 - end - i32.const 1092 - i32.load $0 - i32.const 2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1088 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1408 - i32.const 10 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 1196 - i32.load $0 - i32.const 2 - i32.ne - if i32.const 0 - i32.const 1408 - i32.const 12 + call $~lib/array/Array#__get i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - i64.const 3 - i64.ne - if - i32.const 0 - i32.const 1408 - i32.const 13 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 7 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 1 - call $~lib/array/Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 1408 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 1196 - i32.load $0 - i32.eqz - if - i32.const 1184 - i32.const 3 - call $~lib/array/ensureCapacity - i32.const 1196 + call $~lib/array/Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + memory.size $0 + i32.const 16 + i32.shl + i32.const 34756 + i32.sub i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1748 + i32.const 1744 i32.store $0 - end - i32.const 1188 - i32.load $0 - i64.const 4 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1184 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - i64.const 4 - i64.ne - if + i32.const 1752 + i32.const 1744 + i32.store $0 + i32.const 1744 + global.set $~lib/rt/itcms/pinSpace + i32.const 1780 + i32.const 1776 + i32.store $0 + i32.const 1784 + i32.const 1776 + i32.store $0 + i32.const 1776 + global.set $~lib/rt/itcms/toSpace + i32.const 1860 + i32.const 1856 + i32.store $0 + i32.const 1864 + i32.const 1856 + i32.store $0 + i32.const 1856 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1088 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 - i32.const 1408 - i32.const 16 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 - i32.const 1276 - i32.load $0 - i32.const 2 - i32.ne - if + i32.store $0 + local.get $0 + i32.const 1088 + i32.store $0 + i32.const 1100 + i32.load $0 + i32.eqz + if + i32.const 1088 + i32.const 2 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 + i32.const 1100 + i32.const 1 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1088 + i32.store $0 + i32.const 1092 + i32.load $0 + i32.const 2 + i32.store $0 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 i32.const 0 - i32.const 1408 - i32.const 18 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - f32.const 1.5 - f32.ne - if + call $~lib/array/Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 + i32.const 1184 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 i32.const 0 - i32.const 1408 - i32.const 19 + call $~lib/array/Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1408 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 - i32.const 1 - call $~lib/array/Array#__get - f32.const 2.5 - f32.ne - if + call $~lib/array/Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1408 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1184 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 - i32.const 1408 - i32.const 20 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 - i32.const 1276 - i32.load $0 - i32.eqz - if + i32.store $0 + local.get $0 + i32.const 1184 + i32.store $0 + i32.const 1196 + i32.load $0 + i32.eqz + if + i32.const 1184 + i32.const 3 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 + i32.const 1196 + i32.const 1 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1184 + i32.store $0 + i32.const 1188 + i32.load $0 + i64.const 4 + i64.store $0 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1184 + i32.store $0 + i32.const 0 + call $~lib/array/Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1408 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1264 + i32.store $0 i32.const 1264 + call $~lib/array/Array#get:length i32.const 2 - call $~lib/array/ensureCapacity - i32.const 1276 - i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1264 i32.store $0 - end - i32.const 1268 - i32.load $0 - f32.const 2.5 - f32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1264 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - f32.const 2.5 - f32.ne - if i32.const 0 - i32.const 1408 - i32.const 22 + call $~lib/array/Array#__get + f32.const 1.5 + f32.ne + if + i32.const 0 + i32.const 1408 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1264 + i32.store $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 - i32.const 1372 - i32.load $0 - i32.const 2 - i32.ne - if + call $~lib/array/Array#__get + f32.const 2.5 + f32.ne + if + i32.const 0 + i32.const 1408 + i32.const 20 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1264 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 - i32.const 1408 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - f64.const 1.25 - f64.ne - if + i32.store $0 + local.get $0 + i32.const 1264 + i32.store $0 + i32.const 1276 + i32.load $0 + i32.eqz + if + i32.const 1264 + i32.const 2 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + i32.const 1264 + i32.store $0 + i32.const 1276 + i32.const 1 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1264 + i32.store $0 + i32.const 1268 + i32.load $0 + f32.const 2.5 + f32.store $0 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1264 + i32.store $0 i32.const 0 - i32.const 1408 - i32.const 25 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 - i32.const 1 - call $~lib/array/Array#__get - f64.const 2.25 - f64.ne - if + call $~lib/array/Array#__get + f32.const 2.5 + f32.ne + if + i32.const 0 + i32.const 1408 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 + i32.const 1360 + call $~lib/array/Array#get:length + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1408 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 i32.const 0 - i32.const 1408 - i32.const 26 + call $~lib/array/Array#__get + f64.const 1.25 + f64.ne + if + i32.const 0 + i32.const 1408 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 - i32.const 1372 - i32.load $0 - i32.eqz - if + call $~lib/array/Array#__get + f64.const 2.25 + f64.ne + if + i32.const 0 + i32.const 1408 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 1360 - i32.const 3 - call $~lib/array/ensureCapacity + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1988 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1360 + i32.store $0 i32.const 1372 - i32.const 1 + i32.load $0 + i32.eqz + if + i32.const 1360 + i32.const 3 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + i32.const 1360 + i32.store $0 + i32.const 1372 + i32.const 1 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1360 + i32.store $0 + i32.const 1364 + i32.load $0 + f64.const 2.25 + f64.store $0 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1360 i32.store $0 - end - i32.const 1364 - i32.load $0 - f64.const 2.25 - f64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1360 - i32.store $0 - i32.const 0 - call $~lib/array/Array#__get - f64.const 2.25 - f64.ne - if i32.const 0 - i32.const 1408 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array#__get + f64.const 2.25 + f64.ne + if + i32.const 0 + i32.const 1408 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable + 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 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 34784 + i32.const 34832 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/staticarray.debug.wat b/tests/compiler/std/staticarray.debug.wat index e91d6d4cde..fc3349d6a7 100644 --- a/tests/compiler/std/staticarray.debug.wat +++ b/tests/compiler/std/staticarray.debug.wat @@ -11,9 +11,9 @@ (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) (type $i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32) func)) + (type $i32_i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32 i32) func)) (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) - (type $i32_i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/staticarray/arr1 i32 (i32.const 32)) (global $~lib/shared/runtime/Runtime.Stub i32 (i32.const 0)) @@ -129,32 +129,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 64 - i32.const 128 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/staticarray/StaticArray#__uset (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) local.get $this local.get $index @@ -166,24 +140,6 @@ i32.const 0 drop ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.ge_u - if - i32.const 64 - i32.const 128 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $this - local.get $index - local.get $value - call $~lib/staticarray/StaticArray#__uset - ) (func $~lib/rt/common/OBJECT#get:rtId (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 @@ -2492,42 +2448,10 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 64 - i32.const 752 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) (func $~lib/staticarray/StaticArray<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 @@ -2537,27 +2461,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $start - local.get $end - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - ) (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 @@ -2671,576 +2574,158 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - return - ) (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - i32.const 0 - drop + (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $value - local.get $fromIndex - call $~lib/staticarray/StaticArray<~lib/string/String>#indexOf - i32.const 0 - i32.ge_s + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize + i32.const 3 + i32.shr_u return ) - (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.const 20 i32.sub call $~lib/rt/common/OBJECT#get:rtSize - i32.const 3 + i32.const 2 i32.shr_u return ) - (func $~lib/staticarray/StaticArray#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) - (local $length i32) - (local $4 i32) + (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end i32) (local $5 i32) - (local $elem f64) - i32.const 1 - drop - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $length - local.get $length + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + local.get $start i32.const 0 - i32.eq + i32.lt_s if (result i32) - i32.const 1 - else - local.get $fromIndex - local.get $length - i32.ge_s - end - if + local.get $len + local.get $start + i32.add + local.tee $5 i32.const 0 - return + local.tee $6 + local.get $5 + local.get $6 + i32.gt_u + select + else + local.get $start + local.tee $7 + local.get $len + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select end - local.get $fromIndex + local.set $start + local.get $end i32.const 0 i32.lt_s - if - local.get $length - local.get $fromIndex + if (result i32) + local.get $len + local.get $end i32.add - local.tee $4 + local.tee $9 i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s + local.tee $10 + local.get $9 + local.get $10 + i32.gt_u select - local.set $fromIndex - end - loop $while-continue|0 - local.get $fromIndex - local.get $length + else + local.get $end + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 i32.lt_s - if - local.get $this - local.get $fromIndex - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $elem - local.get $elem - local.get $value - f64.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f64.ne - local.get $value - local.get $value - f64.ne - i32.and - end - if - i32.const 1 - return - end - local.get $fromIndex - i32.const 1 - i32.add - local.set $fromIndex - br $while-continue|0 - end + select end + local.set $end + i32.const 4 + i32.const 1 + i32.eq + drop i32.const 0 - return - ) - (func $~lib/staticarray/StaticArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.const 2 - i32.shr_u - return - ) - (func $~lib/staticarray/StaticArray#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) - (local $length i32) - (local $4 i32) - (local $5 i32) - (local $elem f32) i32.const 1 + i32.le_s drop - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $length - local.get $length + i32.const 1 + drop + local.get $value i32.const 0 i32.eq - if (result i32) - i32.const 1 - else - local.get $fromIndex - local.get $length - i32.ge_s - end - if - i32.const 0 - return - end - local.get $fromIndex - i32.const 0 - i32.lt_s + local.get $value + i32.const -1 + i32.eq + i32.or if - local.get $length - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $fromIndex - end - loop $while-continue|0 - local.get $fromIndex - local.get $length + local.get $start + local.get $end i32.lt_s if - local.get $this - local.get $fromIndex + local.get $ptr + local.get $start i32.const 2 i32.shl i32.add - f32.load $0 - local.set $elem - local.get $elem local.get $value - f32.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f32.ne - local.get $value - local.get $value - f32.ne - i32.and - end - if - i32.const 1 - return - end - local.get $fromIndex - i32.const 1 - i32.add - local.set $fromIndex - br $while-continue|0 + local.get $end + local.get $start + i32.sub + i32.const 2 + i32.shl + memory.fill $0 end - end - i32.const 0 - return - ) - (func $~lib/staticarray/StaticArray#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - (local $length i32) - (local $4 i32) - (local $5 i32) - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $length - local.get $length - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $fromIndex - local.get $length - i32.ge_s - end - if - i32.const -1 return end - local.get $fromIndex - i32.const 0 - i32.lt_s - if - local.get $length - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.set $fromIndex - end - loop $while-continue|0 - local.get $fromIndex - local.get $length + loop $for-loop|0 + local.get $start + local.get $end i32.lt_s if - local.get $this - local.get $fromIndex + local.get $ptr + local.get $start i32.const 2 i32.shl i32.add - i32.load $0 local.get $value - i32.eq - if - local.get $fromIndex - return - end - local.get $fromIndex + i32.store $0 + local.get $start i32.const 1 i32.add - local.set $fromIndex - br $while-continue|0 + local.set $start + br $for-loop|0 end end - i32.const -1 - return ) - (func $~lib/staticarray/StaticArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - (local $length i32) - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $length - local.get $length - i32.const 0 - i32.eq - if - i32.const -1 - return - end - local.get $fromIndex - i32.const 0 - i32.lt_s - if - local.get $length - local.get $fromIndex - i32.add - local.set $fromIndex - else - local.get $fromIndex - local.get $length - i32.ge_s - if - local.get $length - i32.const 1 - i32.sub - local.set $fromIndex - end - end - loop $while-continue|0 - local.get $fromIndex - i32.const 0 - i32.ge_s - if - local.get $this - local.get $fromIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $value - i32.eq - if - local.get $fromIndex - return - end - local.get $fromIndex - i32.const 1 - i32.sub - local.set $fromIndex - br $while-continue|0 - end - end - i32.const -1 - return - ) - (func $~lib/staticarray/StaticArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $this - call $~lib/staticarray/StaticArray#get:length - local.set $fromIndex - end - local.get $this - local.get $value - local.get $fromIndex - call $~lib/staticarray/StaticArray#lastIndexOf - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - 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 $this - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $separator - call $~lib/util/string/joinStringArray - return - ) - (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end 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 $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_u - select - else - local.get $start - local.tee $7 - local.get $len - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - end - local.set $start - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end - i32.add - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_u - select - else - local.get $end - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - end - local.set $end - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - local.get $value - i32.const 0 - i32.eq - local.get $value - i32.const -1 - i32.eq - i32.or - if - local.get $start - local.get $end - i32.lt_s - if - local.get $ptr - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $value - local.get $end - local.get $start - i32.sub - i32.const 2 - i32.shl - memory.fill $0 - end - return - end - loop $for-loop|0 - local.get $start - local.get $end - i32.lt_s - if - local.get $ptr - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $start - i32.const 1 - i32.add - local.set $start - br $for-loop|0 - end - end - ) - (func $~lib/staticarray/StaticArray#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/staticarray/StaticArray#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/staticarray/StaticArray#fill - ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp i32) - local.get $len - i32.const 1 - i32.gt_u + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) + (local $i i32) + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp i32) + local.get $len + i32.const 1 + i32.gt_u if i32.const 0 local.set $i @@ -3302,242 +2787,38 @@ end end ) - (func $~lib/staticarray/StaticArray#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - local.get $this - call $~lib/staticarray/StaticArray#get:length - call $~lib/util/bytes/REVERSE + (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $x + i32.const 1 + i32.add + ) + (func $start:std/staticarray~anonymous|1 (type $i32_i32_i32_=>_none) (param $x i32) (param $$1 i32) (param $$2 i32) + (local $3 i32) + (local $4 i32) + global.get $std/staticarray/maxVal + local.tee $3 + local.get $x + local.tee $4 + local.get $3 + local.get $4 + i32.gt_s + select + global.set $std/staticarray/maxVal + ) + (func $start:std/staticarray~anonymous|2 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $x + i32.const 2 + i32.ge_s + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=8 ) - (func $~lib/staticarray/StaticArray#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) - (local $ptr i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $to i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $16 i32) - (local $from i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $21 i32) - (local $last i32) - (local $23 i32) - (local $24 i32) - (local $count i32) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.set $ptr - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - local.get $end - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $end - local.get $target - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $target - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $target - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $to - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $13 - i32.const 0 - local.tee $14 - local.get $13 - local.get $14 - i32.gt_s - select - else - local.get $start - local.tee $15 - local.get $len - local.tee $16 - local.get $15 - local.get $16 - i32.lt_s - select - end - local.set $from - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end - i32.add - local.tee $18 - i32.const 0 - local.tee $19 - local.get $18 - local.get $19 - i32.gt_s - select - else - local.get $end - local.tee $20 - local.get $len - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - end - local.set $last - local.get $last - local.get $from - i32.sub - local.tee $23 - local.get $len - local.get $to - i32.sub - local.tee $24 - local.get $23 - local.get $24 - i32.lt_s - select - local.set $count - local.get $ptr - local.get $to - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $from - i32.const 2 - i32.shl - i32.add - local.get $count - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $this - return - ) - (func $~lib/staticarray/StaticArray#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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 $end - end - local.get $this - local.get $target - local.get $start - local.get $end - call $~lib/staticarray/StaticArray#copyWithin - ) - (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $x - i32.const 1 - i32.add - ) - (func $start:std/staticarray~anonymous|1 (type $i32_i32_i32_=>_none) (param $x i32) (param $$1 i32) (param $$2 i32) - (local $3 i32) - (local $4 i32) - global.get $std/staticarray/maxVal - local.tee $3 - local.get $x - local.tee $4 - local.get $3 - local.get $4 - i32.gt_s - select - global.set $std/staticarray/maxVal - ) - (func $~lib/staticarray/StaticArray#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $i i32) - (local $len i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $start:std/staticarray~anonymous|2 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $x - i32.const 2 - i32.ge_s - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + i32.load $0 + ) + (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 ) @@ -3587,274 +2868,26 @@ local.get $newPtr return ) - (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) - (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 656 - i32.const 752 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 - i32.const 8 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData - i32.const 0 - call $~lib/rt/itcms/__link - end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 - end - ) (func $~lib/array/Array#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) local.get $this local.get $length_ i32.store $0 offset=12 ) - (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) - (local $len i32) - local.get $this - call $~lib/array/Array#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add - local.set $len - local.get $this - local.get $len - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:dataStart - local.get $oldLen - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $this - local.get $len - call $~lib/array/Array#set:length_ - local.get $len - return - ) (func $start:std/staticarray~anonymous|3 (type $i32_i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $x local.get $y i32.add ) - (func $~lib/staticarray/StaticArray#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - (local $len i32) - local.get $initialValue - local.set $acc - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $acc - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 4 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $acc - return - ) (func $start:std/staticarray~anonymous|4 (type $i32_i32_i32_i32_=>_i32) (param $x i32) (param $y i32) (param $$2 i32) (param $$3 i32) (result i32) local.get $x local.get $y i32.add ) - (func $~lib/staticarray/StaticArray#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $acc i32) - (local $i i32) - local.get $initialValue - local.set $acc - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $acc - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 4 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $acc - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $acc - return - ) (func $start:std/staticarray~anonymous|5 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x i32.const 2 i32.eq ) - (func $~lib/staticarray/StaticArray#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - return - ) (func $start:std/staticarray~anonymous|6 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x i32.const 4 @@ -3865,47 +2898,6 @@ i32.const 3 i32.le_s ) - (func $~lib/staticarray/StaticArray#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) (func $start:std/staticarray~anonymous|8 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $x i32.const 3 @@ -3916,102 +2908,23 @@ i32.const 2 i32.eq ) - (func $~lib/staticarray/StaticArray#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - (local $len i32) - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const -1 - return - ) - (func $start:std/staticarray~anonymous|10 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $x - i32.const 4 - i32.eq - ) - (func $start:std/staticarray~anonymous|11 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $x - i32.const 2 - i32.eq - ) - (func $~lib/staticarray/StaticArray#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $i i32) - local.get $this - call $~lib/staticarray/StaticArray#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - return - end - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - i32.const -1 - return - ) - (func $start:std/staticarray~anonymous|12 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $x - i32.const 4 - i32.eq - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) + (func $start:std/staticarray~anonymous|10 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $x + i32.const 4 + i32.eq + ) + (func $start:std/staticarray~anonymous|11 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $x + i32.const 2 + i32.eq + ) + (func $start:std/staticarray~anonymous|12 (type $i32_i32_i32_=>_i32) (param $x i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $x + i32.const 4 + i32.eq + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) (local $a i32) (local $b i32) @@ -4535,1023 +3448,3911 @@ end end ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub + ) + (func $~lib/rt/itcms/__collect (type $none_=>_none) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load $0 - local.set $a - local.get $ptr - i32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end - local.get $ptr - i32.load $0 - local.set $a|7 - local.get $ptr - i32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + loop $while-continue|0 + global.get $~lib/rt/itcms/state i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 - return + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|0 + end end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return end - block $~lib/util/sort/log2u|inlined.0 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.0 + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end end - i32.const 2 + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + i64.mul + i64.const 100 + i64.div_u + i32.wrap_i64 + i32.const 1024 i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size + global.set $~lib/rt/itcms/threshold + i32.const 0 + drop + i32.const 0 + drop + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $std/staticarray/arr1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/staticarray/arr2 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/staticarray/arr3 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + global.get $std/staticarray/arr4 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 64 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 656 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 1152 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 320 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/staticarray/StaticArray#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + drop + local.get $this + local.set $cur + local.get $cur + local.get $this + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end i32.lt_u if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 i32.add - local.set $i - br $for-loop|1 + local.set $cur + br $while-continue|0 end end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len + ) + (func $~lib/staticarray/StaticArray~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) i32.const 1 + drop + local.get $this + local.set $cur + local.get $cur + local.get $this + i32.const 20 i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 + call $~lib/rt/common/OBJECT#get:rtSize i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $endA - i32.const 1 + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 + local.set $cur + br $while-continue|0 end end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free ) - (func $~lib/staticarray/StaticArray#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__visit + ) + (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/staticarray/StaticArray#get:length - local.get $comparator - call $~lib/util/sort/SORT + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#__visit ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - 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 - 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 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - 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 - drop + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - global.get $std/staticarray/arr1 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/staticarray/arr2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/staticarray/arr3 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/staticarray/arr4 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 64 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 656 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 1152 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 320 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit - end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#__visit ) - (func $~lib/staticarray/StaticArray#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - local.set $cur - local.get $cur + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end + i32.load $0 offset=4 ) - (func $~lib/staticarray/StaticArray~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/staticarray/StaticArray#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit + i32.load $0 offset=4 ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 call $~lib/object/Object~visit local.get $0 local.get $1 - call $~lib/array/Array#__visit + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - local.set $cur - local.get $cur - local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/function/Function<%28i32%2Ci32%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> + block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/array/Array<~lib/string/String> + block $~lib/staticarray/StaticArray<~lib/string/String> + block $~lib/array/Array + block $~lib/staticarray/StaticArray + block $std/staticarray/Ref + block $~lib/staticarray/StaticArray + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $invalid + end + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array~visit + return + end + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>~visit + return + end + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>~visit + return + end + return + end + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit + return end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit + return end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit + return end + unreachable ) - (func $~lib/staticarray/StaticArray<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__visit - ) - (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + (func $~start (type $none_=>_none) + call $start:std/staticarray ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 35568 + i32.const 35616 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index i32.const 2 i32.shl i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 - end - end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/staticarray/StaticArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + local.get $value + call $~lib/staticarray/StaticArray#__uset + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + (func $std/staticarray/Ref#constructor (type $i32_=>_i32) (param $this 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 $0 local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + i32.store $0 local.get $1 - call $~lib/object/Object~visit - local.get $0 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + return ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/function/Function<%28i32%2Ci32%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> - block $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/array/Array<~lib/string/String> - block $~lib/staticarray/StaticArray<~lib/string/String> - block $~lib/array/Array - block $~lib/staticarray/StaticArray - block $std/staticarray/Ref - block $~lib/staticarray/StaticArray - block $~lib/arraybuffer/ArrayBufferView - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void> $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool> $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $invalid - end - return - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - return - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array~visit - return - end - local.get $0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>~visit - return - end - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return - end - return - end - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>~visit - return + (func $~lib/staticarray/StaticArray.fromArray (type $i32_=>_i32) (param $source i32) (result i32) + (local $length i32) + (local $outSize i32) + (local $out 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 $0 + local.get $source + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + local.set $length + local.get $length + i32.const 2 + i32.shl + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + i32.const 0 + drop + local.get $out + local.get $source + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $outSize + memory.copy $0 $0 + local.get $out + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 64 + i32.const 752 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + local.get $value + 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/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $sourceLen i32) + (local $otherLen i32) + (local $outLen i32) + (local $sourceSize i32) + (local $out i32) + (local $outStart i32) + (local $otherStart i32) + (local $thisStart 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 $0 + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/staticarray/StaticArray#get:length + local.set $sourceLen + local.get $other + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/staticarray/StaticArray#get:length + local.set $otherLen + local.get $sourceLen + local.get $otherLen + i32.add + local.set $outLen + local.get $outLen + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 656 + i32.const 128 + i32.const 178 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $sourceLen + i32.const 2 + i32.shl + local.set $sourceSize + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $out + i32.store $0 offset=4 + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $outLen + i32.const 2 + i32.shl + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $outStart + local.get $other + local.set $otherStart + local.get $this + local.set $thisStart + i32.const 0 + drop + local.get $outStart + local.get $thisStart + local.get $sourceSize + memory.copy $0 $0 + local.get $outStart + local.get $sourceSize + i32.add + local.get $otherStart + local.get $otherLen + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $out + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $length 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 $sourceStart i32) + (local $size i32) + (local $out i32) + (local $outStart i32) + (local $off i32) + (local $ref i32) + (local $20 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $20 + global.get $~lib/memory/__stack_pointer + local.get $20 + i32.store $0 + local.get $20 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.set $length + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $start + local.get $length + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $length + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $end + local.get $length + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $length + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $end + local.get $end + local.get $start + i32.sub + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + local.set $length + local.get $this + local.get $start + i32.const 2 + i32.shl + i32.add + local.set $sourceStart + local.get $length + i32.const 2 + i32.shl + local.set $size + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $out + i32.store $0 offset=4 + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $outStart + i32.const 1 + drop + i32.const 0 + local.set $off + loop $while-continue|0 + local.get $off + local.get $size + i32.lt_u + if + local.get $sourceStart + local.get $off + i32.add + i32.load $0 + local.set $ref + local.get $outStart + local.get $off + i32.add + local.get $ref + i32.store $0 + local.get $outStart + local.get $ref + i32.const 1 + call $~lib/rt/itcms/__link + local.get $off + i32.const 4 + i32.add + local.set $off + br $while-continue|0 + end + end + local.get $out + local.set $20 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $20 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $end + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + 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<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + i32.ge_u + if + i32.const 64 + i32.const 128 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value + i32.eqz + if + i32.const 1152 + i32.const 128 + i32.const 82 + i32.const 40 + call $~lib/builtins/abort + unreachable + end + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $sourceLen i32) + (local $otherLen i32) + (local $outLen i32) + (local $sourceSize i32) + (local $out i32) + (local $outStart i32) + (local $otherStart i32) + (local $thisStart i32) + (local $offset i32) + (local $ref i32) + (local $otherSize i32) + (local $offset|13 i32) + (local $ref|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 $0 + local.get $this + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store $0 + local.get $15 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.set $sourceLen + local.get $other + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store $0 + local.get $15 + call $~lib/array/Array<~lib/string/String>#get:length + local.set $otherLen + local.get $sourceLen + local.get $otherLen + i32.add + local.set $outLen + local.get $outLen + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 656 + i32.const 128 + i32.const 178 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $sourceLen + i32.const 2 + i32.shl + local.set $sourceSize + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $out + i32.store $0 offset=4 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $outLen + i32.const 2 + i32.const 9 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store $0 + local.get $15 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $outStart + local.get $other + local.set $15 + global.get $~lib/memory/__stack_pointer + local.get $15 + i32.store $0 + local.get $15 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $otherStart + local.get $this + local.set $thisStart + i32.const 1 + drop + i32.const 0 + local.set $offset + loop $for-loop|0 + local.get $offset + local.get $sourceSize + i32.lt_u + if + local.get $thisStart + local.get $offset + i32.add + i32.load $0 + local.set $ref + local.get $outStart + local.get $offset + i32.add + local.get $ref + i32.store $0 + local.get $out + local.get $ref + i32.const 1 + call $~lib/rt/itcms/__link + local.get $offset + i32.const 4 + i32.add + local.set $offset + br $for-loop|0 + end + end + local.get $outStart + local.get $sourceSize + i32.add + local.set $outStart + local.get $otherLen + i32.const 2 + i32.shl + local.set $otherSize + i32.const 0 + local.set $offset|13 + loop $for-loop|1 + local.get $offset|13 + local.get $otherSize + i32.lt_u + if + local.get $otherStart + local.get $offset|13 + i32.add + i32.load $0 + local.set $ref|14 + local.get $outStart + local.get $offset|13 + i32.add + local.get $ref|14 + i32.store $0 + local.get $out + local.get $ref|14 + i32.const 1 + call $~lib/rt/itcms/__link + local.get $offset|13 + i32.const 4 + i32.add + local.set $offset|13 + br $for-loop|1 + end + end + local.get $out + local.set $15 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $15 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) + (local $length 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.set $length + local.get $length + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $length + i32.ge_s + end + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $length + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + loop $while-continue|0 + local.get $fromIndex + local.get $length + i32.lt_s + if + local.get $this + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $value + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/string/String.__eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + end + 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 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $0 + i32.const 0 + drop + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $value + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $fromIndex + call $~lib/staticarray/StaticArray<~lib/string/String>#indexOf + i32.const 0 + i32.ge_s + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/staticarray/StaticArray#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $value f64) (param $fromIndex i32) (result i32) + (local $length i32) + (local $4 i32) + (local $5 i32) + (local $elem f64) + (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 $0 + i32.const 1 + drop + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/staticarray/StaticArray#get:length + local.set $length + local.get $length + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $length + i32.ge_s + end + if + i32.const 0 + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $length + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + loop $while-continue|0 + local.get $fromIndex + local.get $length + i32.lt_s + if + local.get $this + local.get $fromIndex + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $elem + local.get $elem + local.get $value + f64.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f64.ne + local.get $value + local.get $value + f64.ne + i32.and + end + if + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + end + i32.const 0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/staticarray/StaticArray#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $value f32) (param $fromIndex i32) (result i32) + (local $length i32) + (local $4 i32) + (local $5 i32) + (local $elem 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 $0 + i32.const 1 + drop + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/staticarray/StaticArray#get:length + local.set $length + local.get $length + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $length + i32.ge_s + end + if + i32.const 0 + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $length + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + loop $while-continue|0 + local.get $fromIndex + local.get $length + i32.lt_s + if + local.get $this + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $elem + local.get $elem + local.get $value + f32.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f32.ne + local.get $value + local.get $value + f32.ne + i32.and + end + if + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + br $while-continue|0 + end + end + i32.const 0 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/staticarray/StaticArray#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) + (local $length 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/staticarray/StaticArray#get:length + local.set $length + local.get $length + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $fromIndex + local.get $length + i32.ge_s + end + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $length + local.get $fromIndex + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.set $fromIndex + end + loop $while-continue|0 + local.get $fromIndex + local.get $length + i32.lt_s + if + local.get $this + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $value + i32.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.add + local.set $fromIndex + 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 + return + ) + (func $~lib/staticarray/StaticArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) + (local $length 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.set $length + local.get $length + i32.const 0 + i32.eq + if + i32.const -1 + 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 $fromIndex + i32.const 0 + i32.lt_s + if + local.get $length + local.get $fromIndex + i32.add + local.set $fromIndex + else + local.get $fromIndex + local.get $length + i32.ge_s + if + local.get $length + i32.const 1 + i32.sub + local.set $fromIndex + end + end + loop $while-continue|0 + local.get $fromIndex + i32.const 0 + i32.ge_s + if + local.get $this + local.get $fromIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $value + i32.eq + if + local.get $fromIndex + 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 $fromIndex + i32.const 1 + i32.sub + local.set $fromIndex + br $while-continue|0 + end + end + i32.const -1 + 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/staticarray/StaticArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $value + local.get $fromIndex + call $~lib/staticarray/StaticArray#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 $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $4 i32) + (local $estLen i32) + (local $value i32) + (local $i i32) + (local $offset i32) + (local $sepLen i32) + (local $result i32) + (local $i|11 i32) + (local $valueLen i32) + (local $13 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 1744 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if (result i32) + local.get $4 + else + i32.const 1744 + end + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + i32.const 0 + local.set $estLen + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $estLen + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.add + local.set $estLen + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $offset + local.get $separator + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $sepLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + local.get $sepLen + local.get $lastIndex + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=12 + i32.const 0 + local.set $i|11 + loop $for-loop|1 + local.get $i|11 + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset + end + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i|11 + i32.const 1 + i32.add + local.set $i|11 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + memory.copy $0 $0 + end + local.get $result + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + 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 $this + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/string/joinStringArray + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1776 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/staticarray/StaticArray#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + i32.const 0 + drop + local.get $this + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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/staticarray/StaticArray#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>~visit + unreachable + end + i32.const 0 + local.set $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/staticarray/StaticArray#fill + 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/staticarray/StaticArray#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/staticarray/StaticArray#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/staticarray/StaticArray#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + (local $ptr i32) + (local $len i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $to i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $from i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $last i32) + (local $23 i32) + (local $24 i32) + (local $count i32) + (local $26 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + local.set $ptr + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + local.get $26 + i32.store $0 + local.get $26 + call $~lib/staticarray/StaticArray#get:length + local.set $len + local.get $end + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $end + local.get $target + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $target + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $target + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $to + local.get $start + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $13 + i32.const 0 + local.tee $14 + local.get $13 + local.get $14 + i32.gt_s + select + else + local.get $start + local.tee $15 + local.get $len + local.tee $16 + local.get $15 + local.get $16 + i32.lt_s + select + end + local.set $from + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end + i32.add + local.tee $18 + i32.const 0 + local.tee $19 + local.get $18 + local.get $19 + i32.gt_s + select + else + local.get $end + local.tee $20 + local.get $len + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + end + local.set $last + local.get $last + local.get $from + i32.sub + local.tee $23 + local.get $len + local.get $to + i32.sub + local.tee $24 + local.get $23 + local.get $24 + i32.lt_s + select + local.set $count + local.get $ptr + local.get $to + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $from + i32.const 2 + i32.shl + i32.add + local.get $count + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $this + local.set $26 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $26 + return + ) + (func $~lib/staticarray/StaticArray#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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 $0 + 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 $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $target + local.get $start + local.get $end + call $~lib/staticarray/StaticArray#copyWithin + 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/staticarray/StaticArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $len i32) + (local $out i32) + (local $outStart i32) + (local $i i32) + (local $result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/staticarray/StaticArray#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.const 7 + i32.const 0 + call $~lib/rt/__newArray + local.tee $out + i32.store $0 offset=4 + local.get $out + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/array/Array#get:dataStart + local.set $outStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + local.set $result + local.get $outStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $result + i32.store $0 + i32.const 0 + drop + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/staticarray/StaticArray#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $i i32) + (local $len 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 $0 + i32.const 0 + local.set $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 656 + i32.const 752 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 0 + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $len + call $~lib/array/Array#set:length_ + local.get $len + 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/staticarray/StaticArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $result i32) + (local $i i32) + (local $len i32) + (local $value 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $result + i32.store $0 + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + local.get $value + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $result + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $value + call $~lib/array/Array#push + drop + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $result + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/staticarray/StaticArray#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i i32) + (local $len 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 $0 + local.get $initialValue + local.set $acc + i32.const 0 + local.set $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $acc + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/staticarray/StaticArray#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $acc i32) + (local $i 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 $0 + local.get $initialValue + local.set $acc + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/staticarray/StaticArray#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $acc + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $acc + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $acc + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/staticarray/StaticArray#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + i32.const 0 + local.set $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + 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.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>~visit - return + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + 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 + ) + (func $~lib/staticarray/StaticArray#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + i32.const 0 + local.set $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + 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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/staticarray/StaticArray#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $len 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 $0 + i32.const 0 + local.set $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/staticarray/StaticArray#get:length + local.set $len + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + 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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit - return end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/staticarray + i32.const -1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~stack_check (type $none_=>_none) + (func $~lib/staticarray/StaticArray#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $i i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 35568 - i32.const 35616 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/staticarray/StaticArray#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $this + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3 + global.set $~argumentsLength + local.get $fn + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + 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 $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end + 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 ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $fromIndex i32) (result i32) - (local $length i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.set $length - local.get $length - i32.const 0 - i32.eq - if (result i32) + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load $0 + local.set $a + local.get $ptr + i32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + local.get $ptr + i32.load $0 + local.set $a|7 + local.get $ptr + i32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len i32.const 1 - else - local.get $fromIndex - local.get $length - i32.ge_s - end - if - i32.const -1 - local.set $6 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 return end - local.get $fromIndex + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 i32.lt_s if - local.get $length - local.get $fromIndex - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s select - local.set $fromIndex + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - loop $while-continue|0 - local.get $fromIndex - local.get $length + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi i32.lt_s if - local.get $this - local.get $fromIndex + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - local.get $value - call $~lib/string/String.__eq + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne if - local.get $fromIndex - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns end - local.get $fromIndex + local.get $i|32 i32.const 1 - i32.add - local.set $fromIndex - br $while-continue|0 + i32.sub + local.set $i|32 + br $for-loop|4 end end - i32.const -1 - local.set $6 + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/staticarray/StaticArray#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result 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 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $this - i32.const 1776 - local.set $1 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/staticarray/StaticArray#get:length + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $1 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 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 $2 return ) + (func $~lib/staticarray/StaticArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 4 + i32.const 4 + i32.le_u + drop + i32.const 2688 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/staticarray/StaticArray#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) (func $start:std/staticarray (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -5607,13 +7408,13 @@ (local $51 i32) (local $52 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 100 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 96 + i32.const 100 memory.fill $0 global.get $std/staticarray/arr1 local.set $52 @@ -5933,6 +7734,11 @@ local.tee $3 i32.store $0 offset=8 local.get $3 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -5950,10 +7756,20 @@ loop $for-loop|0 local.get $4 local.get $3 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.lt_s if local.get $3 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 local.get $4 call $~lib/staticarray/StaticArray#__get i32.const 0 @@ -5984,12 +7800,27 @@ i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer local.get $7 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray.fromArray local.tee $8 i32.store $0 offset=16 local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length local.get $7 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/array/Array#get:length i32.eq i32.eqz @@ -6006,13 +7837,28 @@ loop $for-loop|1 local.get $9 local.get $7 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/array/Array#get:length i32.lt_s if local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 local.get $9 call $~lib/staticarray/StaticArray#__get local.get $7 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 local.get $9 call $~lib/array/Array#__get i32.eq @@ -6047,6 +7893,11 @@ local.tee $8 i32.store $0 offset=16 local.get $8 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 0 i32.eq @@ -6068,6 +7919,11 @@ i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer local.get $13 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 4 i32.const 4 i32.const 864 @@ -6081,6 +7937,11 @@ local.tee $15 i32.store $0 offset=28 local.get $15 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.const 3 i32.eq @@ -6095,6 +7956,11 @@ end global.get $~lib/memory/__stack_pointer local.get $13 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 i32.const 4 i32.const 896 @@ -6108,8 +7974,18 @@ local.tee $15 i32.store $0 offset=28 local.get $15 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length local.get $13 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#get:length i32.eq i32.eqz @@ -6130,6 +8006,11 @@ i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 i32.const 0 global.set $~argumentsLength @@ -6138,8 +8019,18 @@ local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6156,10 +8047,20 @@ loop $for-loop|2 local.get $20 local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.lt_s if local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6168,6 +8069,11 @@ i32.store $0 local.get $52 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 local.get $20 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6194,12 +8100,22 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 2 i32.eq @@ -6213,6 +8129,11 @@ unreachable end local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6237,6 +8158,11 @@ unreachable end local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6262,6 +8188,11 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 i32.const 1 global.set $~argumentsLength @@ -6270,8 +8201,18 @@ local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.sub @@ -6287,14 +8228,29 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 i32.const 50 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6308,6 +8264,11 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 100 i32.const 1 global.set $~argumentsLength @@ -6316,6 +8277,11 @@ local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 i32.eq @@ -6330,6 +8296,11 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const -1 i32.const 1 global.set $~argumentsLength @@ -6338,6 +8309,11 @@ local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.eq @@ -6351,6 +8327,11 @@ unreachable end local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6376,12 +8357,22 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const -2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 0 i32.eq @@ -6396,12 +8387,22 @@ end global.get $~lib/memory/__stack_pointer local.get $18 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $19 i32.store $0 offset=36 local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.eq @@ -6415,6 +8416,11 @@ unreachable end local.get $19 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $52 @@ -6444,9 +8450,14 @@ i32.const 1280 call $~lib/rt/__newBuffer local.tee $22 - i32.store $0 offset=40 + i32.store $0 offset=44 global.get $~lib/memory/__stack_pointer local.get $22 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 i32.const 2 i32.const 9 @@ -6459,10 +8470,20 @@ local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $25 - i32.store $0 offset=44 + i32.store $0 offset=48 local.get $25 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length local.get $22 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.eq i32.eqz @@ -6478,6 +8499,11 @@ drop global.get $~lib/memory/__stack_pointer local.get $22 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 i32.const 2 i32.const 9 @@ -6490,10 +8516,20 @@ local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> local.tee $25 - i32.store $0 offset=44 + i32.store $0 offset=48 local.get $25 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/array/Array<~lib/string/String>#get:length local.get $22 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#get:length i32.const 1 i32.add @@ -6515,8 +8551,13 @@ i32.const 1424 call $~lib/rt/__newBuffer local.tee $29 - i32.store $0 offset=48 + i32.store $0 offset=52 local.get $29 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 960 local.set $52 global.get $~lib/memory/__stack_pointer @@ -6537,6 +8578,11 @@ unreachable end local.get $29 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1360 local.set $52 global.get $~lib/memory/__stack_pointer @@ -6557,6 +8603,11 @@ unreachable end local.get $29 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1056 local.set $52 global.get $~lib/memory/__stack_pointer @@ -6577,6 +8628,11 @@ unreachable end local.get $29 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1056 local.set $52 global.get $~lib/memory/__stack_pointer @@ -6648,8 +8704,13 @@ i32.const 1536 call $~lib/rt/__newBuffer local.tee $33 - i32.store $0 offset=52 + i32.store $0 offset=56 local.get $33 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const 0 call $~lib/staticarray/StaticArray#indexOf @@ -6665,6 +8726,11 @@ unreachable end local.get $33 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 7 i32.const 0 call $~lib/staticarray/StaticArray#indexOf @@ -6680,6 +8746,11 @@ unreachable end local.get $33 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 9 i32.const 2 call $~lib/staticarray/StaticArray#indexOf @@ -6695,6 +8766,11 @@ unreachable end local.get $33 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const -1 call $~lib/staticarray/StaticArray#indexOf @@ -6710,6 +8786,11 @@ unreachable end local.get $33 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const -3 call $~lib/staticarray/StaticArray#indexOf @@ -6730,8 +8811,13 @@ i32.const 1568 call $~lib/rt/__newBuffer local.tee $35 - i32.store $0 offset=56 + i32.store $0 offset=60 local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const 1 global.set $~argumentsLength @@ -6749,6 +8835,11 @@ unreachable end local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 7 i32.const 1 global.set $~argumentsLength @@ -6766,6 +8857,11 @@ unreachable end local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const 3 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6781,6 +8877,11 @@ unreachable end local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const 2 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6796,6 +8897,11 @@ unreachable end local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const -2 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6811,6 +8917,11 @@ unreachable end local.get $35 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 i32.const -1 call $~lib/staticarray/StaticArray#lastIndexOf @@ -6831,13 +8942,18 @@ i32.const 1712 call $~lib/rt/__newBuffer local.tee $37 - i32.store $0 offset=60 + i32.store $0 offset=64 local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1776 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=64 + i32.store $0 offset=68 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 @@ -6862,11 +8978,16 @@ unreachable end local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1744 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=64 + i32.store $0 offset=68 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 @@ -6891,11 +9012,16 @@ unreachable end local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1904 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=64 + i32.store $0 offset=68 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 @@ -6920,11 +9046,16 @@ unreachable end local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1984 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=64 + i32.store $0 offset=68 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 @@ -6949,11 +9080,16 @@ unreachable end local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 i32.const 1776 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=64 + i32.store $0 offset=68 local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $52 @@ -6962,6 +9098,11 @@ i32.store $0 local.get $52 local.get $37 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=40 + local.get $52 call $~lib/staticarray/StaticArray<~lib/string/String>#toString local.set $52 global.get $~lib/memory/__stack_pointer @@ -6984,8 +9125,13 @@ i32.const 2080 call $~lib/rt/__newBuffer local.tee $39 - i32.store $0 offset=68 + i32.store $0 offset=72 local.get $39 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 i32.const 1 i32.const 2 @@ -6994,6 +9140,11 @@ call $~lib/staticarray/StaticArray#fill@varargs drop local.get $39 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 0 @@ -7008,6 +9159,11 @@ unreachable end local.get $39 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -7027,11 +9183,21 @@ i32.const 2112 call $~lib/rt/__newBuffer local.tee $41 - i32.store $0 offset=72 + i32.store $0 offset=76 local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/staticarray/StaticArray#reverse drop local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7046,6 +9212,11 @@ unreachable end local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 2 @@ -7060,6 +9231,11 @@ unreachable end local.get $41 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 1 @@ -7079,8 +9255,13 @@ i32.const 2144 call $~lib/rt/__newBuffer local.tee $43 - i32.store $0 offset=76 + i32.store $0 offset=80 local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 i32.const 3 i32.const 2 @@ -7089,6 +9270,11 @@ call $~lib/staticarray/StaticArray#copyWithin@varargs drop local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -7103,6 +9289,11 @@ unreachable end local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7117,6 +9308,11 @@ unreachable end local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 3 @@ -7131,6 +9327,11 @@ unreachable end local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 3 call $~lib/staticarray/StaticArray#__get i32.const 4 @@ -7145,6 +9346,11 @@ unreachable end local.get $43 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 4 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -7164,9 +9370,14 @@ i32.const 2192 call $~lib/rt/__newBuffer local.tee $45 - i32.store $0 offset=80 + i32.store $0 offset=84 global.get $~lib/memory/__stack_pointer local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2224 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7175,8 +9386,13 @@ local.get $52 call $~lib/staticarray/StaticArray#map local.tee $46 - i32.store $0 offset=84 + i32.store $0 offset=88 local.get $46 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -7191,6 +9407,11 @@ unreachable end local.get $46 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -7205,6 +9426,11 @@ unreachable end local.get $46 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2 call $~lib/array/Array#__get i32.const 4 @@ -7219,6 +9445,11 @@ unreachable end local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2256 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7240,6 +9471,11 @@ end global.get $~lib/memory/__stack_pointer local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2288 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7248,8 +9484,13 @@ local.get $52 call $~lib/staticarray/StaticArray#filter local.tee $47 - i32.store $0 offset=88 + i32.store $0 offset=92 local.get $47 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 call $~lib/array/Array#get:length i32.const 2 i32.eq @@ -7263,6 +9504,11 @@ unreachable end local.get $47 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 0 call $~lib/array/Array#__get i32.const 2 @@ -7277,6 +9523,11 @@ unreachable end local.get $47 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 1 call $~lib/array/Array#__get i32.const 3 @@ -7291,6 +9542,11 @@ unreachable end local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2320 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7313,6 +9569,11 @@ unreachable end local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2352 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7335,6 +9596,11 @@ unreachable end local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2384 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7352,6 +9618,11 @@ unreachable end local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 i32.const 2416 local.set $52 global.get $~lib/memory/__stack_pointer @@ -7370,24 +9641,12 @@ unreachable end local.get $45 - i32.const 2448 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store $0 local.get $52 - call $~lib/staticarray/StaticArray#every - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 232 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $45 - i32.const 2480 + i32.const 2448 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 @@ -7395,617 +9654,237 @@ local.get $52 call $~lib/staticarray/StaticArray#every i32.eqz - i32.eqz if i32.const 0 i32.const 192 - i32.const 233 + i32.const 232 i32.const 3 call $~lib/builtins/abort unreachable end local.get $45 - i32.const 2512 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store $0 local.get $52 - call $~lib/staticarray/StaticArray#findIndex - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 236 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $45 - i32.const 2544 + i32.const 2480 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 i32.store $0 offset=24 local.get $52 - call $~lib/staticarray/StaticArray#findIndex - i32.const -1 - i32.eq + call $~lib/staticarray/StaticArray#every + i32.eqz i32.eqz if i32.const 0 i32.const 192 - i32.const 237 + i32.const 233 i32.const 3 call $~lib/builtins/abort unreachable end local.get $45 - i32.const 2576 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 - i32.store $0 offset=24 + i32.store $0 local.get $52 - call $~lib/staticarray/StaticArray#findLastIndex - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 240 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $45 - i32.const 2608 + i32.const 2512 local.set $52 global.get $~lib/memory/__stack_pointer local.get $52 i32.store $0 offset=24 local.get $52 - call $~lib/staticarray/StaticArray#findLastIndex - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 241 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.const 4 - i32.const 2640 - call $~lib/rt/__newBuffer - local.tee $51 - i32.store $0 offset=92 - local.get $51 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/staticarray/StaticArray#sort@varargs - drop - local.get $51 - i32.const 0 - call $~lib/staticarray/StaticArray#__get - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 250 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $51 - i32.const 1 - call $~lib/staticarray/StaticArray#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 192 - i32.const 251 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $51 - i32.const 2 - call $~lib/staticarray/StaticArray#__get - i32.const 2 + call $~lib/staticarray/StaticArray#findIndex + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 192 - i32.const 252 + i32.const 236 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $51 - i32.const 3 - call $~lib/staticarray/StaticArray#__get - i32.const 3 + local.get $45 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 + i32.const 2544 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=24 + local.get $52 + call $~lib/staticarray/StaticArray#findIndex + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 192 - i32.const 253 + i32.const 237 i32.const 3 call $~lib/builtins/abort unreachable end - 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 96 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this 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 $45 + local.set $52 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $52 i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - 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/staticarray/Ref#constructor (type $i32_=>_i32) (param $this 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 $52 + i32.const 2576 + local.set $52 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $52 + i32.store $0 offset=24 + local.get $52 + call $~lib/staticarray/StaticArray#findLastIndex + i32.const 1 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - 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/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $outSize i32) - (local $out 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 $0 - local.get $length - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 656 - i32.const 128 - i32.const 51 - i32.const 60 + i32.const 192 + i32.const 240 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $length - i32.const 2 - i32.shl - local.set $outSize - global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $out - 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/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) - (local $bufferSize i32) - (local $buffer i32) - (local $array 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 $0 - local.get $length - local.get $alignLog2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - local.get $data - call $~lib/rt/__newBuffer - local.tee $buffer - i32.store $0 - i32.const 16 - local.get $id - call $~lib/rt/itcms/__new - local.set $array - local.get $array - local.get $buffer - i32.store $0 - local.get $array - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - local.get $array - local.get $buffer - i32.store $0 offset=4 - local.get $array - local.get $bufferSize - i32.store $0 offset=8 - local.get $array - local.get $length - i32.store $0 offset=12 - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - ) - (func $~lib/staticarray/StaticArray.fromArray (type $i32_=>_i32) (param $source i32) (result i32) - (local $length i32) - (local $outSize i32) - (local $out 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 $0 - local.get $source - call $~lib/array/Array#get:length - local.set $length - local.get $length - i32.const 2 - i32.shl - local.set $outSize - global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - i32.const 0 - drop - local.get $out - local.get $source - call $~lib/array/Array#get:dataStart - local.get $outSize - memory.copy $0 $0 - local.get $out - 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/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $sourceLen i32) - (local $otherLen i32) - (local $outLen i32) - (local $sourceSize i32) - (local $out i32) - (local $outStart i32) - (local $otherStart i32) - (local $thisStart i32) - (local $10 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $45 + local.set $52 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $52 i32.store $0 - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $sourceLen - local.get $other - call $~lib/staticarray/StaticArray#get:length - local.set $otherLen - local.get $sourceLen - local.get $otherLen - i32.add - local.set $outLen - local.get $outLen - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u + local.get $52 + i32.const 2608 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 offset=24 + local.get $52 + call $~lib/staticarray/StaticArray#findLastIndex + i32.const -1 + i32.eq + i32.eqz if - i32.const 656 - i32.const 128 - i32.const 178 - i32.const 7 + i32.const 0 + i32.const 192 + i32.const 241 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $sourceLen - i32.const 2 - i32.shl - local.set $sourceSize - local.get $this - local.set $out - i32.const 0 - drop - i32.const 1 - drop global.get $~lib/memory/__stack_pointer - local.get $outLen - i32.const 2 - i32.shl + i32.const 16 i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 2640 + call $~lib/rt/__newBuffer + local.tee $51 + i32.store $0 offset=96 + local.get $51 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 i32.store $0 - local.get $out - local.set $outStart - local.get $other - local.set $otherStart - local.get $this - local.set $thisStart + local.get $52 + i32.const 0 + global.set $~argumentsLength i32.const 0 + call $~lib/staticarray/StaticArray#sort@varargs drop - local.get $outStart - local.get $thisStart - local.get $sourceSize - memory.copy $0 $0 - local.get $outStart - local.get $sourceSize - i32.add - local.get $otherStart - local.get $otherLen - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $out - local.set $10 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - return - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $length 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 $sourceStart i32) - (local $size i32) - (local $out i32) - (local $outStart i32) - (local $off i32) - (local $ref i32) - (local $20 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $52 i32.store $0 - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.set $length - local.get $start + local.get $52 i32.const 0 - i32.lt_s - if (result i32) - local.get $start - local.get $length - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $length - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $start - local.get $end + call $~lib/staticarray/StaticArray#__get i32.const 0 - i32.lt_s - if (result i32) - local.get $end - local.get $length - i32.add - local.tee $8 + i32.eq + i32.eqz + if i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $length - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select + i32.const 192 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $end - local.get $end - local.get $start - i32.sub - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - local.set $length - local.get $this - local.get $start - i32.const 2 - i32.shl - i32.add - local.set $sourceStart - local.get $length - i32.const 2 - i32.shl - local.set $size - local.get $this - local.set $out - i32.const 0 - drop - i32.const 1 - drop + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out + local.get $52 i32.store $0 - local.get $out - local.set $outStart + local.get $52 i32.const 1 - drop - i32.const 0 - local.set $off - loop $while-continue|0 - local.get $off - local.get $size - i32.lt_u - if - local.get $sourceStart - local.get $off - i32.add - i32.load $0 - local.set $ref - local.get $outStart - local.get $off - i32.add - local.get $ref - i32.store $0 - local.get $outStart - local.get $ref - i32.const 1 - call $~lib/rt/itcms/__link - local.get $off - i32.const 4 - i32.add - local.set $off - br $while-continue|0 - end + call $~lib/staticarray/StaticArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 251 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $51 + local.set $52 + global.get $~lib/memory/__stack_pointer + local.get $52 + i32.store $0 + local.get $52 + i32.const 2 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 252 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $out - local.set $20 + local.get $51 + local.set $52 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $52 + i32.store $0 + local.get $52 + i32.const 3 + call $~lib/staticarray/StaticArray#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 192 + i32.const 253 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 100 i32.add global.set $~lib/memory/__stack_pointer - local.get $20 - return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8014,66 +9893,27 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index + i32.const 0 + drop local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - i32.ge_u - if - i32.const 64 - i32.const 128 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value + local.get $2 i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value - i32.eqz - if - i32.const 1152 - i32.const 128 - i32.const 82 - i32.const 40 - call $~lib/builtins/abort - unreachable - end - local.get $value - local.set $3 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $sourceLen i32) - (local $otherLen i32) - (local $outLen i32) - (local $sourceSize i32) - (local $out i32) - (local $outStart i32) - (local $otherStart i32) - (local $thisStart i32) - (local $offset i32) - (local $ref i32) - (local $otherSize i32) - (local $offset|13 i32) - (local $ref|14 i32) - (local $15 i32) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8082,345 +9922,161 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.set $sourceLen - local.get $other - call $~lib/array/Array<~lib/string/String>#get:length - local.set $otherLen - local.get $sourceLen - local.get $otherLen - i32.add - local.set $outLen - local.get $outLen - i32.const 1073741820 - i32.const 2 - i32.shr_u - i32.gt_u - if - i32.const 656 - i32.const 128 - i32.const 178 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $sourceLen - i32.const 2 - i32.shl - local.set $sourceSize - local.get $this - local.set $out i32.const 1 drop + local.get $this + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $outLen - i32.const 2 - i32.const 9 - i32.const 0 - call $~lib/rt/__newArray - local.tee $out + local.get $5 i32.store $0 - local.get $out - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $outStart - local.get $other + local.get $5 call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $otherStart + local.set $cur + local.get $cur local.get $this - local.set $thisStart - i32.const 1 - drop - i32.const 0 - local.set $offset - loop $for-loop|0 - local.get $offset - local.get $sourceSize - i32.lt_u - if - local.get $thisStart - local.get $offset - i32.add - i32.load $0 - local.set $ref - local.get $outStart - local.get $offset - i32.add - local.get $ref - i32.store $0 - local.get $out - local.get $ref - i32.const 1 - call $~lib/rt/itcms/__link - local.get $offset - i32.const 4 - i32.add - local.set $offset - br $for-loop|0 - end - end - local.get $outStart - local.get $sourceSize - i32.add - local.set $outStart - local.get $otherLen + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ i32.const 2 i32.shl - local.set $otherSize - i32.const 0 - local.set $offset|13 - loop $for-loop|1 - local.get $offset|13 - local.get $otherSize + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end i32.lt_u if - local.get $otherStart - local.get $offset|13 - i32.add + local.get $cur i32.load $0 - local.set $ref|14 - local.get $outStart - local.get $offset|13 - i32.add - local.get $ref|14 - i32.store $0 - local.get $out - local.get $ref|14 - i32.const 1 - call $~lib/rt/itcms/__link - local.get $offset|13 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur i32.const 4 i32.add - local.set $offset|13 - br $for-loop|1 + local.set $cur + br $while-continue|0 end end - local.get $out - local.set $15 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $15 - return ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $4 i32) - (local $estLen i32) - (local $value i32) - (local $i i32) - (local $offset i32) - (local $sepLen i32) - (local $result i32) - (local $i|11 i32) - (local $valueLen i32) - (local $13 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 1744 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - local.get $lastIndex - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 - if (result i32) - local.get $4 - else - i32.const 1744 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - i32.const 0 - local.set $estLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $estLen - local.get $value - call $~lib/string/String#get:length - i32.add - local.set $estLen - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end i32.const 0 - local.set $offset - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - local.get $sepLen - local.get $lastIndex - i32.mul + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result - i32.store $0 offset=8 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 - local.set $i|11 - loop $for-loop|1 - local.get $i|11 - local.get $lastIndex - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $value - call $~lib/string/String#get:length - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen - i32.add - local.set $offset - end - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i|11 - i32.const 1 - i32.add - local.set $i|11 - br $for-loop|1 - end - end + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/staticarray/StaticArray%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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.ne - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $value - call $~lib/string/String#get:length - i32.const 1 - i32.shl - memory.copy $0 $0 - end - local.get $result - local.set $13 + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/staticarray/StaticArray%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - return ) - (func $~lib/staticarray/StaticArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $len i32) - (local $out i32) - (local $outStart i32) - (local $i i32) - (local $result i32) - (local $7 i32) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8430,71 +10086,21 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.const 7 - i32.const 0 - call $~lib/rt/__newArray - local.tee $out + local.get $2 i32.store $0 - local.get $out - call $~lib/array/Array#get:dataStart - local.set $outStart - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - local.set $result - local.get $outStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $result - i32.store $0 - i32.const 0 - drop - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.set $7 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - return ) - (func $~lib/staticarray/StaticArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $result i32) - (local $i i32) - (local $len i32) - (local $value i32) - (local $6 i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8503,63 +10109,77 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + 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/staticarray/StaticArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $outSize i32) + (local $out 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.const 2 - i32.const 7 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result i32.store $0 - i32.const 0 - local.set $i - local.get $this - call $~lib/staticarray/StaticArray#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $this - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value - local.get $i - local.get $this - i32.const 3 - global.set $~argumentsLength - local.get $fn - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $result - local.get $value - call $~lib/array/Array#push - drop - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + local.get $length + i32.const 1073741820 + i32.const 2 + i32.shr_u + i32.gt_u + if + i32.const 656 + i32.const 128 + i32.const 51 + i32.const 60 + call $~lib/builtins/abort + unreachable end - local.get $result - local.set $6 + local.get $length + i32.const 2 + i32.shl + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $out + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + local.get $4 return ) - (func $~lib/staticarray/StaticArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -8568,36 +10188,44 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 4 - i32.const 4 - i32.le_u - drop - i32.const 2688 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/staticarray/StaticArray#sort - local.set $2 + local.get $length + local.get $alignLog2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store $0 + i32.const 16 + local.get $id + call $~lib/rt/itcms/__new + local.set $array + local.get $array + local.get $buffer + i32.store $0 + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store $0 offset=4 + local.get $array + local.get $bufferSize + i32.store $0 offset=8 + local.get $array + local.get $length + i32.store $0 offset=12 + local.get $array + 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 + return ) ) diff --git a/tests/compiler/std/staticarray.release.wat b/tests/compiler/std/staticarray.release.wat index a7b6788a3e..1af032120d 100644 --- a/tests/compiler/std/staticarray.release.wat +++ b/tests/compiler/std/staticarray.release.wat @@ -6,11 +6,11 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32 i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -162,51 +162,6 @@ (elem $0 (i32.const 1) $start:std/staticarray~anonymous|0 $start:std/staticarray~anonymous|1 $start:std/staticarray~anonymous|2 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|3 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|7 $start:std/staticarray~anonymous|8 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $start:std/staticarray~anonymous|5 $start:std/staticarray~anonymous|6 $~lib/util/sort/COMPARATOR~anonymous|0) (export "memory" (memory $0)) (start $~start) - (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1088 - i32.const 1152 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) - (func $~lib/staticarray/StaticArray#__set (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.const 1 - i32.le_u - if - i32.const 1088 - i32.const 1152 - i32.const 93 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.store $0 offset=4 - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1718,966 +1673,2870 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 1 + i32.add + ) + (func $start:std/staticarray~anonymous|1 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + global.get $std/staticarray/maxVal + local.tee $1 local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1088 - i32.const 1776 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load $0 offset=4 local.get $1 + i32.lt_s + select + global.set $std/staticarray/maxVal + ) + (func $start:std/staticarray~anonymous|2 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 i32.const 2 - i32.shl - i32.add - i32.load $0 + i32.ge_s ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 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 - i32.const 2147483647 - local.set $2 - end + (func $start:std/staticarray~anonymous|3 (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 local.get $1 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.add ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + (func $start:std/staticarray~anonymous|5 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 + i32.const 2 i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz + ) + (func $start:std/staticarray~anonymous|6 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end + i32.const 4 + i32.eq + ) + (func $start:std/staticarray~anonymous|7 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 20 + i32.const 3 + i32.le_s + ) + (func $start:std/staticarray~anonymous|8 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 3 + i32.gt_s + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 i32.sub - i32.load $0 offset=16 i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 + i32.add + local.tee $5 + local.get $3 i32.sub - i32.load $0 offset=16 i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 i32.and - local.get $1 - i32.const 7 + i32.sub + local.get $5 + i32.const 1 i32.and - i32.or - i32.eqz local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 + select + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add local.tee $3 - i32.const 1 - i32.sub - local.set $0 + i32.load $0 offset=4 + local.tee $6 + local.set $5 + local.get $3 + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub + local.get $3 + local.set $5 + local.get $6 local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#includes (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - local.get $2 - local.get $3 - i32.ge_s - i32.or - if - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 offset=8 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - local.set $2 - br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf - end - local.get $2 - i32.const 0 - i32.lt_s - if - local.get $2 local.get $3 + i32.store $0 offset=8 + loop $while-continue|2 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end + end + local.get $0 + local.get $6 + i32.const 2 + i32.shl i32.add - local.tee $2 - i32.const 0 + local.get $5 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 + local.get $2 + i32.eq + if + local.get $1 + return + end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 local.get $2 - i32.const 0 + local.get $4 i32.gt_s - select - local.set $2 + if (result i32) + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $5 + i32.load $0 offset=4 + local.set $6 + local.get $5 + i32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|0 + end end - loop $while-continue|0 + local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 local.get $2 - local.get $3 i32.lt_s if - global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 + local.set $5 + local.get $3 local.get $0 local.get $2 i32.const 2 i32.shl i32.add + local.tee $3 i32.load $0 - local.tee $4 i32.store $0 - 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 - br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf - end - local.get $2 i32.const 1 i32.add + local.set $1 + local.get $3 + local.get $5 + i32.store $0 + local.get $2 + i32.const 1 + i32.sub local.set $2 - br $while-continue|0 + br $while-continue|1 end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const -1 - local.set $2 - end - local.get $2 - i32.const 0 - i32.ge_s - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $1 + i32.load $0 offset=4 + local.set $5 + local.get $1 + i32.load $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|2 + end + end + end + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) (local $6 i32) (local $7 i32) - local.get $0 - local.tee $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 12 + (local $8 i32) + local.get $2 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinStringArray - local.get $6 - i32.const 1 - i32.sub - local.tee $7 - i32.const 0 + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $2 i32.lt_s if - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 2 + i32.shl + local.tee $8 + local.get $4 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 2768 - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray + local.get $0 + local.get $8 + i32.add + i32.load $0 + i32.store $0 + br $for-loop|0 end - local.get $7 - i32.eqz + end + loop $for-loop|1 + local.get $3 + local.get $6 + i32.gt_s if - global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 + local.get $7 + local.get $6 + i32.sub + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 2768 - local.get $0 - select - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 end - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - global.get $~lib/memory/__stack_pointer - local.get $4 local.get $0 + local.get $1 i32.const 2 i32.shl i32.add - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $5 - if - local.get $2 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $2 - end + local.get $7 + i32.store $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|0 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - global.get $~lib/memory/__stack_pointer - local.get $2 + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.sub + ) + (func $~lib/staticarray/StaticArray~visit (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.add + local.set $1 + loop $while-continue|0 + local.get $0 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - local.get $7 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=8 - i32.const 0 - local.set $2 - loop $for-loop|1 - local.get $2 - local.get $7 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 + i32.lt_u + if + local.get $0 + i32.load $0 + local.tee $2 + if local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $5 - i32.store $0 offset=4 - local.get $5 - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $5 - i32.add - local.set $3 - end - local.get $6 - if - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $6 - i32.add - local.set $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $invalid + block $~lib/staticarray/StaticArray + block $~lib/staticarray/StaticArray + block $~lib/array/Array<~lib/string/String> + block $~lib/staticarray/StaticArray<~lib/string/String> + block $~lib/array/Array + block $~lib/staticarray/StaticArray + block $std/staticarray/Ref + block $~lib/staticarray/StaticArray + block $~lib/arraybuffer/ArrayBufferView + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $~lib/array/Array $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + return + end + return + end + local.get $0 + call $~lib/staticarray/StaticArray~visit + return + end + 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 3800 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner1 + end + local.get $0 + call $~lib/staticarray/StaticArray~visit + return + end + 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 3800 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner1 + end + return + end + return end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|1 + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit 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 $4 - local.get $7 - i32.const 2 - i32.shl - i32.add - i32.load $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.store $0 offset=4 + i32.const 0 + i32.store $0 local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $0 if local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + return end - local.get $0 - ) - (func $start:std/staticarray~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + i32.const 36592 + i32.const 36640 i32.const 1 - i32.add + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $start:std/staticarray~anonymous|1 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - global.get $std/staticarray/maxVal - local.tee $1 - local.get $0 + (func $~start (type $none_=>_none) + call $start:std/staticarray + ) + (func $~lib/staticarray/StaticArray#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 local.get $1 - i32.lt_s - select - global.set $std/staticarray/maxVal - ) - (func $start:std/staticarray~anonymous|2 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 2 - i32.ge_s - ) - (func $start:std/staticarray~anonymous|3 (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + i32.shr_u + i32.ge_u + if + i32.const 1088 + i32.const 1152 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort + unreachable + end local.get $0 local.get $1 - i32.add - ) - (func $start:std/staticarray~anonymous|5 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 i32.const 2 - i32.eq - ) - (func $start:std/staticarray~anonymous|6 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 + i32.shl + i32.add + i32.load $0 + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.eq - ) - (func $start:std/staticarray~anonymous|7 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.const 3 - i32.le_s - ) - (func $start:std/staticarray~anonymous|8 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 3 - i32.gt_s ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 - local.get $2 - local.get $1 + (func $~lib/staticarray/StaticArray#__set (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u i32.const 1 + i32.le_u + if + i32.const 1088 + i32.const 1152 + i32.const 93 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 4 i32.add - local.tee $5 - local.get $3 + global.set $~lib/memory/__stack_pointer + ) + (func $std/staticarray/Ref#constructor (type $none_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 0 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 36592 + i32.const 36640 i32.const 1 - i32.and - i32.sub - local.get $5 i32.const 1 - i32.and - local.get $3 - select + call $~lib/builtins/abort + unreachable + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 - local.get $3 - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray.fromArray (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 2 + i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1088 + i32.const 1776 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $2 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.tee $4 + local.get $2 + i32.add + local.tee $3 + i32.const 268435455 + i32.gt_u + if + i32.const 1680 + i32.const 1152 + i32.const 178 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=4 + local.get $5 + local.get $3 + i32.const 2 + i32.shl + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $2 + i32.const 2 + i32.shl + local.tee $0 + memory.copy $0 $0 + local.get $0 + local.get $3 + i32.add + local.get $1 + local.get $4 + i32.const 2 + i32.shl + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $3 + local.get $0 + 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 $4 + i32.const 2 + i32.shl + i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add + local.tee $0 + i32.const 0 + local.get $0 + 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 $4 + i32.sub + local.tee $0 + i32.const 0 + local.get $0 + i32.const 0 + i32.gt_s + select + i32.const 2 + i32.shl + local.tee $1 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + loop $while-continue|0 + local.get $0 + local.get $1 + i32.lt_u + if + local.get $0 + local.get $2 + i32.add + local.get $0 + local.get $5 + i32.add + i32.load $0 + local.tee $3 + i32.store $0 + local.get $3 + if + local.get $2 + local.get $3 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + i32.const 4 + i32.add + 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 + local.get $2 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 + i32.const 2147483647 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 1088 + i32.const 1152 + i32.const 78 + i32.const 41 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 2176 + i32.const 1152 + i32.const 82 + i32.const 40 + 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/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.tee $3 + local.get $4 + i32.add + local.tee $5 + i32.const 268435455 + i32.gt_u + if + i32.const 1680 + i32.const 1152 + i32.const 178 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $4 + i32.const 2 + i32.shl + local.set $4 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=4 + local.get $6 + local.get $5 + i32.const 9 + i32.const 0 + call $~lib/rt/__newArray + local.tee $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + i32.load $0 offset=4 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_u + if + local.get $2 + local.get $6 + i32.add + local.get $0 + local.get $2 + i32.add + i32.load $0 + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + br $for-loop|0 + end + end + local.get $4 + local.get $6 + i32.add + local.set $1 + local.get $3 + i32.const 2 + i32.shl + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $2 + i32.lt_u + if + local.get $0 + local.get $1 + i32.add + local.get $0 + local.get $7 + i32.add + i32.load $0 + local.tee $3 + i32.store $0 + local.get $3 + if + local.get $5 + local.get $3 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#includes (type $i32_i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + block $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.tee $4 + i32.eqz + local.get $2 + local.get $4 + i32.ge_s + i32.or + 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/staticarray/StaticArray<~lib/string/String>#indexOf + end + 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 + loop $while-continue|0 + local.get $2 + local.get $4 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $3 + 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 + br $__inlined_func$~lib/staticarray/StaticArray<~lib/string/String>#indexOf + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer + 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 + i32.const 0 + i32.ge_s + return + end + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/staticarray/StaticArray#indexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + 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 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $1 + i32.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/staticarray/StaticArray#lastIndexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + 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 -1 + return + end + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $1 + i32.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.sub + 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/staticarray/StaticArray#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/staticarray/StaticArray#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 2768 + return + end + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 2768 + local.get $0 + select + return + end + loop $for-loop|0 + local.get $1 + 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 $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $3 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $3 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 + end + end + i32.const 0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=8 + local.get $1 + local.get $3 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + i32.const 0 + local.set $3 + loop $for-loop|1 + local.get $3 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.store $0 offset=4 + local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $6 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $7 + local.get $7 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $4 + local.get $7 + i32.add + local.set $4 + end + local.get $1 + if + local.get $6 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $1 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $4 + i32.add + local.set $4 + 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 $0 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $4 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $0 + local.get $3 + local.get $1 + call $~lib/util/string/joinStringArray + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/staticarray/StaticArray#filter (type $i32_=>_i32) (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 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + i32.const 7 + i32.const 0 + call $~lib/rt/__newArray + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $8 + loop $for-loop|0 + local.get $8 + local.get $10 + i32.gt_s + if + local.get $0 + local.get $10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + i32.const 3 + global.set $~argumentsLength + local.get $9 + local.get $10 + local.get $0 + i32.const 3312 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $6 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $6 + i32.store $0 + local.get $6 + i32.load $0 offset=12 + local.tee $7 + i32.const 1 + i32.add + local.tee $5 + local.set $3 + local.get $1 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $6 + i32.store $0 + local.get $3 + local.get $6 + i32.load $0 offset=8 + local.tee $1 + i32.const 2 + i32.shr_u + i32.gt_u + if local.get $3 - i32.store $0 offset=4 + i32.const 268435455 + i32.gt_u + if + i32.const 1680 + i32.const 1776 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + block $__inlined_func$~lib/rt/itcms/__renew + i32.const 1073741820 + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + local.get $1 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + i32.const 8 + local.get $3 + local.get $3 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.tee $4 + local.get $6 + i32.load $0 + local.tee $1 + i32.const 20 + i32.sub + local.tee $3 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $3 + local.get $4 + i32.store $0 offset=16 + local.get $1 + local.set $2 + br $__inlined_func$~lib/rt/itcms/__renew + end + local.get $4 + local.get $3 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $2 + local.get $1 + local.get $4 + local.get $3 + i32.load $0 offset=16 + local.tee $3 + local.get $3 + local.get $4 + i32.gt_u + select + memory.copy $0 $0 + end + local.get $1 + local.get $2 + i32.ne + if + local.get $6 + local.get $2 + i32.store $0 + local.get $6 + local.get $2 + i32.store $0 offset=4 + local.get $2 + if + local.get $6 + local.get $2 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 + local.get $4 + i32.store $0 offset=8 end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $6 + i32.store $0 + local.get $6 + i32.load $0 offset=4 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.get $9 + i32.store $0 + local.get $1 + local.get $6 + i32.store $0 + local.get $6 + local.get $5 + i32.store $0 offset=12 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|0 end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/staticarray/StaticArray#some (type $i32_i32_=>_i32) (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 $1 - local.get $2 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s if - local.get $1 - return + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 + i32.store $0 local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 + 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 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 local.get $2 - i32.lt_s + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 - local.get $1 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 - local.get $2 + global.set $~lib/memory/__stack_pointer i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 + return end - end - else - loop $while-continue|2 local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=4 - local.set $5 - local.get $1 - i32.load $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/staticarray/StaticArray#every (type $i32_i32_=>_i32) (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 - local.tee $6 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + 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 + local.get $0 local.get $2 - i32.const 1 - i32.sub - local.tee $2 i32.const 2 i32.shl - local.tee $8 - local.get $4 i32.add + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $8 - i32.add + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 + local.get $1 i32.load $0 - i32.store $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + 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 + local.get $2 + i32.const 1 + i32.add + local.set $2 br $for-loop|0 end end - loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + ) + (func $~lib/staticarray/StaticArray#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $3 + loop $for-loop|0 + local.get $2 local.get $3 - local.get $6 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 2 - i32.shl - i32.add local.get $0 - local.get $6 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + 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 $6 - br $for-loop|1 + local.set $2 + br $for-loop|0 end end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const -1 + ) + (func $~lib/staticarray/StaticArray#findLastIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + if + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.const 1 + i32.sub + local.set $2 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s if - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - local.get $4 + local.get $0 local.get $2 i32.const 2 i32.shl i32.add i32.load $0 - local.set $8 - i32.const 2 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 3 global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 + local.get $3 + local.get $2 + local.get $0 + local.get $1 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s + call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $8 - i32.store $0 + global.set $~lib/memory/__stack_pointer local.get $2 - i32.const 1 - i32.add - local.set $2 + return end - local.get $1 + local.get $2 i32.const 1 - i32.add - local.set $1 - br $for-loop|2 + 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/util/sort/SORT (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) @@ -2691,532 +4550,447 @@ (local $11 i32) (local $12 i32) (local $13 i64) - local.get $1 - i32.const 48 - i32.le_s + (local $14 i32) + 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 3800 + i32.lt_s if - local.get $1 + i32.const 36592 + i32.const 36640 + i32.const 1 i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 i32.le_s if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store $0 offset=8 end local.get $0 i32.load $0 local.set $1 local.get $0 i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store $0 offset=4 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store $0 offset=8 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store $0 - local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store $0 offset=4 - return - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $5 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if + local.set $3 + i32.const 2 + global.set $~argumentsLength local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 + local.get $3 local.get $1 - local.get $9 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.gt_s + local.tee $2 select - local.tee $1 - local.get $7 + i32.store $0 + local.get $0 + local.get $1 + local.get $3 local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end + select + i32.store $0 offset=4 + br $folding-inner0 end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - local.get $6 - local.set $3 + local.get $0 + i32.const 0 local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 end - end - loop $for-loop|4 - local.get $4 + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz if - local.get $10 + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne + i32.lt_u if - local.get $0 - local.get $1 - local.get $11 - local.get $4 + local.get $10 + local.get $3 i32.const 2 i32.shl i32.add - i32.load $0 + i32.const -1 + i32.store $0 + local.get $3 i32.const 1 i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns + local.set $3 + br $for-loop|1 end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 end - end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - local.get $1 - i32.sub - ) - (func $~lib/staticarray/StaticArray~visit (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.add - local.set $1 - loop $while-continue|0 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $0 + i32.const 0 local.get $1 - i32.lt_u + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 local.get $0 - i32.load $0 - local.tee $2 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s if + global.get $~lib/memory/__stack_pointer local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 - end - end - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/staticarray/StaticArray - block $~lib/staticarray/StaticArray - block $~lib/array/Array<~lib/string/String> - block $~lib/staticarray/StaticArray<~lib/string/String> - block $~lib/staticarray/StaticArray - block $std/staticarray/Ref - block $~lib/staticarray/StaticArray - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner1 $~lib/staticarray/StaticArray $std/staticarray/Ref $~lib/staticarray/StaticArray $folding-inner1 $~lib/staticarray/StaticArray<~lib/string/String> $~lib/array/Array<~lib/string/String> $~lib/staticarray/StaticArray $~lib/staticarray/StaticArray $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - return - end - return - end - local.get $0 - call $~lib/staticarray/StaticArray~visit - return - end - local.get $0 - call $~lib/staticarray/StaticArray~visit - return - end - local.get $0 - i32.load $0 offset=4 - local.tee $1 - local.get $0 - i32.load $0 offset=12 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 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 $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~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 $0 - local.tee $0 + local.tee $8 + i32.const -1 + i32.ne if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 end - return + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 end - return end - return + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 end - unreachable end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - ) - (func $~start (type $none_=>_none) - call $start:std/staticarray + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) (func $start:std/staticarray (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i32) - (local $3 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 f32) - (local $12 f64) - (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 100 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -3225,11 +4999,11 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $4 i32.const 0 - i32.const 96 + i32.const 100 memory.fill $0 - local.get $2 + local.get $4 i32.const 1056 i32.store $0 i32.const 1056 @@ -3386,17 +5160,17 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $4 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $2 + local.get $4 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 0 call $~lib/staticarray/StaticArray#__get i32.const 5 @@ -3411,9 +5185,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3428,9 +5202,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 2 call $~lib/staticarray/StaticArray#__get i32.const 7 @@ -3445,9 +5219,9 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3465,16 +5239,16 @@ end global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 8 call $~lib/staticarray/StaticArray#__set global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 8 @@ -3490,17 +5264,17 @@ i32.const 12 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $4 i32.const 1312 i32.const 12 memory.copy $0 $0 - local.get $2 + local.get $4 global.set $std/staticarray/arr3 global.get $~lib/memory/__stack_pointer global.get $std/staticarray/arr3 - local.tee $2 + local.tee $4 i32.store $0 - local.get $2 + local.get $4 i32.const 1 call $~lib/staticarray/StaticArray#__get i32.const 6 @@ -3517,138 +5291,90 @@ i32.const 8 i32.const 6 call $~lib/rt/itcms/__new - local.tee $2 + local.tee $4 i32.store $0 offset=4 - local.get $2 + local.get $4 i32.const 0 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $2 + local.get $4 i32.const 1 call $std/staticarray/Ref#constructor call $~lib/staticarray/StaticArray#__uset - local.get $2 + local.get $4 global.set $std/staticarray/arr4 i32.const 0 global.set $std/staticarray/arr3 i32.const 0 global.set $std/staticarray/arr4 global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $0 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.lt_s - if - local.get $2 - local.get $0 - call $~lib/staticarray/StaticArray#__get - if - i32.const 0 - i32.const 1216 - i32.const 46 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 6 - i32.const 7 - i32.const 1728 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=12 + i32.const 3800 + i32.lt_s + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/staticarray/StaticArray.fromArray - local.tee $0 - i32.store $0 offset=16 - local.get $2 - i32.load $0 offset=12 - local.get $0 + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 56 + i32.const 44 i32.const 3 call $~lib/builtins/abort unreachable end - loop $for-loop|1 + loop $for-loop|0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 local.get $1 - local.get $2 - i32.load $0 offset=12 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u i32.lt_s if - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $1 call $~lib/staticarray/StaticArray#__get - local.get $2 - local.get $1 - call $~lib/array/Array#__get - i32.ne if i32.const 0 i32.const 1216 - i32.const 58 + i32.const 46 i32.const 5 call $~lib/builtins/abort unreachable @@ -3657,323 +5383,206 @@ i32.const 1 i32.add local.set $1 - br $for-loop|1 + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 + i32.const 6 i32.const 7 - i32.const 1824 + i32.const 1728 call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $1 - local.get $0 - call $~lib/staticarray/StaticArray.fromArray - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - if - i32.const 0 - i32.const 1216 - i32.const 61 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 8 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.const 1856 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $0 - local.get $2 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 4 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.const 1888 - i32.load $0 align=1 - i32.store $0 align=1 + local.tee $1 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=24 local.get $1 - local.get $2 - local.get $0 - call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $0 - i32.store $0 offset=28 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 69 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.const 1920 - i32.const 0 - memory.copy $0 $0 + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=24 local.get $1 - local.get $2 - local.get $0 - call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> - local.tee $0 - i32.store $0 offset=28 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 71 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 20 - i32.const 8 - call $~lib/rt/itcms/__new + call $~lib/staticarray/StaticArray.fromArray local.tee $4 - i32.const 2128 - i32.const 20 - memory.copy $0 $0 - local.get $0 - local.get $4 - i32.store $0 offset=32 - i32.const 0 - global.set $~argumentsLength + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $3 - i32.store $0 offset=36 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u + i32.store $0 local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 i32.ne if i32.const 0 i32.const 1216 - i32.const 78 + i32.const 56 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - loop $for-loop|2 + loop $for-loop|1 + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.lt_s + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $0 + i32.gt_s if + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $2 + i32.store $0 + local.get $4 + local.get $0 + call $~lib/staticarray/StaticArray#__get + local.set $5 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $1 i32.store $0 - local.get $3 local.get $1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=24 - local.get $2 local.get $0 - call $~lib/string/String.__eq - i32.eqz + call $~lib/array/Array#__get + local.get $5 + i32.ne if i32.const 0 i32.const 1216 - i32.const 81 + i32.const 58 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $1 + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|2 + local.set $0 + br $for-loop|1 end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 3 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> - local.tee $2 - i32.store $0 offset=36 - local.get $2 + local.set $0 + i32.const 0 + i32.const 7 + i32.const 1824 + call $~lib/rt/__newArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/staticarray/StaticArray.fromArray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - i32.const 2 - i32.ne if i32.const 0 i32.const 1216 - i32.const 85 + i32.const 61 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 + local.set $0 + i32.const 8 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.const 1856 + i64.load $0 align=1 + i64.store $0 align=1 local.get $0 - i32.const 1984 - i32.store $0 offset=24 local.get $1 - i32.const 1984 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 86 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.const 1 - call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 + i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer local.tee $0 local.get $1 i32.store $0 - local.get $0 - i32.const 2016 + i32.const 4 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.const 1888 + i32.load $0 align=1 + i32.store $0 align=1 + global.get $~lib/memory/__stack_pointer + local.get $4 i32.store $0 offset=24 + local.get $0 local.get $1 - i32.const 2016 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 87 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 1 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 - i32.store $0 offset=36 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 90 + i32.const 69 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 + local.tee $0 + local.get $1 + i32.store $0 i32.const 0 - i32.const 50 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.const 1920 + i32.const 0 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $0 + local.get $1 + local.get $4 + call $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> local.tee $0 - i32.store $0 offset=36 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $4 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -3983,1060 +5592,821 @@ if i32.const 0 i32.const 1216 - i32.const 93 + i32.const 71 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 100 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + local.set $0 + i32.const 20 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.const 2128 + i32.const 20 + memory.copy $0 $0 + local.get $0 + local.get $1 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer local.tee $0 - i32.store $0 offset=36 + local.get $1 + i32.store $0 + i32.const 0 + global.set $~argumentsLength local.get $0 + local.get $1 + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + local.tee $4 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - if - i32.const 0 - i32.const 1216 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const -1 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs - local.tee $0 - i32.store $0 offset=36 + local.get $1 + i32.store $0 local.get $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 99 + i32.const 78 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 - local.get $0 - i32.const 2080 - i32.store $0 offset=24 - local.get $1 - i32.const 2080 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $0 + loop $for-loop|2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=40 + local.get $1 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__get + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=40 + local.get $4 + local.get $0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__get + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=24 + local.get $5 + local.get $6 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 81 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|2 + end end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const -2 - i32.const -2 - call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 - i32.store $0 offset=36 + local.get $1 + i32.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - if - i32.const 0 - i32.const 1216 - i32.const 103 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.const -2 + local.get $1 + i32.const 1 + i32.const 3 call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> local.tee $0 i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - i32.const 1 + i32.const 2 i32.ne if i32.const 0 i32.const 1216 - i32.const 106 + i32.const 85 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=40 local.get $0 i32.const 0 call $~lib/staticarray/StaticArray<~lib/string/String>#__get - local.set $1 + local.set $4 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 + local.get $4 i32.store $0 - local.get $0 - i32.const 2016 + global.get $~lib/memory/__stack_pointer + i32.const 1984 i32.store $0 offset=24 - local.get $1 - i32.const 2016 + local.get $4 + i32.const 1984 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 1216 - i32.const 107 + i32.const 86 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 20 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $2 - i32.const 2304 - i32.const 20 - memory.copy $0 $0 local.get $0 - local.get $2 i32.store $0 offset=40 - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - i32.const 9 - i32.const 2352 - call $~lib/rt/__newArray + local.get $0 + i32.const 1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2016 i32.store $0 offset=24 - local.get $1 - local.get $2 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> - local.tee $0 - i32.store $0 offset=44 local.get $0 - i32.load $0 offset=12 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ne + i32.const 2016 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 117 + i32.const 87 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $1 + local.tee $0 + local.get $1 + i32.store $0 i32.const 1 - i32.const 9 - i32.const 2416 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + global.set $~argumentsLength local.get $0 - i32.store $0 offset=24 local.get $1 - local.get $2 - local.get $0 - call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> + i32.const 1 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs local.tee $0 - i32.store $0 offset=44 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 - i32.load $0 offset=12 - local.get $2 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - i32.const 1 - i32.add - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 121 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $0 global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 20 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.const 2448 - i32.const 20 - memory.copy $0 $0 local.get $1 + i32.store $0 local.get $0 - i32.store $0 offset=48 - global.get $~lib/memory/__stack_pointer - i32.const 1984 - i32.store $0 offset=24 - local.get $0 - i32.const 1984 - i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#includes + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u i32.const 1 + i32.sub i32.ne if i32.const 0 i32.const 1216 - i32.const 128 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2384 - i32.store $0 offset=24 - local.get $0 - i32.const 2384 - i32.const 0 - call $~lib/staticarray/StaticArray<~lib/string/String>#includes - if - i32.const 0 - i32.const 1216 - i32.const 129 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2080 - i32.store $0 offset=24 - local.get $0 - i32.const 2080 - i32.const 5 - call $~lib/staticarray/StaticArray<~lib/string/String>#includes - if - i32.const 0 - i32.const 1216 - i32.const 130 + i32.const 90 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 2080 - i32.store $0 offset=24 - local.get $0 - i32.const 2080 - i32.const -1 - call $~lib/staticarray/StaticArray<~lib/string/String>#includes - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 131 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) - i32.const 8 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $3 - i32.const 2496 - i64.load $0 align=1 - i64.store $0 align=1 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - i32.const 0 - local.set $0 - i32.const 0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - local.tee $1 - local.get $1 - i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#includes - drop - loop $while-continue|0 - local.get $0 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $12 - local.get $12 - f64.ne - br_if $__inlined_func$~lib/staticarray/StaticArray#includes - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - end - i32.eqz + local.tee $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 0 + i32.const 50 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ne if i32.const 0 i32.const 1216 - i32.const 133 + i32.const 93 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) - i32.const 4 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $3 - i32.const 2528 - i32.load $0 align=1 - i32.store $0 align=1 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - i32.const 0 - local.set $0 - i32.const 0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.tee $1 - local.get $1 - i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#includes - drop - loop $while-continue|02 - local.get $0 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $11 - local.get $11 - f32.ne - br_if $__inlined_func$~lib/staticarray/StaticArray#includes - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end - end - i32.const 0 - end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength + local.get $0 + local.get $1 + i32.const 100 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u if i32.const 0 i32.const 1216 - i32.const 134 + i32.const 96 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.const 2560 - i32.const 12 - memory.copy $0 $0 + local.tee $0 + local.get $1 + i32.store $0 + i32.const 1 + global.set $~argumentsLength local.get $0 - local.get $3 - i32.store $0 offset=52 - i32.const 0 - local.set $1 + local.get $1 i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf - loop $while-continue|00 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|00 - end - end - i32.const -1 - local.set $0 - end + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>>@varargs + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.const 1 + i32.ne if i32.const 0 i32.const 1216 - i32.const 140 + i32.const 99 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=40 + local.get $0 i32.const 0 - local.set $1 - i32.const -1 + call $~lib/staticarray/StaticArray<~lib/string/String>#__get local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf1 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf1 - loop $while-continue|03 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 7 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf1 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|03 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2080 + i32.store $0 offset=24 + local.get $0 + i32.const 2080 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 141 + i32.const 100 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $1 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf4 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const 2 - i32.le_u - i32.or - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf4 - loop $while-continue|05 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 9 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf4 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|05 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const -2 + i32.const -2 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 2 - i32.ne + i32.shr_u if i32.const 0 i32.const 1216 - i32.const 142 + i32.const 103 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf6 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf6 - local.get $2 - i32.const 1 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $1 - loop $while-continue|07 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf6 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|07 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - i32.const -1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 2 + i32.const -2 + call $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> + local.tee $0 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 143 + i32.const 106 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#indexOf8 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf8 - local.get $2 - i32.const 3 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $1 - loop $while-continue|09 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#indexOf8 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|09 - end - end - i32.const -1 - local.set $1 - end - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=40 + local.get $0 + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#__get + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2016 + i32.store $0 offset=24 + local.get $0 + i32.const 2016 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 144 + i32.const 107 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.set $0 - i32.const 16 - i32.const 4 + i32.const 20 + i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 - i32.const 2592 - i32.const 16 + local.tee $1 + i32.const 2304 + i32.const 20 memory.copy $0 $0 local.get $0 - local.get $2 - i32.store $0 offset=56 - i32.const 1 - global.set $~argumentsLength - i32.const -1 + local.get $1 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + i32.const 0 + i32.const 9 + i32.const 2352 + call $~lib/rt/__newArray + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $0 + local.get $1 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> + local.tee $0 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $1 - local.get $1 - i32.add - local.get $1 - i32.const 1 - i32.sub - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.ne + if i32.const 0 - i32.lt_s - select - local.set $0 - loop $while-continue|012 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|012 - end - end - i32.const -1 - local.set $0 + i32.const 1216 + i32.const 117 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + i32.const 1 + i32.const 9 + i32.const 2416 + call $~lib/rt/__newArray + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $0 + local.get $1 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> + local.tee $0 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 - i32.const 3 + call $~lib/array/Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + i32.const 1 + i32.add i32.ne if i32.const 0 i32.const 1216 - i32.const 150 + i32.const 121 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $3 - i32.const -1 + global.get $~lib/memory/__stack_pointer local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 - local.get $1 - local.get $3 - i32.add - local.get $1 - i32.const 1 - i32.sub - local.get $3 - local.get $1 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - loop $while-continue|018 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 7 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf17 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|018 - end - end - i32.const -1 - local.set $0 - end + i32.const 20 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.const 2448 + i32.const 20 + memory.copy $0 $0 local.get $0 - i32.const -1 + local.get $1 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 1984 + i32.store $0 offset=24 + local.get $1 + i32.const 1984 + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#includes + i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 151 + i32.const 128 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 - i32.const 3 - local.get $1 - i32.const 1 - i32.sub - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 2384 + i32.store $0 offset=24 + local.get $1 + i32.const 2384 + i32.const 0 + call $~lib/staticarray/StaticArray<~lib/string/String>#includes + if + i32.const 0 + i32.const 1216 + i32.const 129 i32.const 3 - i32.gt_u - select - local.set $0 - loop $while-continue|04 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf19 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|04 - end - end - i32.const -1 - local.set $0 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $0 - i32.const 3 - i32.ne + i32.const 2080 + i32.store $0 offset=24 + local.get $1 + i32.const 2080 + i32.const 5 + call $~lib/staticarray/StaticArray<~lib/string/String>#includes if i32.const 0 i32.const 1216 - i32.const 152 + i32.const 130 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - i32.const 2 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 2 - i32.gt_u - select - local.set $0 - loop $while-continue|0910 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf5 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0910 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 local.get $0 + i32.const 2080 + i32.store $0 offset=24 + local.get $1 + i32.const 2080 + i32.const -1 + call $~lib/staticarray/StaticArray<~lib/string/String>#includes + i32.const 1 + i32.ne if i32.const 0 i32.const 1216 - i32.const 153 + i32.const 131 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u + block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) + i32.const 8 + i32.const 10 + call $~lib/rt/itcms/__new local.tee $1 - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 + i32.const 2496 + i64.load $0 align=1 + i64.store $0 align=1 + global.get $~lib/memory/__stack_pointer + local.tee $4 local.get $1 - i32.const 2 - i32.sub + i32.store $0 + i32.const 0 local.set $0 - loop $while-continue|015 - local.get $0 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 3 + i32.shr_u + local.tee $4 + i32.eqz + local.tee $5 + local.get $5 + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.ge_s + br $__inlined_func$~lib/staticarray/StaticArray#includes + end + loop $while-continue|0 + local.get $0 + local.get $4 + i32.lt_s if - local.get $2 + local.get $1 local.get $0 - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf10 + f64.load $0 + local.tee $2 + local.get $2 + f64.ne + 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/staticarray/StaticArray#includes + end local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $while-continue|015 + br $while-continue|0 end end - i32.const -1 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 end - local.get $0 + i32.eqz if i32.const 0 i32.const 1216 - i32.const 154 + i32.const 133 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 - local.get $2 + block $__inlined_func$~lib/staticarray/StaticArray#includes (result i32) + i32.const 4 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $1 + i32.const 2528 + i32.load $0 align=1 + i32.store $0 align=1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $1 + i32.store $0 + i32.const 0 + local.set $0 + local.get $4 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.tee $1 + local.tee $4 i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - loop $while-continue|020 - local.get $0 + local.tee $5 + local.get $5 + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.ge_s + br $__inlined_func$~lib/staticarray/StaticArray#includes + end + loop $while-continue|07 + local.get $0 + local.get $4 + i32.lt_s if - local.get $2 + local.get $1 local.get $0 i32.const 2 i32.shl i32.add - i32.load $0 - i32.const 2 - i32.eq - br_if $__inlined_func$~lib/staticarray/StaticArray#lastIndexOf16 + f32.load $0 + local.tee $3 + local.get $3 + f32.ne + 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/staticarray/StaticArray#includes + end local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $while-continue|020 + br $while-continue|07 end end - i32.const -1 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 end - local.get $0 - i32.const 3 - i32.ne + i32.eqz if i32.const 0 i32.const 1216 - i32.const 155 + i32.const 134 i32.const 3 call $~lib/builtins/abort unreachable @@ -5044,467 +6414,417 @@ global.get $~lib/memory/__stack_pointer local.set $0 i32.const 12 - i32.const 8 + i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.const 2736 + local.tee $1 + i32.const 2560 i32.const 12 memory.copy $0 $0 local.get $0 - local.get $2 - i32.store $0 offset=60 - global.get $~lib/memory/__stack_pointer - i32.const 2800 - i32.store $0 offset=64 - local.get $2 - i32.const 2800 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2832 - i32.store $0 offset=24 - local.get $0 - i32.const 2832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1216 - i32.const 161 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2768 - i32.store $0 offset=64 - local.get $2 - i32.const 2768 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 + local.get $1 + i32.store $0 offset=56 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2880 - i32.store $0 offset=24 - local.get $0 - i32.const 2880 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 2 + i32.const 0 + call $~lib/staticarray/StaticArray#indexOf if i32.const 0 i32.const 1216 - i32.const 162 + i32.const 140 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 2928 - i32.store $0 offset=64 - local.get $2 - i32.const 2928 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store $0 offset=24 - local.get $0 - i32.const 2960 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 7 + i32.const 0 + call $~lib/staticarray/StaticArray#indexOf + i32.const -1 + i32.ne if i32.const 0 i32.const 1216 - i32.const 163 + i32.const 141 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=64 - local.get $2 - i32.const 3008 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $1 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3040 - i32.store $0 offset=24 - local.get $0 - i32.const 3040 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 9 + i32.const 2 + call $~lib/staticarray/StaticArray#indexOf + i32.const 2 + i32.ne if i32.const 0 i32.const 1216 - i32.const 164 + i32.const 142 i32.const 3 call $~lib/builtins/abort unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2800 - i32.store $0 offset=64 - local.get $2 - i32.const 2800 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - 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 3800 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 2800 - i32.store $0 - local.get $2 - i32.const 2800 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $0 + end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 2 + i32.const -1 + call $~lib/staticarray/StaticArray#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 143 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=24 local.get $1 - local.get $0 - call $~lib/string/String.__eq - i32.eqz + i32.store $0 + local.get $1 + i32.const 2 + i32.const -3 + call $~lib/staticarray/StaticArray#indexOf if i32.const 0 i32.const 1216 - i32.const 165 + i32.const 144 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.set $0 - i32.const 8 + i32.const 16 i32.const 4 call $~lib/rt/itcms/__new - local.tee $2 - i32.const 3104 - i64.load $0 align=1 - i64.store $0 align=1 - local.get $0 - local.get $2 - i32.store $0 offset=68 - i32.const 2 - global.set $~argumentsLength - i32.const 1 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u local.tee $1 + i32.const 2592 + i32.const 16 + memory.copy $0 $0 + local.get $0 local.get $1 + i32.store $0 offset=60 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 i32.const 1 - i32.gt_u - select - local.set $0 - loop $for-loop|024 - local.get $0 - local.get $1 - i32.lt_s - if - local.get $2 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.const 1 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|024 - end - end - local.get $2 - i32.const 0 - call $~lib/staticarray/StaticArray#__get + global.set $~argumentsLength + local.get $1 + i32.const 2 + call $~lib/staticarray/StaticArray#lastIndexOf@varargs + i32.const 3 + i32.ne if i32.const 0 i32.const 1216 - i32.const 173 + i32.const 150 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - call $~lib/staticarray/StaticArray#__get + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 7 + call $~lib/staticarray/StaticArray#lastIndexOf@varargs + i32.const -1 i32.ne if i32.const 0 i32.const 1216 - i32.const 174 + i32.const 151 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $5 - i32.const 3136 - i32.const 12 - memory.copy $0 $0 - local.get $0 - local.get $5 - i32.store $0 offset=72 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 + local.get $1 + i32.store $0 + local.get $1 i32.const 2 - i32.shr_u - local.tee $0 - i32.const 1 - i32.gt_u + i32.const 3 + call $~lib/staticarray/StaticArray#lastIndexOf + i32.const 3 + i32.ne if i32.const 0 - local.set $1 - local.get $0 - i32.const 1 - i32.shr_u - local.set $4 - local.get $0 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|029 - local.get $1 - local.get $4 - i32.lt_u - if - local.get $5 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - local.set $2 - local.get $0 - local.get $5 - local.get $3 - local.get $1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $0 - i32.load $0 - i32.store $0 - local.get $0 - local.get $2 - i32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|029 - end - end + i32.const 1216 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $5 - i32.const 0 - call $~lib/staticarray/StaticArray#__get - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 2 + i32.const 2 + call $~lib/staticarray/StaticArray#lastIndexOf if i32.const 0 i32.const 1216 - i32.const 182 + i32.const 153 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 - i32.const 1 - call $~lib/staticarray/StaticArray#__get + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 2 - i32.ne + i32.const -2 + call $~lib/staticarray/StaticArray#lastIndexOf if i32.const 0 i32.const 1216 - i32.const 183 + i32.const 154 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 2 - call $~lib/staticarray/StaticArray#__get - i32.const 1 + i32.const -1 + call $~lib/staticarray/StaticArray#lastIndexOf + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 184 + i32.const 155 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.set $0 - i32.const 20 - i32.const 4 + i32.const 12 + i32.const 8 call $~lib/rt/itcms/__new - local.tee $2 - i32.const 3168 - i32.const 20 + local.tee $1 + i32.const 2736 + i32.const 12 memory.copy $0 $0 local.get $0 - local.get $2 - i32.store $0 offset=76 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 3 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $1 local.get $1 - i32.const 3 - i32.gt_u - select + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 2 - i32.shl - local.get $2 - i32.add local.get $1 + i32.store $0 offset=40 local.get $0 - i32.sub - local.tee $0 + i32.const 2800 + i32.store $0 offset=68 local.get $1 + i32.const 2800 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.lt_s - select - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $2 - i32.const 0 - call $~lib/staticarray/StaticArray#__get - i32.const 4 - i32.ne + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2832 + i32.store $0 offset=24 + local.get $0 + i32.const 2832 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 192 + i32.const 161 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 1 - call $~lib/staticarray/StaticArray#__get - i32.const 5 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=40 + local.get $0 + i32.const 2768 + i32.store $0 offset=68 + local.get $1 + i32.const 2768 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2880 + i32.store $0 offset=24 + local.get $0 + i32.const 2880 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 193 + i32.const 162 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 2 - call $~lib/staticarray/StaticArray#__get - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=40 + local.get $0 + i32.const 2928 + i32.store $0 offset=68 + local.get $1 + i32.const 2928 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2960 + i32.store $0 offset=24 + local.get $0 + i32.const 2960 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 194 + i32.const 163 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 3 - call $~lib/staticarray/StaticArray#__get - i32.const 4 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=40 + local.get $0 + i32.const 3008 + i32.store $0 offset=68 + local.get $1 + i32.const 3008 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3040 + i32.store $0 offset=24 + local.get $0 + i32.const 3040 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 195 + i32.const 164 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - i32.const 4 - call $~lib/staticarray/StaticArray#__get - i32.const 5 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=40 + local.get $0 + i32.const 2800 + i32.store $0 offset=68 + local.get $1 + i32.const 2800 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $1 + i32.store $0 + local.get $4 + i32.const 2800 + i32.store $0 offset=4 + local.get $1 + i32.const 2800 + call $~lib/staticarray/StaticArray<~lib/string/String>#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 $0 offset=24 + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz if i32.const 0 i32.const 1216 - i32.const 196 + i32.const 165 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer local.set $0 - i32.const 12 + i32.const 8 i32.const 4 call $~lib/rt/itcms/__new - local.tee $8 - i32.const 3216 - i32.const 12 - memory.copy $0 $0 + local.tee $4 + i32.const 3104 + i64.load $0 align=1 + i64.store $0 align=1 local.get $0 - local.get $8 - i32.store $0 offset=80 + local.get $4 + i32.store $0 offset=72 global.get $~lib/memory/__stack_pointer - local.tee $0 - local.set $6 - local.get $0 - i32.const 3248 - i32.store $0 offset=24 - local.get $0 + local.tee $5 + local.get $4 + i32.store $0 + i32.const 1 + local.set $1 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + local.set $0 + local.get $5 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5513,160 +6833,152 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 i32.const 0 i32.store $0 - local.get $0 - local.get $8 + 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 2147483647 + local.set $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $4 + i32.store $0 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u local.tee $5 - i32.const 7 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 - i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 + local.get $1 + i32.add + local.get $1 + local.get $5 + local.get $1 + local.get $5 + i32.lt_s + select + local.get $1 i32.const 0 + i32.lt_s + select local.set $1 - loop $for-loop|03 + local.get $0 + local.get $5 + i32.add + local.get $0 + local.get $5 + local.get $0 + local.get $5 + i32.lt_s + select + local.get $0 + i32.const 0 + i32.lt_s + select + local.set $0 + loop $for-loop|011 + local.get $0 local.get $1 - local.get $5 - i32.lt_s + i32.gt_s if + local.get $4 local.get $1 i32.const 2 i32.shl - local.tee $2 - local.get $8 - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $2 - local.get $3 i32.add - local.get $0 - local.get $1 - local.get $8 - i32.const 3248 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.const 1 i32.store $0 local.get $1 i32.const 1 i32.add local.set $1 - br $for-loop|03 + br $for-loop|011 end end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 + 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 $4 - i32.store $0 offset=84 + i32.store $0 local.get $4 i32.const 0 - call $~lib/array/Array#__get - i32.const 2 - i32.ne + call $~lib/staticarray/StaticArray#__get if i32.const 0 i32.const 1216 - i32.const 205 + i32.const 173 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 1 - call $~lib/array/Array#__get - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 206 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 local.get $4 - i32.const 2 - call $~lib/array/Array#__get - i32.const 4 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 207 + i32.const 174 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3280 - i32.store $0 offset=24 - i32.const 0 local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|04 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - local.get $8 - i32.const 3280 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|04 - end - end - global.get $std/staticarray/maxVal - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 211 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.const 3136 + i32.const 12 + memory.copy $0 $0 + local.get $0 + local.get $4 + i32.store $0 offset=76 global.get $~lib/memory/__stack_pointer - local.tee $7 - i32.const 3312 - i32.store $0 offset=24 - local.get $7 + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -5679,773 +6991,619 @@ i32.const 0 i32.store $0 local.get $0 - i32.const 0 - i32.const 7 - i32.const 0 - call $~lib/rt/__newArray - local.tee $6 + local.get $4 i32.store $0 - local.get $8 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $5 - loop $for-loop|05 - local.get $5 - local.get $13 - i32.gt_s - if - local.get $8 - local.get $13 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $13 - local.get $8 - i32.const 3312 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.tee $0 + i32.const 1 + i32.gt_u + if + i32.const 0 + local.set $1 + local.get $0 + i32.const 1 + i32.shr_u + local.set $5 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + loop $while-continue|017 + local.get $1 + local.get $5 + i32.lt_u if - local.get $6 - i32.load $0 offset=12 - local.tee $3 - i32.const 1 - i32.add - local.tee $10 - local.get $6 - i32.load $0 offset=8 - local.tee $0 + local.get $4 + local.get $1 i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $10 - i32.const 268435455 - i32.gt_u - if - i32.const 1680 - i32.const 1776 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/rt/itcms/__renew - i32.const 1073741820 - local.get $0 - i32.const 1 - i32.shl - local.tee $0 - local.get $0 - i32.const 1073741820 - i32.ge_u - select - local.tee $1 - i32.const 8 - local.get $10 - local.get $10 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $0 - local.get $0 - local.get $1 - i32.lt_u - select - local.tee $9 - local.get $6 - i32.load $0 - local.tee $1 - i32.const 20 - i32.sub - local.tee $2 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $2 - local.get $9 - i32.store $0 offset=16 - local.get $1 - local.set $0 - br $__inlined_func$~lib/rt/itcms/__renew - end - local.get $9 - local.get $2 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $0 - local.get $1 - local.get $9 - local.get $2 - i32.load $0 offset=16 - local.tee $2 - local.get $2 - local.get $9 - i32.gt_u - select - memory.copy $0 $0 - end - local.get $0 - local.get $1 - i32.ne - if - local.get $6 - local.get $0 - i32.store $0 - local.get $6 - local.get $0 - i32.store $0 offset=4 - local.get $0 - if - local.get $6 - local.get $0 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end - local.get $6 - local.get $9 - i32.store $0 offset=8 - end + i32.shl + i32.add + local.tee $6 + i32.load $0 + local.set $7 local.get $6 - i32.load $0 offset=4 - local.get $3 + local.get $4 + local.get $0 + local.get $1 + i32.sub i32.const 2 i32.shl i32.add - local.get $4 + local.tee $6 + i32.load $0 i32.store $0 local.get $6 - local.get $10 - i32.store $0 offset=12 + local.get $7 + i32.store $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|017 end - local.get $13 - i32.const 1 - i32.add - local.set $13 - br $for-loop|05 end end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $6 - i32.store $0 offset=88 - local.get $6 - i32.load $0 offset=12 - i32.const 2 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 0 + call $~lib/staticarray/StaticArray#__get + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 215 + i32.const 182 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $6 - i32.const 0 - call $~lib/array/Array#__get + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 1 + call $~lib/staticarray/StaticArray#__get i32.const 2 i32.ne if i32.const 0 i32.const 1216 - i32.const 216 + i32.const 183 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 2 + call $~lib/staticarray/StaticArray#__get i32.const 1 - call $~lib/array/Array#__get - i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 217 + i32.const 184 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3344 - i32.store $0 offset=24 - i32.const 0 local.set $0 + i32.const 20 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.const 3168 + i32.const 20 + memory.copy $0 $0 + local.get $0 + local.get $4 + i32.store $0 offset=80 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + i32.const 2 + global.set $~argumentsLength i32.const 0 local.set $1 - local.get $8 - i32.const 20 + local.get $0 + i32.const 4 i32.sub - i32.load $0 offset=16 - 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 $8 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $8 - i32.const 3344 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|06 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange56 + global.get $~argumentsLength + i32.const 2 + i32.sub + br_table $0of1 $1of1 $outOfRange56 + end + unreachable end + i32.const 2147483647 + local.set $1 end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 local.get $0 - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 221 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 3376 - i32.store $0 offset=24 + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 0 - local.set $1 - local.get $8 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 + local.get $1 + local.get $4 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - i32.const 1 - i32.sub - local.set $0 - loop $for-loop|07 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $1 - local.get $2 - local.get $0 - local.get $8 - i32.const 3376 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $for-loop|07 - end - end + local.tee $0 + local.get $0 local.get $1 - i32.const 6 - i32.ne - if - i32.const 0 - i32.const 1216 - i32.const 225 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/staticarray/StaticArray#some (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 3408 - i32.store $0 offset=24 + i32.gt_s + select + local.set $1 + local.get $4 + local.get $4 + i32.const 3 + local.get $0 + local.get $0 + i32.const 3 + i32.gt_u + select + local.tee $5 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $0 + local.get $1 + i32.add + local.tee $1 i32.const 0 - local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|038 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $1 - local.get $0 - local.get $8 - i32.const 3408 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#some - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|038 - end - end + local.get $1 i32.const 0 + i32.gt_s + select + else + local.get $1 + local.get $0 + local.get $0 + local.get $1 + i32.gt_s + select end - i32.eqz + local.get $5 + i32.sub + local.tee $1 + local.get $0 + local.get $0 + local.get $1 + i32.gt_s + select + i32.const 2 + i32.shl + memory.copy $0 $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 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 0 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.ne if i32.const 0 i32.const 1216 - i32.const 228 + i32.const 192 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#some39 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 3440 - i32.store $0 offset=24 - i32.const 0 - local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|042 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $1 - local.get $0 - local.get $8 - i32.const 3440 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#some39 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|042 - end - end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 5 + i32.ne + if i32.const 0 + i32.const 1216 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 2 + call $~lib/staticarray/StaticArray#__get + i32.const 3 + i32.ne if i32.const 0 i32.const 1216 - i32.const 229 + i32.const 194 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#every (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 3472 - i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 3 + call $~lib/staticarray/StaticArray#__get + i32.const 4 + i32.ne + if i32.const 0 - local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|046 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $1 - local.get $0 - local.get $8 - i32.const 3472 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#every - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|046 - end - end - i32.const 1 + i32.const 1216 + i32.const 195 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 4 + call $~lib/staticarray/StaticArray#__get + i32.const 5 + i32.ne if i32.const 0 i32.const 1216 - i32.const 232 + i32.const 196 i32.const 3 call $~lib/builtins/abort unreachable end - block $__inlined_func$~lib/staticarray/StaticArray#every47 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store $0 offset=24 - i32.const 0 - local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|050 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $1 - local.get $0 - local.get $8 - i32.const 3504 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $__inlined_func$~lib/staticarray/StaticArray#every47 - drop - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|050 - end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $5 + i32.const 3216 + i32.const 12 + memory.copy $0 $0 + local.get $0 + local.get $5 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.set $6 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3248 + i32.store $0 offset=24 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.tee $7 + i32.const 7 + i32.const 0 + call $~lib/rt/__newArray + local.tee $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $1 + loop $for-loop|026 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $1 + i32.const 2 + i32.shl + local.tee $8 + local.get $5 + i32.add + i32.load $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $8 + i32.add + local.get $9 + local.get $1 + local.get $5 + i32.const 3248 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|026 end - i32.const 1 end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $0 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get + i32.const 2 + i32.ne if i32.const 0 i32.const 1216 - i32.const 233 + i32.const 205 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3536 - i32.store $0 offset=24 - i32.const 0 - local.set $0 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $2 - block $__inlined_func$~lib/staticarray/StaticArray#findIndex - loop $for-loop|053 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - local.get $8 - i32.const 3536 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|053 - end - end - i32.const -1 - local.set $0 - end + local.get $0 + i32.store $0 local.get $0 i32.const 1 + call $~lib/array/Array#__get + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 236 + i32.const 206 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3568 + local.get $0 + i32.store $0 + local.get $0 + i32.const 2 + call $~lib/array/Array#__get + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 207 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3280 i32.store $0 offset=24 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 i32.const 0 local.set $0 - local.get $8 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.set $2 - block $__inlined_func$~lib/staticarray/StaticArray#findIndex54 - loop $for-loop|057 + local.set $1 + loop $for-loop|030 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $5 local.get $0 - local.get $2 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $0 - local.get $8 - i32.const 3568 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findIndex54 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|057 - end + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $0 + local.get $5 + i32.const 3280 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|030 end - i32.const -1 - local.set $0 end - local.get $0 - i32.const -1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $std/staticarray/maxVal + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 237 + i32.const 211 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3600 + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3312 i32.store $0 offset=24 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 + local.get $0 + local.get $5 + call $~lib/staticarray/StaticArray#filter + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - loop $for-loop|061 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $8 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $8 - i32.const 3600 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|061 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 i32.ne if i32.const 0 i32.const 1216 - i32.const 240 + i32.const 215 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store $0 offset=24 - local.get $8 - i32.const 20 - i32.sub - i32.load $0 offset=16 + local.get $0 + i32.store $0 + local.get $0 + i32.const 0 + call $~lib/array/Array#__get i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $__inlined_func$~lib/staticarray/StaticArray#findLastIndex62 - loop $for-loop|065 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $8 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $8 - i32.const 3632 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $__inlined_func$~lib/staticarray/StaticArray#findLastIndex62 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|065 - end - end - i32.const -1 - local.set $1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 216 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 1 + call $~lib/array/Array#__get + i32.const 3 i32.ne if i32.const 0 i32.const 1216 - i32.const 241 + i32.const 217 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 16 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.const 3664 - i32.const 16 - memory.copy $0 $0 + local.tee $1 + local.get $5 + i32.store $0 local.get $1 - local.get $0 - i32.store $0 offset=92 - i32.const 0 - global.set $~argumentsLength + i32.const 3344 + i32.store $0 offset=24 i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.set $0 + local.get $1 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6453,579 +7611,509 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 i32.const 0 + local.set $1 + local.get $4 + local.get $5 i32.store $0 - block $1of166 - block $0of167 - block $outOfRange8 - global.get $~argumentsLength - br_table $0of167 $1of166 $outOfRange8 - end - unreachable - end - i32.const 3712 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 3712 - i32.store $0 - end - local.get $0 - local.get $0 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 2 i32.shr_u - local.get $1 - call $~lib/util/sort/SORT + local.set $4 + loop $for-loop|034 + local.get $1 + local.get $4 + i32.lt_s + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $6 + local.get $1 + local.get $5 + i32.const 3344 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|034 + end + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - call $~lib/staticarray/StaticArray#__get + i32.const 6 + i32.ne if i32.const 0 i32.const 1216 - i32.const 250 + i32.const 221 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $0 - i32.const 1 - call $~lib/staticarray/StaticArray#__get + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $5 + i32.store $0 + local.get $1 + i32.const 3376 + i32.store $0 offset=24 + i32.const 0 + local.set $0 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u i32.const 1 + i32.sub + local.set $1 + loop $for-loop|038 + local.get $1 + i32.const 0 + i32.ge_s + if + local.get $5 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $4 + local.get $1 + local.get $5 + i32.const 3376 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|038 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 6 i32.ne if i32.const 0 i32.const 1216 - i32.const 251 + i32.const 225 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 local.get $0 - i32.const 2 - call $~lib/staticarray/StaticArray#__get - i32.const 2 - i32.ne + i32.const 3408 + i32.store $0 offset=24 + local.get $5 + i32.const 3408 + call $~lib/staticarray/StaticArray#some + i32.eqz if i32.const 0 i32.const 1216 - i32.const 252 + i32.const 228 i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 local.get $0 - i32.const 3 - call $~lib/staticarray/StaticArray#__get - i32.const 3 - i32.ne + i32.const 3440 + i32.store $0 offset=24 + local.get $5 + i32.const 3440 + call $~lib/staticarray/StaticArray#some if i32.const 0 i32.const 1216 - i32.const 253 + i32.const 229 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 36568 - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|010 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|010 - 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 96 - i32.add - global.set $~lib/memory/__stack_pointer - return - end - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/staticarray/Ref#constructor (type $none_=>_i32) (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 + local.get $5 i32.store $0 local.get $0 - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - br_if $folding-inner0 + i32.const 3472 + i32.store $0 offset=24 + local.get $5 + i32.const 3472 + call $~lib/staticarray/StaticArray#every + i32.eqz + if + i32.const 0 + i32.const 1216 + i32.const 232 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $0 + local.get $5 i32.store $0 local.get $0 - i32.eqz + i32.const 3504 + i32.store $0 offset=24 + local.get $5 + i32.const 3504 + call $~lib/staticarray/StaticArray#every if - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + i32.const 1216 + i32.const 233 + 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 $1 - local.get $0 + local.tee $0 + local.get $5 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - return - end - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $~lib/rt/__newArray (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 2 - i32.shl - local.tee $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.set $3 - local.get $2 - if - local.get $3 - local.get $2 - local.get $4 - memory.copy $0 $0 - end - local.get $5 - local.get $3 - i32.store $0 - i32.const 16 - local.get $1 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $1 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 - local.get $3 - i32.store $0 offset=4 - local.get $1 - local.get $4 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/staticarray/StaticArray.fromArray (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - local.tee $2 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - i32.load $0 offset=4 - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $~lib/staticarray/StaticArray#concat<~lib/staticarray/StaticArray> (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.tee $2 - i32.add - local.tee $4 - i32.const 268435455 - i32.gt_u - if - i32.const 1680 - i32.const 1152 - i32.const 178 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - i32.shl - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - local.tee $0 - memory.copy $0 $0 - local.get $0 - local.get $4 - i32.add - local.get $1 - local.get $2 - i32.const 2 - i32.shl - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#slice<~lib/staticarray/StaticArray<~lib/string/String>> (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 + i32.const 3536 + i32.store $0 offset=24 + local.get $5 + i32.const 3536 + call $~lib/staticarray/StaticArray#findIndex i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3568 + i32.store $0 offset=24 + local.get $5 + i32.const 3568 + call $~lib/staticarray/StaticArray#findIndex + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 237 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3600 + i32.store $0 offset=24 + local.get $5 + i32.const 3600 + call $~lib/staticarray/StaticArray#findLastIndex i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $4 - local.get $0 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) - local.get $1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 240 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 3632 + i32.store $0 offset=24 + local.get $5 + i32.const 3632 + call $~lib/staticarray/StaticArray#findLastIndex + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 241 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.set $0 + i32.const 16 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.const 3664 + i32.const 16 + memory.copy $0 $0 + local.get $0 local.get $4 - i32.add + i32.store $0 offset=96 + global.get $~lib/memory/__stack_pointer local.tee $0 + local.get $4 + i32.store $0 + i32.const 0 + global.set $~argumentsLength i32.const 0 + local.set $1 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 0 - i32.gt_s - select - else - local.get $1 + i32.store $0 offset=8 + block $1of158 + block $0of159 + block $outOfRange60 + global.get $~argumentsLength + br_table $0of159 $1of158 $outOfRange60 + end + unreachable + end + i32.const 3712 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 3712 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $4 + i32.store $0 offset=4 + local.get $0 local.get $1 - local.get $4 + i32.store $0 offset=8 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 3800 i32.lt_s - select - end - local.tee $0 - i32.const 2 - i32.shl - i32.add - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $5 + local.get $0 + local.get $1 + i32.store $0 local.get $4 + local.get $5 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $2 - i32.const 0 - local.get $2 + global.set $~lib/memory/__stack_pointer + 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 $4 + i32.store $0 + local.get $4 i32.const 0 - i32.gt_s - select - else - local.get $2 + call $~lib/staticarray/StaticArray#__get + if + i32.const 0 + i32.const 1216 + i32.const 250 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $2 + i32.store $0 local.get $4 - i32.lt_s - select - end - local.get $0 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - i32.const 2 - i32.shl - local.tee $0 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - loop $while-continue|0 - local.get $0 - local.get $3 - i32.gt_u + i32.const 1 + call $~lib/staticarray/StaticArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 251 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 2 + call $~lib/staticarray/StaticArray#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 252 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 3 + call $~lib/staticarray/StaticArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1216 + i32.const 253 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 36568 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $3 - i32.add - i32.load $0 - local.tee $4 - i32.store $0 - local.get $4 + loop $while-continue|043 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|043 + end + end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state if - local.get $2 - local.get $4 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + call $~lib/rt/itcms/step + drop + br $while-continue|1 end - local.get $3 - i32.const 4 - i32.add - local.set $3 - br $while-continue|0 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 100 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#__get (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 3800 - i32.lt_s - if - i32.const 36592 - i32.const 36640 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1088 - i32.const 1152 - i32.const 78 - i32.const 41 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.store $0 - local.get $0 - i32.eqz - if - i32.const 2176 - i32.const 1152 - i32.const 82 - 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 + i32.const 36592 + i32.const 36640 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#concat<~lib/array/Array<~lib/string/String>> (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_=>_i32) (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 @@ -7042,120 +8130,53 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 i32.const 0 i32.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 2 - i32.shr_u - local.tee $2 - local.get $1 - i32.load $0 offset=12 - local.tee $3 - i32.add + i32.shl local.tee $4 - i32.const 268435455 - i32.gt_u + i32.const 1 + call $~lib/rt/itcms/__new + local.set $3 + local.get $2 if - i32.const 1680 - i32.const 1152 - i32.const 178 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $2 + local.get $4 + memory.copy $0 $0 end - local.get $2 - i32.const 2 - i32.shl - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 9 - i32.const 0 - call $~lib/rt/__newArray - local.tee $4 + local.get $5 + local.get $3 i32.store $0 - local.get $4 - i32.load $0 offset=4 - local.set $7 + i32.const 16 local.get $1 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - loop $for-loop|0 - local.get $1 - local.get $6 - i32.lt_u - if - local.get $1 - local.get $7 - i32.add - local.get $0 - local.get $1 - i32.add - i32.load $0 - local.tee $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $6 - local.get $7 - i32.add - local.set $0 + call $~lib/rt/itcms/__new + local.tee $1 local.get $3 - i32.const 2 - i32.shl - local.set $3 - i32.const 0 - local.set $1 - loop $for-loop|1 + i32.store $0 + local.get $3 + if local.get $1 local.get $3 - i32.lt_u - if - local.get $0 - local.get $1 - i32.add - local.get $1 - local.get $2 - i32.add - i32.load $0 - local.tee $5 - i32.store $0 - local.get $5 - if - local.get $4 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $for-loop|1 - end + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + local.get $1 + local.get $3 + i32.store $0 offset=4 + local.get $1 + local.get $4 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $1 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/std/string-casemapping.debug.wat b/tests/compiler/std/string-casemapping.debug.wat index c6fdcbaa3a..8d70df075d 100644 --- a/tests/compiler/std/string-casemapping.debug.wat +++ b/tests/compiler/std/string-casemapping.debug.wat @@ -2780,49 +2780,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/util/string/stagedBinaryLookup (type $i32_i32_=>_i32) (param $table i32) (param $c i32) (result i32) local.get $table local.get $table @@ -2849,74 +2806,6 @@ i32.and return ) - (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - (local $len i32) - (local $first i32) - (local $second i32) - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $pos - local.get $len - i32.ge_u - if - i32.const -1 - return - end - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $first - local.get $first - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - if (result i32) - i32.const 1 - else - local.get $pos - i32.const 1 - i32.add - local.get $len - i32.eq - end - if - local.get $first - return - end - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.set $second - local.get $second - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - if - local.get $first - return - end - local.get $first - i32.const 55296 - i32.sub - i32.const 10 - i32.shl - local.get $second - i32.const 56320 - i32.sub - i32.add - i32.const 65536 - i32.add - return - ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value i32.const 100000 @@ -3512,12 +3401,6 @@ call $~lib/util/number/itoa64 return ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return - ) (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) (local $1 i32) i32.const 256 @@ -3635,6 +3518,11 @@ i64.const 0 i64.store $0 local.get $this + local.set $24 + global.get $~lib/memory/__stack_pointer + local.get $24 + i32.store $0 + local.get $24 call $~lib/string/String#get:length local.set $len local.get $len @@ -3658,14 +3546,14 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $codes - i32.store $0 + i32.store $0 offset=4 global.get $~lib/util/casemap/SPECIALS_UPPER local.set $specialsPtr global.get $~lib/util/casemap/SPECIALS_UPPER local.set $24 global.get $~lib/memory/__stack_pointer local.get $24 - i32.store $0 offset=4 + i32.store $0 local.get $24 call $~lib/staticarray/StaticArray#get:length local.set $specialsLen @@ -3997,2722 +3885,177 @@ local.get $24 return ) - (func $start:std/string-casemapping (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) (local $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i64) - (local $9 i64) - (local $10 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $left + local.get $right + 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 $left i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 - 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 $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $3 i32.store $0 - local.get $10 - i32.const 32 - local.set $10 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 6000 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - i32.const 32 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 + local.get $left + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $3 i32.store $0 - local.get $10 - i32.const 32 - local.set $10 + local.get $3 + i32.const 0 + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $3 i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 9 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 10784 - local.set $10 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 10832 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 10 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 10880 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 10928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 11 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 10976 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 12 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 13 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11264 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11328 - local.set $10 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/string/String#toLowerCase (type $i32_=>_i32) (param $this i32) (result i32) + (local $len i32) + (local $codes i32) + (local $j i32) + (local $i i32) + (local $c i32) + (local $c|6 i32) + (local $c|7 i32) + (local $c1 i32) + (local $c0 i32) + (local $sigma i32) + (local $buffer i32) + (local $index i32) + (local $len|13 i32) + (local $found i32) + (local $pos i32) + (local $16 i32) + (local $17 i32) + (local $minPos i32) + (local $buffer|19 i32) + (local $index|20 i32) + (local $c|21 i32) + (local $c1|22 i32) + (local $c|23 i32) + (local $c|24 i32) + (local $c|25 i32) + (local $26 i32) + (local $27 i32) + (local $maxPos i32) + (local $c|29 i32) + (local $c1|30 i32) + (local $c|31 i32) + (local $c|32 i32) + (local $code i32) + (local $lo i32) + (local $hi i32) + (local $36 i32) global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11328 - local.set $10 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 + i64.const 0 + i64.store $0 + local.get $this + local.set $36 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $36 i32.store $0 - local.get $10 - i32.const 11392 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq + local.get $36 + call $~lib/string/String#get:length + local.set $len + local.get $len i32.eqz if - i32.const 0 - i32.const 6000 - i32.const 15 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $this + local.set $36 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $36 + return end - i32.const 11456 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11552 - local.set $10 global.get $~lib/memory/__stack_pointer - local.get $10 + local.get $len + i32.const 2 + i32.mul + i32.const 2 + i32.mul + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $codes i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 16 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11552 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11648 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 17 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11744 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 18 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 11840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 11936 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 19 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12032 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12112 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 20 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12192 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12272 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 21 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12352 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12416 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 22 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12480 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12560 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12640 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12720 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12800 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 12864 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 25 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13008 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 26 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13088 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 27 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13408 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13568 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 32 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 36 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13792 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 13824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 37 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13856 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14064 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 38 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 13728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14272 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 42 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14304 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14336 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14368 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=12 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14368 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 44 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 65536 - call $~lib/string/String.fromCodePoint - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14624 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 50 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 65536 - call $~lib/string/String.fromCodePoint - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14624 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 51 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14656 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14688 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 54 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14720 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14752 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 55 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14784 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14816 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 56 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14848 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14880 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 59 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14912 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 14944 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 60 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14976 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15008 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 61 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15040 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15072 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 62 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15104 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15136 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 63 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15168 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15200 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 64 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15232 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15264 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 65 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15296 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 66 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15360 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15392 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 67 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15424 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15456 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 68 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15488 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15520 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 69 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15552 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15584 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 70 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15616 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15648 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 72 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15680 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15712 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 73 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15744 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15776 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 74 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15808 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15840 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 75 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15872 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15904 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 78 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15936 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15968 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 79 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16000 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16032 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 80 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16064 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16096 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 81 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16128 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16160 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 82 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16192 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16224 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 83 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16256 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 15328 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 84 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16288 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16320 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 85 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16352 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16384 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 86 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16416 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16448 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 87 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16480 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16512 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 88 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16544 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16576 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 89 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16608 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16640 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 90 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16672 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16704 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 91 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16736 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16768 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 92 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16800 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16832 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 93 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16864 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16896 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 94 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16928 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 16960 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 16992 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toLowerCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17024 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 96 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17056 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17088 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 99 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14304 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17120 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 100 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17152 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17184 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 101 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17216 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17248 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 102 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17280 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17312 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 103 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17344 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17376 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 104 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17408 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17376 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 105 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17440 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17472 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 106 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17504 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17536 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17568 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17600 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17632 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17664 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 109 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17696 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17728 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 17760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String#toUpperCase - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 17792 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 6000 - i32.const 111 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - i32.const 1114111 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/string/String.fromCodePoint - local.tee $1 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/string/String#toLowerCase - local.tee $2 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $1 - call $~lib/string/String#toUpperCase - local.tee $3 - i32.store $0 offset=24 - local.get $2 - i32.const 0 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.set $6 - local.get $2 - i32.const 1 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.tee $4 - i64.const 0 - i64.ge_s - if - local.get $6 - local.get $4 - i64.const 16 - i64.shl - i64.add - local.set $6 - end - local.get $2 - i32.const 2 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.tee $5 - i64.const 0 - i64.ge_s - if - local.get $6 - local.get $5 - i64.const 32 - i64.shl - i64.add - local.set $6 - end - local.get $3 - i32.const 0 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.set $7 - local.get $3 - i32.const 1 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.tee $4 - i64.const 0 - i64.ge_s - if - local.get $7 - local.get $4 - i64.const 16 - i64.shl - i64.add - local.set $7 - end - local.get $3 - i32.const 2 - call $~lib/string/String#codePointAt - i64.extend_i32_s - local.tee $5 - i64.const 0 - i64.ge_s - if - local.get $7 - local.get $5 - i64.const 32 - i64.shl - i64.add - local.set $7 - end - local.get $0 - i32.const 0 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.set $8 - local.get $0 - i32.const 1 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.tee $4 - i64.const 0 - i64.ge_s - if - local.get $8 - local.get $4 - i64.const 16 - i64.shl - i64.add - local.set $8 - end - local.get $0 - i32.const 2 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.tee $5 - i64.const 0 - i64.ge_s - if - local.get $8 - local.get $5 - i64.const 32 - i64.shl - i64.add - local.set $8 - end - local.get $0 - i32.const 0 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.set $9 - local.get $0 - i32.const 1 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.tee $4 - i64.const 0 - i64.ge_s - if - local.get $9 - local.get $4 - i64.const 16 - i64.shl - i64.add - local.set $9 - end - local.get $0 - i32.const 2 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.tee $5 - i64.const 0 - i64.ge_s - if - local.get $9 - local.get $5 - i64.const 32 - i64.shl - i64.add - local.set $9 - end - local.get $6 - local.get $8 - i64.ne - if - i32.const 17824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 1 - local.get $0 - f64.convert_i32_s - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 17920 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $6 - i32.const 10 - call $~lib/number/I64#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 19760 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $8 - i32.const 10 - call $~lib/number/I64#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - 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 $7 - local.get $9 - i64.ne - if - i32.const 19824 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 1 - local.get $0 - f64.convert_i32_s - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 19920 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $7 - i32.const 10 - call $~lib/number/I64#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - i32.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 19984 - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=4 - local.get $10 - local.get $9 - i32.const 10 - call $~lib/number/I64#toString - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 offset=8 - local.get $10 - call $~lib/string/String.__concat - local.set $10 - global.get $~lib/memory/__stack_pointer - local.get $10 - i32.store $0 - local.get $10 - 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 $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 (type $i32_=>_i32) (param $this i32) (result i32) - (local $len i32) - (local $codes i32) - (local $j i32) - (local $i i32) - (local $c i32) - (local $c|6 i32) - (local $c|7 i32) - (local $c1 i32) - (local $c0 i32) - (local $sigma i32) - (local $buffer i32) - (local $index i32) - (local $len|13 i32) - (local $found i32) - (local $pos i32) - (local $16 i32) - (local $17 i32) - (local $minPos i32) - (local $buffer|19 i32) - (local $index|20 i32) - (local $c|21 i32) - (local $c1|22 i32) - (local $c|23 i32) - (local $c|24 i32) - (local $c|25 i32) - (local $26 i32) - (local $27 i32) - (local $maxPos i32) - (local $c|29 i32) - (local $c1|30 i32) - (local $c|31 i32) - (local $c|32 i32) - (local $code i32) - (local $lo i32) - (local $hi i32) - (local $36 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz - if - local.get $this - local.set $36 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $36 - return - end - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.mul - i32.const 2 - i32.mul - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $codes - i32.store $0 i32.const 0 local.set $j i32.const 0 @@ -7225,29 +4568,2928 @@ end end end - local.get $i + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|0 + end + end + local.get $codes + local.get $j + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.set $36 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $36 + return + ) + (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) + (local $len i32) + (local $first i32) + (local $second 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/string/String#get:length + local.set $len + local.get $pos + local.get $len + 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 $this + local.get $pos + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $first + local.get $first + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + if (result i32) + i32.const 1 + else + local.get $pos + i32.const 1 + i32.add + local.get $len + i32.eq + end + if + local.get $first + 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 $this + local.get $pos + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 offset=2 + local.set $second + local.get $second + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + local.get $first + 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 $first + i32.const 55296 + i32.sub + i32.const 10 + i32.shl + local.get $second + 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 + return + ) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + 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 $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $start:std/string-casemapping (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 i64) + (local $9 i64) + (local $10 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 + i32.const 0 + i32.const 28 + memory.fill $0 + memory.size $0 + 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 $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 32 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 32 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 32 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 10784 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 10832 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 10880 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 10928 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 10976 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11072 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11072 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11168 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11264 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11328 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11328 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11392 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11456 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11552 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11552 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11648 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11744 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11840 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 11840 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 11936 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12032 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12112 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 20 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12192 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12272 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12352 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12416 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12480 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12560 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12640 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12720 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12800 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 12864 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12928 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13008 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13088 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13168 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 27 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13248 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13408 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13248 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13568 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13728 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13760 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 36 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13792 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 13824 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 37 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13856 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14064 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 38 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 13728 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=12 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14272 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14304 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=12 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14336 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14368 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=12 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14368 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 44 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 65536 + call $~lib/string/String.fromCodePoint + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14624 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 50 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 65536 + call $~lib/string/String.fromCodePoint + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14624 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14656 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14688 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14720 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14752 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 55 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14784 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14816 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 56 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14848 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14880 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 59 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14912 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 14944 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 60 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14976 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15008 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 61 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15040 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15072 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 62 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15104 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15136 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 63 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15168 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15200 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 64 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15232 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15264 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 65 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15296 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15328 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 66 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15360 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15392 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 67 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15424 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15456 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 68 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15488 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15520 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 69 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15552 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15584 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 70 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15616 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15648 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 72 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15680 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15712 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 73 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15744 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15776 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 74 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15808 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15840 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 75 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15872 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15904 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 78 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15936 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15968 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 79 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16000 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16032 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 80 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16064 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16096 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 81 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16128 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16160 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 82 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16192 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16224 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 83 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16256 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 15328 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 84 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16288 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16320 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 85 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16352 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16384 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 86 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16416 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16448 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 87 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16480 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16512 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 88 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16544 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16576 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 89 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16608 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16640 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 90 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16672 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16704 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 91 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16736 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16768 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 92 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16800 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16832 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 93 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16864 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16896 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 94 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16928 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 16960 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 95 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 16992 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toLowerCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17024 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 96 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17056 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17088 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 99 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14304 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17120 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 100 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17152 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17184 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 101 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17216 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17248 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 102 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17280 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17312 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 103 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17344 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17376 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 104 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17408 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17376 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 105 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17440 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17472 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17504 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17536 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17568 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17600 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 108 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17632 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17664 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 109 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17696 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17728 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 110 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 17760 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String#toUpperCase + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 17792 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 6000 + i32.const 111 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + i32.const 1114111 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/string/String.fromCodePoint + local.tee $1 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#toLowerCase + local.tee $2 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#toUpperCase + local.tee $3 + i32.store $0 offset=24 + local.get $2 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.set $6 + local.get $2 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 1 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $4 + i64.const 0 + i64.ge_s + if + local.get $6 + local.get $4 + i64.const 16 + i64.shl + i64.add + local.set $6 + end + local.get $2 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 2 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $5 + i64.const 0 + i64.ge_s + if + local.get $6 + local.get $5 + i64.const 32 + i64.shl + i64.add + local.set $6 + end + local.get $3 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.set $7 + local.get $3 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 1 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $4 + i64.const 0 + i64.ge_s + if + local.get $7 + local.get $4 + i64.const 16 + i64.shl + i64.add + local.set $7 + end + local.get $3 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 2 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $5 + i64.const 0 + i64.ge_s + if + local.get $7 + local.get $5 + i64.const 32 + i64.shl + i64.add + local.set $7 + end + local.get $0 + i32.const 0 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.set $8 + local.get $0 + i32.const 1 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.tee $4 + i64.const 0 + i64.ge_s + if + local.get $8 + local.get $4 + i64.const 16 + i64.shl + i64.add + local.set $8 + end + local.get $0 + i32.const 2 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.tee $5 + i64.const 0 + i64.ge_s + if + local.get $8 + local.get $5 + i64.const 32 + i64.shl + i64.add + local.set $8 + end + local.get $0 + i32.const 0 + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.set $9 + local.get $0 i32.const 1 - i32.add - local.set $i - local.get $j + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.tee $4 + i64.const 0 + i64.ge_s + if + local.get $9 + local.get $4 + i64.const 16 + i64.shl + i64.add + local.set $9 + end + local.get $0 + i32.const 2 + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.tee $5 + i64.const 0 + i64.ge_s + if + local.get $9 + local.get $5 + i64.const 32 + i64.shl + i64.add + local.set $9 + end + local.get $6 + local.get $8 + i64.ne + if + i32.const 17824 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 1 + local.get $0 + f64.convert_i32_s + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 17920 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $6 + i32.const 10 + call $~lib/number/I64#toString + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String.__concat + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 19760 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $8 + i32.const 10 + call $~lib/number/I64#toString + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String.__concat + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + 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 $7 + local.get $9 + i64.ne + if + i32.const 19824 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 1 + local.get $0 + f64.convert_i32_s + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 19920 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $7 + i32.const 10 + call $~lib/number/I64#toString + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String.__concat + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 19984 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + local.get $9 + i32.const 10 + call $~lib/number/I64#toString + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/string/String.__concat + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + 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 $0 i32.const 1 i32.add - local.set $j + local.set $0 br $for-loop|0 end end - local.get $codes - local.get $j - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.set $36 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer - local.get $36 - return ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) (local $hasSur i32) @@ -7551,70 +7793,4 @@ local.get $18 return ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out 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 $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize - i32.const 0 - i32.eq - if - i32.const 32 - 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 - global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - ) ) diff --git a/tests/compiler/std/string-casemapping.release.wat b/tests/compiler/std/string-casemapping.release.wat index e2cf7d2373..3b46a01669 100644 --- a/tests/compiler/std/string-casemapping.release.wat +++ b/tests/compiler/std/string-casemapping.release.wat @@ -2144,123 +2144,6 @@ memory.copy $0 $0 local.get $2 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) loop $while-continue|0 @@ -2365,78 +2248,6 @@ i32.store16 $0 end ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 21080 - i32.lt_s - if - i32.const 53872 - i32.const 53920 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/string/String#concat - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - i32.add - 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 1056 - local.set $2 - br $__inlined_func$~lib/string/String#concat - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - local.get $3 - memory.copy $0 $0 - local.get $2 - local.get $3 - i32.add - local.get $1 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $2 - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $~lib/staticarray/StaticArray @@ -2499,8 +2310,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i64.const 0 i64.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -2524,10 +2339,10 @@ i32.const 2 call $~lib/rt/itcms/__new local.tee $6 - i32.store $0 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer i32.const 1488 - i32.store $0 offset=4 + i32.store $0 i32.const 1484 i32.load $0 i32.const 1 @@ -2801,19 +2616,13 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $start:std/string-casemapping (type $none_=>_none) - (local $0 i64) - (local $1 i64) - (local $2 i64) - (local $3 i64) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 i64) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2828,2627 +2637,202 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 0 - i32.const 28 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 53848 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1204 - i32.const 1200 - i32.store $0 - i32.const 1208 - i32.const 1200 - i32.store $0 - i32.const 1200 - global.set $~lib/rt/itcms/pinSpace - i32.const 1236 - i32.const 1232 - i32.store $0 - i32.const 1240 - i32.const 1232 - i32.store $0 - i32.const 1232 - global.set $~lib/rt/itcms/toSpace - i32.const 1380 - i32.const 1376 - i32.store $0 - i32.const 1384 - i32.const 1376 - i32.store $0 - i32.const 1376 - global.set $~lib/rt/itcms/fromSpace - local.get $5 - i32.const 1056 - i32.store $0 offset=8 - i32.const 1056 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 - local.get $5 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.eq if - i32.const 0 - i32.const 7024 + global.get $~lib/memory/__stack_pointer i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 1 - call $~lib/builtins/abort - unreachable + return end - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=8 - i32.const 1056 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 offset=4 - local.get $5 - i32.const 1056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 9 + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11808 - i32.store $0 offset=8 - i32.const 11808 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 11856 - i32.store $0 offset=4 - local.get $5 - i32.const 11856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 10 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return end global.get $~lib/memory/__stack_pointer - i32.const 11904 - i32.store $0 offset=8 - i32.const 11904 - call $~lib/string/String#toLowerCase - local.set $5 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/string/String#toLowerCase (type $i32_=>_i32) (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 - local.get $5 - i32.store $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 11952 - i32.store $0 offset=4 - local.get $5 - i32.const 11952 - call $~lib/string/String.__eq - i32.eqz + i32.const 21080 + i32.lt_s if - i32.const 0 - i32.const 7024 - i32.const 11 + i32.const 53872 + i32.const 53920 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12000 - i32.store $0 offset=8 - i32.const 12000 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12096 - i32.store $0 offset=4 - local.get $5 - i32.const 12096 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 12 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12096 - i32.store $0 offset=8 - i32.const 12096 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12192 - i32.store $0 offset=4 - local.get $5 - i32.const 12192 - call $~lib/string/String.__eq + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $8 i32.eqz if - i32.const 0 - i32.const 7024 - i32.const 13 - 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 + local.get $0 + return end global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 offset=8 - i32.const 12288 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12352 - i32.store $0 offset=4 - local.get $5 - i32.const 12352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12352 - i32.store $0 offset=8 - i32.const 12352 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12416 - i32.store $0 offset=4 - local.get $5 - i32.const 12416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 15 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12480 - i32.store $0 offset=8 - i32.const 12480 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12576 - i32.store $0 offset=4 - local.get $5 - i32.const 12576 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 16 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12576 - i32.store $0 offset=8 - i32.const 12576 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12672 - i32.store $0 offset=4 - local.get $5 - i32.const 12672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 17 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12768 - i32.store $0 offset=8 - i32.const 12768 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12864 - i32.store $0 offset=4 - local.get $5 - i32.const 12864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 18 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12864 - i32.store $0 offset=8 - i32.const 12864 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 offset=4 - local.get $5 - i32.const 12960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 19 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13056 - i32.store $0 offset=8 - i32.const 13056 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13136 - i32.store $0 offset=4 - local.get $5 - i32.const 13136 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 20 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13216 - i32.store $0 offset=8 - i32.const 13216 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13296 - i32.store $0 offset=4 - local.get $5 - i32.const 13296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 21 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13376 - i32.store $0 offset=8 - i32.const 13376 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13440 - i32.store $0 offset=4 - local.get $5 - i32.const 13440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 22 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13504 - i32.store $0 offset=8 - i32.const 13504 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13584 - i32.store $0 offset=4 - local.get $5 - i32.const 13584 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13664 - i32.store $0 offset=8 - i32.const 13664 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13744 + local.get $8 + i32.const 2 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $9 i32.store $0 offset=4 - local.get $5 - i32.const 13744 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 24 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13824 - i32.store $0 offset=8 - i32.const 13824 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13888 - i32.store $0 offset=4 - local.get $5 - i32.const 13888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 25 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13952 - i32.store $0 offset=8 - i32.const 13952 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14032 - i32.store $0 offset=4 - local.get $5 - i32.const 14032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 26 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14112 - i32.store $0 offset=8 - i32.const 14112 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14192 - i32.store $0 offset=4 - local.get $5 - i32.const 14192 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 27 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14272 - i32.store $0 offset=8 - i32.const 14272 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14432 - i32.store $0 offset=4 - local.get $5 - i32.const 14432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14272 - i32.store $0 offset=8 - i32.const 14272 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14592 - i32.store $0 offset=4 - local.get $5 - i32.const 14592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 32 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14752 - i32.store $0 offset=8 - i32.const 14752 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14784 - i32.store $0 offset=4 - local.get $5 - i32.const 14784 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 36 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14816 - i32.store $0 offset=8 - i32.const 14816 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14848 - i32.store $0 offset=4 - local.get $5 - i32.const 14848 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 37 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14880 - i32.store $0 offset=8 - i32.const 14880 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15088 - i32.store $0 offset=4 - local.get $5 - i32.const 15088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 38 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14752 - i32.store $0 offset=12 - i32.const 14752 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $5 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 42 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15328 - i32.store $0 offset=12 - i32.const 15328 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15360 - i32.store $0 offset=4 - local.get $5 - i32.const 15360 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15392 - i32.store $0 offset=12 - i32.const 15392 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15392 - i32.store $0 offset=4 - local.get $5 - i32.const 15392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 44 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 65536 - call $~lib/string/String.fromCodePoint - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15648 - i32.store $0 offset=4 - local.get $5 - i32.const 15648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 50 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 65536 - call $~lib/string/String.fromCodePoint - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - local.get $5 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15648 - i32.store $0 offset=4 - local.get $5 - i32.const 15648 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 51 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15680 - i32.store $0 offset=8 - i32.const 15680 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15712 - i32.store $0 offset=4 - local.get $5 - i32.const 15712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 54 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15744 - i32.store $0 offset=8 - i32.const 15744 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15776 - i32.store $0 offset=4 - local.get $5 - i32.const 15776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 55 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15808 - i32.store $0 offset=8 - i32.const 15808 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15840 - i32.store $0 offset=4 - local.get $5 - i32.const 15840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 56 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15872 - i32.store $0 offset=8 - i32.const 15872 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15904 - i32.store $0 offset=4 - local.get $5 - i32.const 15904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 59 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15936 - i32.store $0 offset=8 - i32.const 15936 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15968 - i32.store $0 offset=4 - local.get $5 - i32.const 15968 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 60 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16000 - i32.store $0 offset=8 - i32.const 16000 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16032 - i32.store $0 offset=4 - local.get $5 - i32.const 16032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 61 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16064 - i32.store $0 offset=8 - i32.const 16064 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16096 - i32.store $0 offset=4 - local.get $5 - i32.const 16096 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 62 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16128 - i32.store $0 offset=8 - i32.const 16128 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16160 - i32.store $0 offset=4 - local.get $5 - i32.const 16160 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 63 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16192 - i32.store $0 offset=8 - i32.const 16192 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16224 - i32.store $0 offset=4 - local.get $5 - i32.const 16224 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 64 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16256 - i32.store $0 offset=8 - i32.const 16256 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16288 - i32.store $0 offset=4 - local.get $5 - i32.const 16288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 65 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.store $0 offset=8 - i32.const 16320 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16352 - i32.store $0 offset=4 - local.get $5 - i32.const 16352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 66 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16384 - i32.store $0 offset=8 - i32.const 16384 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16416 - i32.store $0 offset=4 - local.get $5 - i32.const 16416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 67 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16448 - i32.store $0 offset=8 - i32.const 16448 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16480 - i32.store $0 offset=4 - local.get $5 - i32.const 16480 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 68 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16512 - i32.store $0 offset=8 - i32.const 16512 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16544 - i32.store $0 offset=4 - local.get $5 - i32.const 16544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 69 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16576 - i32.store $0 offset=8 - i32.const 16576 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16608 - i32.store $0 offset=4 - local.get $5 - i32.const 16608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 70 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16640 - i32.store $0 offset=8 - i32.const 16640 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16672 - i32.store $0 offset=4 - local.get $5 - i32.const 16672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 72 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16704 - i32.store $0 offset=8 - i32.const 16704 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16736 - i32.store $0 offset=4 - local.get $5 - i32.const 16736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 73 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16768 - i32.store $0 offset=8 - i32.const 16768 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16800 - i32.store $0 offset=4 - local.get $5 - i32.const 16800 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 74 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16832 - i32.store $0 offset=8 - i32.const 16832 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16864 - i32.store $0 offset=4 - local.get $5 - i32.const 16864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 75 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16896 - i32.store $0 offset=8 - i32.const 16896 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16928 - i32.store $0 offset=4 - local.get $5 - i32.const 16928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 78 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16960 - i32.store $0 offset=8 - i32.const 16960 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16992 - i32.store $0 offset=4 - local.get $5 - i32.const 16992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 79 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17024 - i32.store $0 offset=8 - i32.const 17024 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17056 - i32.store $0 offset=4 - local.get $5 - i32.const 17056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 80 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17088 - i32.store $0 offset=8 - i32.const 17088 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17120 - i32.store $0 offset=4 - local.get $5 - i32.const 17120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 81 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17152 - i32.store $0 offset=8 - i32.const 17152 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17184 - i32.store $0 offset=4 - local.get $5 - i32.const 17184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 82 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17216 - i32.store $0 offset=8 - i32.const 17216 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17248 - i32.store $0 offset=4 - local.get $5 - i32.const 17248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 83 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17280 - i32.store $0 offset=8 - i32.const 17280 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 16352 - i32.store $0 offset=4 - local.get $5 - i32.const 16352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 84 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17312 - i32.store $0 offset=8 - i32.const 17312 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17344 - i32.store $0 offset=4 - local.get $5 - i32.const 17344 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 85 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17376 - i32.store $0 offset=8 - i32.const 17376 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17408 - i32.store $0 offset=4 - local.get $5 - i32.const 17408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 86 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17440 - i32.store $0 offset=8 - i32.const 17440 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17472 - i32.store $0 offset=4 - local.get $5 - i32.const 17472 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 87 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17504 - i32.store $0 offset=8 - i32.const 17504 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17536 - i32.store $0 offset=4 - local.get $5 - i32.const 17536 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 88 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17568 - i32.store $0 offset=8 - i32.const 17568 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17600 - i32.store $0 offset=4 - local.get $5 - i32.const 17600 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 89 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17632 - i32.store $0 offset=8 - i32.const 17632 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17664 - i32.store $0 offset=4 - local.get $5 - i32.const 17664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 90 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17696 - i32.store $0 offset=8 - i32.const 17696 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17728 - i32.store $0 offset=4 - local.get $5 - i32.const 17728 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 91 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17760 - i32.store $0 offset=8 - i32.const 17760 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17792 - i32.store $0 offset=4 - local.get $5 - i32.const 17792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 92 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17824 - i32.store $0 offset=8 - i32.const 17824 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17856 - i32.store $0 offset=4 - local.get $5 - i32.const 17856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 93 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17888 - i32.store $0 offset=8 - i32.const 17888 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17920 - i32.store $0 offset=4 - local.get $5 - i32.const 17920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 94 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 17952 - i32.store $0 offset=8 - i32.const 17952 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 17984 - i32.store $0 offset=4 - local.get $5 - i32.const 17984 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18016 - i32.store $0 offset=8 - i32.const 18016 - call $~lib/string/String#toLowerCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18048 - i32.store $0 offset=4 - local.get $5 - i32.const 18048 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 96 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18080 - i32.store $0 offset=8 - i32.const 18080 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18112 - i32.store $0 offset=4 - local.get $5 - i32.const 18112 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 99 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 15328 - i32.store $0 offset=8 - i32.const 15328 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18144 - i32.store $0 offset=4 - local.get $5 - i32.const 18144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 100 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18176 - i32.store $0 offset=8 - i32.const 18176 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18208 - i32.store $0 offset=4 - local.get $5 - i32.const 18208 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 101 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18240 - i32.store $0 offset=8 - i32.const 18240 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18272 - i32.store $0 offset=4 - local.get $5 - i32.const 18272 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 102 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18304 - i32.store $0 offset=8 - i32.const 18304 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18336 - i32.store $0 offset=4 - local.get $5 - i32.const 18336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 103 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18368 - i32.store $0 offset=8 - i32.const 18368 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18400 - i32.store $0 offset=4 - local.get $5 - i32.const 18400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 104 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18432 - i32.store $0 offset=8 - i32.const 18432 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18400 - i32.store $0 offset=4 - local.get $5 - i32.const 18400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 105 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18464 - i32.store $0 offset=8 - i32.const 18464 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18496 - i32.store $0 offset=4 - local.get $5 - i32.const 18496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 106 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18528 - i32.store $0 offset=8 - i32.const 18528 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18560 - i32.store $0 offset=4 - local.get $5 - i32.const 18560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18592 - i32.store $0 offset=8 - i32.const 18592 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18624 - i32.store $0 offset=4 - local.get $5 - i32.const 18624 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18656 - i32.store $0 offset=8 - i32.const 18656 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18688 - i32.store $0 offset=4 - local.get $5 - i32.const 18688 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 109 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18720 - i32.store $0 offset=8 - i32.const 18720 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18752 - i32.store $0 offset=4 - local.get $5 - i32.const 18752 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 110 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 18784 - i32.store $0 offset=8 - i32.const 18784 - call $~lib/string/String#toUpperCase - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 18816 - i32.store $0 offset=4 - local.get $5 - i32.const 18816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 7024 - i32.const 111 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $4 - i32.const 1114111 - i32.le_s - if - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/string/String.fromCodePoint - local.tee $5 - i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - local.get $5 - call $~lib/string/String#toLowerCase - local.tee $6 - i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - local.get $5 - call $~lib/string/String#toUpperCase - local.tee $5 - i32.store $0 offset=24 - block $__inlined_func$~lib/string/String#codePointAt (result i32) - i32.const -1 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.eqz - br_if $__inlined_func$~lib/string/String#codePointAt - drop - local.get $7 - i32.const 1 - i32.eq - local.get $6 - i32.load16_u $0 - local.tee $7 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $7 - br $__inlined_func$~lib/string/String#codePointAt - end - local.get $7 - local.get $6 - i32.load16_u $0 offset=2 - local.tee $8 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt - drop - local.get $7 - i32.const 10 - i32.shl - local.get $8 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.set $0 - block $__inlined_func$~lib/string/String#codePointAt0 (result i32) - i32.const -1 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 1 - i32.le_u - br_if $__inlined_func$~lib/string/String#codePointAt0 - drop - local.get $7 - i32.const 2 - i32.eq - local.get $6 - i32.load16_u $0 offset=2 - local.tee $7 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $7 - br $__inlined_func$~lib/string/String#codePointAt0 - end - local.get $7 - local.get $6 - i32.load16_u $0 offset=4 - local.tee $8 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt0 - drop - local.get $7 - i32.const 10 - i32.shl - local.get $8 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.tee $1 - i64.const 0 - i64.ge_s - if - local.get $0 - local.get $1 - i64.const 16 - i64.shl - i64.add - local.set $0 - end - block $__inlined_func$~lib/string/String#codePointAt1 (result i32) - i32.const -1 - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 2 - i32.le_u - br_if $__inlined_func$~lib/string/String#codePointAt1 - drop - local.get $7 - i32.const 3 - i32.eq - local.get $6 - i32.load16_u $0 offset=4 - local.tee $7 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $7 - br $__inlined_func$~lib/string/String#codePointAt1 - end - local.get $7 - local.get $6 - i32.load16_u $0 offset=6 - local.tee $6 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt1 - drop - local.get $7 - i32.const 10 - i32.shl - local.get $6 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.tee $1 - i64.const 0 - i64.ge_s - if (result i64) - local.get $0 - local.get $1 - i64.const 32 - i64.shl - i64.add - else - local.get $0 - end - local.set $1 - block $__inlined_func$~lib/string/String#codePointAt2 (result i32) - i32.const -1 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.eqz - br_if $__inlined_func$~lib/string/String#codePointAt2 - drop - local.get $6 - i32.const 1 - i32.eq - local.get $5 - i32.load16_u $0 - local.tee $6 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $6 - br $__inlined_func$~lib/string/String#codePointAt2 - end - local.get $6 - local.get $5 - i32.load16_u $0 offset=2 - local.tee $7 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt2 - drop - local.get $6 - i32.const 10 - i32.shl - local.get $7 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.set $0 - block $__inlined_func$~lib/string/String#codePointAt3 (result i32) - i32.const -1 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 1 - i32.le_u - br_if $__inlined_func$~lib/string/String#codePointAt3 - drop - local.get $6 - i32.const 2 - i32.eq - local.get $5 - i32.load16_u $0 offset=2 - local.tee $6 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $6 - br $__inlined_func$~lib/string/String#codePointAt3 - end - local.get $6 - local.get $5 - i32.load16_u $0 offset=4 - local.tee $7 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt3 - drop - local.get $6 - i32.const 10 - i32.shl - local.get $7 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.tee $2 - i64.const 0 - i64.ge_s - if - local.get $0 - local.get $2 - i64.const 16 - i64.shl - i64.add - local.set $0 - end - block $__inlined_func$~lib/string/String#codePointAt4 (result i32) - i32.const -1 - local.get $5 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 2 - i32.le_u - br_if $__inlined_func$~lib/string/String#codePointAt4 - drop - local.get $6 - i32.const 3 - i32.eq - local.get $5 - i32.load16_u $0 offset=4 - local.tee $6 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - if - local.get $6 - br $__inlined_func$~lib/string/String#codePointAt4 - end - local.get $6 - local.get $5 - i32.load16_u $0 offset=6 - local.tee $5 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt4 - drop - local.get $6 - i32.const 10 - i32.shl - local.get $5 - i32.add - i32.const 56613888 - i32.sub - end - i64.extend_i32_s - local.tee $2 - i64.const 0 - i64.ge_s - if (result i64) - local.get $0 - local.get $2 - i64.const 32 - i64.shl - i64.add - else - local.get $0 - end - local.set $2 - local.get $4 - i32.const 0 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.set $0 - local.get $4 - i32.const 1 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.tee $3 - i64.const 0 - i64.ge_s - if - local.get $0 - local.get $3 - i64.const 16 - i64.shl - i64.add - local.set $0 - end - local.get $4 - i32.const 2 - call $std/string-casemapping/toLowerCaseFromIndex - i64.extend_i32_s - local.tee $3 - i64.const 0 - i64.ge_s - if (result i64) - local.get $0 - local.get $3 - i64.const 32 - i64.shl - i64.add - else - local.get $0 - end - local.set $3 - local.get $4 - i32.const 0 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.set $0 - local.get $4 - i32.const 1 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.tee $9 - i64.const 0 - i64.ge_s - if - local.get $0 - local.get $9 - i64.const 16 - i64.shl - i64.add - local.set $0 - end - local.get $4 - i32.const 2 - call $std/string-casemapping/toUpperCaseFromIndex - i64.extend_i32_s - local.tee $9 - i64.const 0 - i64.ge_s - if - local.get $0 - local.get $9 - i64.const 32 - i64.shl - i64.add - local.set $0 - end - local.get $1 - local.get $3 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 18848 - i32.store $0 - i32.const 18848 - i32.const 1 - local.get $4 - 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 18944 - i32.store $0 offset=4 - local.get $1 - call $~lib/util/number/itoa64 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - i32.const 18944 - local.get $5 - call $~lib/string/String.__concat - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - 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 20784 - i32.store $0 offset=4 - local.get $3 - call $~lib/util/number/itoa64 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - i32.const 20784 - local.get $5 - call $~lib/string/String.__concat - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - 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 $0 - local.get $2 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 20848 - i32.store $0 - i32.const 20848 - i32.const 1 - local.get $4 - 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 20944 - i32.store $0 offset=4 - local.get $2 - call $~lib/util/number/itoa64 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - i32.const 20944 - local.get $5 - call $~lib/string/String.__concat - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - 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 21008 - i32.store $0 offset=4 - local.get $0 - call $~lib/util/number/itoa64 - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=8 - i32.const 21008 - local.get $5 - call $~lib/string/String.__concat - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 - 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 $4 - i32.const 1 - i32.add - local.set $4 - 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 (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 21080 - i32.lt_s - if - i32.const 53872 - i32.const 53920 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 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 2 - call $~lib/rt/itcms/__new - local.tee $9 - i32.store $0 loop $for-loop|0 local.get $2 local.get $8 @@ -5934,39 +3318,2596 @@ end end else - local.get $9 - local.get $10 + local.get $9 + local.get $10 + i32.const 1 + i32.shl + i32.add + local.get $4 + i32.const 7084 + i32.add + i32.load8_u $0 + i32.store16 $0 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + local.get $10 + i32.const 1 + i32.add + local.set $10 + br $for-loop|0 + end + end + local.get $9 + local.get $10 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 21080 + i32.lt_s + if + i32.const 53872 + i32.const 53920 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $2 + local.get $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 + return + end + block $folding-inner0 + local.get $1 + i32.const 1 + i32.add + local.get $2 + i32.eq + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.tee $2 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + i32.or + br_if $folding-inner0 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 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 $2 + i32.const 10 + i32.shl + local.get $0 + 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 (type $i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 21080 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 21080 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + local.tee $2 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + block $__inlined_func$~lib/string/String#concat + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $3 + local.get $4 + 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.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + local.get $4 + memory.copy $0 $0 + local.get $0 + local.get $4 + i32.add + local.get $1 + local.get $3 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + 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 $0 + return + end + i32.const 53872 + i32.const 53920 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $start:std/string-casemapping (type $none_=>_none) + (local $0 i64) + (local $1 i64) + (local $2 i64) + (local $3 i64) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) + global.get $~lib/memory/__stack_pointer + i32.const 28 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 21080 + i32.lt_s + if + i32.const 53872 + i32.const 53920 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.const 28 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 53848 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1204 + i32.const 1200 + i32.store $0 + i32.const 1208 + i32.const 1200 + i32.store $0 + i32.const 1200 + global.set $~lib/rt/itcms/pinSpace + i32.const 1236 + i32.const 1232 + i32.store $0 + i32.const 1240 + i32.const 1232 + i32.store $0 + i32.const 1232 + global.set $~lib/rt/itcms/toSpace + i32.const 1380 + i32.const 1376 + i32.store $0 + i32.const 1384 + i32.const 1376 + i32.store $0 + i32.const 1376 + global.set $~lib/rt/itcms/fromSpace + local.get $5 + i32.const 1056 + i32.store $0 offset=8 + i32.const 1056 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + local.get $5 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 8 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=8 + i32.const 1056 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + local.get $5 + i32.const 1056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 9 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11808 + i32.store $0 offset=8 + i32.const 11808 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 11856 + i32.store $0 offset=4 + local.get $5 + i32.const 11856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11904 + i32.store $0 offset=8 + i32.const 11904 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 11952 + i32.store $0 offset=4 + local.get $5 + i32.const 11952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12000 + i32.store $0 offset=8 + i32.const 12000 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12096 + i32.store $0 offset=4 + local.get $5 + i32.const 12096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 12 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12096 + i32.store $0 offset=8 + i32.const 12096 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12192 + i32.store $0 offset=4 + local.get $5 + i32.const 12192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 13 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12288 + i32.store $0 offset=8 + i32.const 12288 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12352 + i32.store $0 offset=4 + local.get $5 + i32.const 12352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12352 + i32.store $0 offset=8 + i32.const 12352 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12416 + i32.store $0 offset=4 + local.get $5 + i32.const 12416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12480 + i32.store $0 offset=8 + i32.const 12480 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12576 + i32.store $0 offset=4 + local.get $5 + i32.const 12576 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12576 + i32.store $0 offset=8 + i32.const 12576 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12672 + i32.store $0 offset=4 + local.get $5 + i32.const 12672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 17 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12768 + i32.store $0 offset=8 + i32.const 12768 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12864 + i32.store $0 offset=4 + local.get $5 + i32.const 12864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12864 + i32.store $0 offset=8 + i32.const 12864 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 12960 + i32.store $0 offset=4 + local.get $5 + i32.const 12960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13056 + i32.store $0 offset=8 + i32.const 13056 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13136 + i32.store $0 offset=4 + local.get $5 + i32.const 13136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 20 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13216 + i32.store $0 offset=8 + i32.const 13216 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13296 + i32.store $0 offset=4 + local.get $5 + i32.const 13296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13376 + i32.store $0 offset=8 + i32.const 13376 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13440 + i32.store $0 offset=4 + local.get $5 + i32.const 13440 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13504 + i32.store $0 offset=8 + i32.const 13504 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13584 + i32.store $0 offset=4 + local.get $5 + i32.const 13584 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13664 + i32.store $0 offset=8 + i32.const 13664 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13744 + i32.store $0 offset=4 + local.get $5 + i32.const 13744 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 24 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13824 + i32.store $0 offset=8 + i32.const 13824 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13888 + i32.store $0 offset=4 + local.get $5 + i32.const 13888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13952 + i32.store $0 offset=8 + i32.const 13952 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14032 + i32.store $0 offset=4 + local.get $5 + i32.const 14032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14112 + i32.store $0 offset=8 + i32.const 14112 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14192 + i32.store $0 offset=4 + local.get $5 + i32.const 14192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 27 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14272 + i32.store $0 offset=8 + i32.const 14272 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14432 + i32.store $0 offset=4 + local.get $5 + i32.const 14432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14272 + i32.store $0 offset=8 + i32.const 14272 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14592 + i32.store $0 offset=4 + local.get $5 + i32.const 14592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14752 + i32.store $0 offset=8 + i32.const 14752 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14784 + i32.store $0 offset=4 + local.get $5 + i32.const 14784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 36 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14816 + i32.store $0 offset=8 + i32.const 14816 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14848 + i32.store $0 offset=4 + local.get $5 + i32.const 14848 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 37 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14880 + i32.store $0 offset=8 + i32.const 14880 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15088 + i32.store $0 offset=4 + local.get $5 + i32.const 15088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 38 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 14752 + i32.store $0 offset=12 + i32.const 14752 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $5 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15328 + i32.store $0 offset=12 + i32.const 15328 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15360 + i32.store $0 offset=4 + local.get $5 + i32.const 15360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15392 + i32.store $0 offset=12 + i32.const 15392 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15392 + i32.store $0 offset=4 + local.get $5 + i32.const 15392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 44 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 65536 + call $~lib/string/String.fromCodePoint + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15648 + i32.store $0 offset=4 + local.get $5 + i32.const 15648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 50 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 65536 + call $~lib/string/String.fromCodePoint + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15648 + i32.store $0 offset=4 + local.get $5 + i32.const 15648 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15680 + i32.store $0 offset=8 + i32.const 15680 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15712 + i32.store $0 offset=4 + local.get $5 + i32.const 15712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15744 + i32.store $0 offset=8 + i32.const 15744 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15776 + i32.store $0 offset=4 + local.get $5 + i32.const 15776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 55 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15808 + i32.store $0 offset=8 + i32.const 15808 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15840 + i32.store $0 offset=4 + local.get $5 + i32.const 15840 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 56 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15872 + i32.store $0 offset=8 + i32.const 15872 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15904 + i32.store $0 offset=4 + local.get $5 + i32.const 15904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 59 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15936 + i32.store $0 offset=8 + i32.const 15936 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15968 + i32.store $0 offset=4 + local.get $5 + i32.const 15968 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 60 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16000 + i32.store $0 offset=8 + i32.const 16000 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16032 + i32.store $0 offset=4 + local.get $5 + i32.const 16032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 61 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16064 + i32.store $0 offset=8 + i32.const 16064 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16096 + i32.store $0 offset=4 + local.get $5 + i32.const 16096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 62 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16128 + i32.store $0 offset=8 + i32.const 16128 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16160 + i32.store $0 offset=4 + local.get $5 + i32.const 16160 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 63 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16192 + i32.store $0 offset=8 + i32.const 16192 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16224 + i32.store $0 offset=4 + local.get $5 + i32.const 16224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 64 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16256 + i32.store $0 offset=8 + i32.const 16256 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16288 + i32.store $0 offset=4 + local.get $5 + i32.const 16288 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 65 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.store $0 offset=8 + i32.const 16320 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16352 + i32.store $0 offset=4 + local.get $5 + i32.const 16352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 66 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16384 + i32.store $0 offset=8 + i32.const 16384 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16416 + i32.store $0 offset=4 + local.get $5 + i32.const 16416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 67 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16448 + i32.store $0 offset=8 + i32.const 16448 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16480 + i32.store $0 offset=4 + local.get $5 + i32.const 16480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 68 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16512 + i32.store $0 offset=8 + i32.const 16512 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16544 + i32.store $0 offset=4 + local.get $5 + i32.const 16544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 69 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16576 + i32.store $0 offset=8 + i32.const 16576 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16608 + i32.store $0 offset=4 + local.get $5 + i32.const 16608 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 70 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16640 + i32.store $0 offset=8 + i32.const 16640 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16672 + i32.store $0 offset=4 + local.get $5 + i32.const 16672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 72 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16704 + i32.store $0 offset=8 + i32.const 16704 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16736 + i32.store $0 offset=4 + local.get $5 + i32.const 16736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 73 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16768 + i32.store $0 offset=8 + i32.const 16768 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16800 + i32.store $0 offset=4 + local.get $5 + i32.const 16800 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 74 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16832 + i32.store $0 offset=8 + i32.const 16832 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16864 + i32.store $0 offset=4 + local.get $5 + i32.const 16864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 75 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16896 + i32.store $0 offset=8 + i32.const 16896 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16928 + i32.store $0 offset=4 + local.get $5 + i32.const 16928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 78 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 16960 + i32.store $0 offset=8 + i32.const 16960 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16992 + i32.store $0 offset=4 + local.get $5 + i32.const 16992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 79 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17024 + i32.store $0 offset=8 + i32.const 17024 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17056 + i32.store $0 offset=4 + local.get $5 + i32.const 17056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 80 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17088 + i32.store $0 offset=8 + i32.const 17088 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17120 + i32.store $0 offset=4 + local.get $5 + i32.const 17120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 81 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17152 + i32.store $0 offset=8 + i32.const 17152 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17184 + i32.store $0 offset=4 + local.get $5 + i32.const 17184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 82 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17216 + i32.store $0 offset=8 + i32.const 17216 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17248 + i32.store $0 offset=4 + local.get $5 + i32.const 17248 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 83 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17280 + i32.store $0 offset=8 + i32.const 17280 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 16352 + i32.store $0 offset=4 + local.get $5 + i32.const 16352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 84 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17312 + i32.store $0 offset=8 + i32.const 17312 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17344 + i32.store $0 offset=4 + local.get $5 + i32.const 17344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 85 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17376 + i32.store $0 offset=8 + i32.const 17376 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17408 + i32.store $0 offset=4 + local.get $5 + i32.const 17408 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 86 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17440 + i32.store $0 offset=8 + i32.const 17440 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17472 + i32.store $0 offset=4 + local.get $5 + i32.const 17472 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 87 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17504 + i32.store $0 offset=8 + i32.const 17504 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17536 + i32.store $0 offset=4 + local.get $5 + i32.const 17536 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 88 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17568 + i32.store $0 offset=8 + i32.const 17568 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17600 + i32.store $0 offset=4 + local.get $5 + i32.const 17600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 89 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17632 + i32.store $0 offset=8 + i32.const 17632 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17664 + i32.store $0 offset=4 + local.get $5 + i32.const 17664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 90 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17696 + i32.store $0 offset=8 + i32.const 17696 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17728 + i32.store $0 offset=4 + local.get $5 + i32.const 17728 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 91 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17760 + i32.store $0 offset=8 + i32.const 17760 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17792 + i32.store $0 offset=4 + local.get $5 + i32.const 17792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 92 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17824 + i32.store $0 offset=8 + i32.const 17824 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17856 + i32.store $0 offset=4 + local.get $5 + i32.const 17856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 93 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17888 + i32.store $0 offset=8 + i32.const 17888 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17920 + i32.store $0 offset=4 + local.get $5 + i32.const 17920 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 94 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 17952 + i32.store $0 offset=8 + i32.const 17952 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 17984 + i32.store $0 offset=4 + local.get $5 + i32.const 17984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 95 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18016 + i32.store $0 offset=8 + i32.const 18016 + call $~lib/string/String#toLowerCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18048 + i32.store $0 offset=4 + local.get $5 + i32.const 18048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 96 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18080 + i32.store $0 offset=8 + i32.const 18080 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18112 + i32.store $0 offset=4 + local.get $5 + i32.const 18112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 99 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 15328 + i32.store $0 offset=8 + i32.const 15328 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18144 + i32.store $0 offset=4 + local.get $5 + i32.const 18144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 100 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18176 + i32.store $0 offset=8 + i32.const 18176 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18208 + i32.store $0 offset=4 + local.get $5 + i32.const 18208 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 101 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18240 + i32.store $0 offset=8 + i32.const 18240 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18272 + i32.store $0 offset=4 + local.get $5 + i32.const 18272 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 102 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18304 + i32.store $0 offset=8 + i32.const 18304 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18336 + i32.store $0 offset=4 + local.get $5 + i32.const 18336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 103 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18368 + i32.store $0 offset=8 + i32.const 18368 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18400 + i32.store $0 offset=4 + local.get $5 + i32.const 18400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 104 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18432 + i32.store $0 offset=8 + i32.const 18432 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18400 + i32.store $0 offset=4 + local.get $5 + i32.const 18400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 105 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18464 + i32.store $0 offset=8 + i32.const 18464 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18496 + i32.store $0 offset=4 + local.get $5 + i32.const 18496 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18528 + i32.store $0 offset=8 + i32.const 18528 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18560 + i32.store $0 offset=4 + local.get $5 + i32.const 18560 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18592 + i32.store $0 offset=8 + i32.const 18592 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18624 + i32.store $0 offset=4 + local.get $5 + i32.const 18624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 108 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18656 + i32.store $0 offset=8 + i32.const 18656 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18688 + i32.store $0 offset=4 + local.get $5 + i32.const 18688 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 109 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18720 + i32.store $0 offset=8 + i32.const 18720 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18752 + i32.store $0 offset=4 + local.get $5 + i32.const 18752 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 110 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 18784 + i32.store $0 offset=8 + i32.const 18784 + call $~lib/string/String#toUpperCase + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 18816 + i32.store $0 offset=4 + local.get $5 + i32.const 18816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 7024 + i32.const 111 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $4 + i32.const 1114111 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + call $~lib/string/String.fromCodePoint + local.tee $5 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/string/String#toLowerCase + local.tee $6 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/string/String#toUpperCase + local.tee $5 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 0 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 1 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $1 + i64.const 0 + i64.ge_s + if + local.get $0 + local.get $1 + i64.const 16 + i64.shl + i64.add + local.set $0 + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 2 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $1 + i64.const 0 + i64.ge_s + if (result i64) + local.get $0 + local.get $1 + i64.const 32 + i64.shl + i64.add + else + local.get $0 + end + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + i32.const 0 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + i32.const 1 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $2 + i64.const 0 + i64.ge_s + if + local.get $0 + local.get $2 + i64.const 16 + i64.shl + i64.add + local.set $0 + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + i32.const 2 + call $~lib/string/String#codePointAt + i64.extend_i32_s + local.tee $2 + i64.const 0 + i64.ge_s + if (result i64) + local.get $0 + local.get $2 + i64.const 32 + i64.shl + i64.add + else + local.get $0 + end + local.set $2 + local.get $4 + i32.const 0 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.set $0 + local.get $4 + i32.const 1 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.tee $3 + i64.const 0 + i64.ge_s + if + local.get $0 + local.get $3 + i64.const 16 + i64.shl + i64.add + local.set $0 + end + local.get $4 + i32.const 2 + call $std/string-casemapping/toLowerCaseFromIndex + i64.extend_i32_s + local.tee $3 + i64.const 0 + i64.ge_s + if (result i64) + local.get $0 + local.get $3 + i64.const 32 + i64.shl + i64.add + else + local.get $0 + end + local.set $3 + local.get $4 + i32.const 0 + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.set $0 + local.get $4 + i32.const 1 + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.tee $7 + i64.const 0 + i64.ge_s + if + local.get $0 + local.get $7 + i64.const 16 + i64.shl + i64.add + local.set $0 + end + local.get $4 + i32.const 2 + call $std/string-casemapping/toUpperCaseFromIndex + i64.extend_i32_s + local.tee $7 + i64.const 0 + i64.ge_s + if + local.get $0 + local.get $7 + i64.const 32 + i64.shl + i64.add + local.set $0 + end + local.get $1 + local.get $3 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 18848 + i32.store $0 + i32.const 18848 i32.const 1 - i32.shl - i32.add local.get $4 - i32.const 7084 - i32.add - i32.load8_u $0 - i32.store16 $0 + 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 18944 + i32.store $0 offset=4 + local.get $1 + call $~lib/util/number/itoa64 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + i32.const 18944 + local.get $5 + call $~lib/string/String.__concat + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 20784 + i32.store $0 offset=4 + local.get $3 + call $~lib/util/number/itoa64 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + i32.const 20784 + local.get $5 + call $~lib/string/String.__concat + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 $0 local.get $2 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 20848 + i32.store $0 + i32.const 20848 + i32.const 1 + local.get $4 + 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 20944 + i32.store $0 offset=4 + local.get $2 + call $~lib/util/number/itoa64 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + i32.const 20944 + local.get $5 + call $~lib/string/String.__concat + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 21008 + i32.store $0 offset=4 + local.get $0 + call $~lib/util/number/itoa64 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + i32.const 21008 + local.get $5 + call $~lib/string/String.__concat + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + 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 $4 i32.const 1 i32.add - local.set $2 - local.get $10 - i32.const 1 - i32.add - local.set $10 + local.set $4 br $for-loop|0 end end - local.get $9 - local.get $10 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) diff --git a/tests/compiler/std/string-encoding.debug.wat b/tests/compiler/std/string-encoding.debug.wat index 0e09cecec0..f91e6c7c87 100644 --- a/tests/compiler/std/string-encoding.debug.wat +++ b/tests/compiler/std/string-encoding.debug.wat @@ -2296,13 +2296,6 @@ call $~lib/rt/common/OBJECT#get:rtSize return ) - (func $~lib/string/String.UTF16.decode (type $i32_=>_i32) (param $buf i32) (result i32) - local.get $buf - local.get $buf - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - call $~lib/string/String.UTF16.decodeUnsafe - return - ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) (local $ptr2 i32) @@ -2407,49 +2400,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/string/String.UTF8.byteLength (type $i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (result i32) (local $strOff i32) (local $strEnd i32) @@ -2805,29 +2755,6 @@ i32.sub return ) - (func $~lib/string/String.UTF8.encode@varargs (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode 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 $nullTerminated - end - i32.const 0 - local.set $errorMode - end - local.get $str - local.get $nullTerminated - local.get $errorMode - call $~lib/string/String.UTF8.encode - ) (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=16 @@ -2878,14 +2805,6 @@ local.get $newPtr return ) - (func $~lib/string/String.UTF8.decode (type $i32_i32_=>_i32) (param $buf i32) (param $nullTerminated i32) (result i32) - local.get $buf - local.get $buf - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.get $nullTerminated - call $~lib/string/String.UTF8.decodeUnsafe - return - ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 drop @@ -3042,6 +2961,49 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF16.encode (type $i32_=>_i32) (param $str i32) (result i32) + (local $buf 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $str + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/string/String.UTF16.byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $str + local.get $str + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/string/String#get:length + local.get $buf + call $~lib/string/String.UTF16.encodeUnsafe + drop + local.get $buf + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) (func $std/string-encoding/testUTF16Encode (type $none_=>_none) (local $buf i32) (local $ptr i32) @@ -3067,6 +3029,11 @@ local.get $buf local.set $ptr local.get $buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 12 i32.eq @@ -3240,11 +3207,134 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF16.decode (type $i32_=>_i32) (param $buf 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 $0 + local.get $buf + local.get $buf + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 + return + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) (func $std/string-encoding/testUTF16Decode (type $none_=>_none) (local $buf 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 @@ -3252,8 +3342,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 @@ -3265,6 +3355,11 @@ local.tee $buf i32.store $0 offset=4 local.get $buf + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 call $~lib/string/String.UTF16.decode local.set $1 global.get $~lib/memory/__stack_pointer @@ -3288,7 +3383,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -3562,9 +3657,98 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/string-encoding/testUTF8Encode (type $none_=>_none) + (func $~lib/string/String.UTF8.encode (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) (local $buf i32) - (local $ptr 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 $0 + global.get $~lib/memory/__stack_pointer + local.get $str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $nullTerminated + call $~lib/string/String.UTF8.byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=4 + local.get $str + local.get $str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/string/String#get:length + local.get $buf + local.get $nullTerminated + local.get $errorMode + call $~lib/string/String.UTF8.encodeUnsafe + drop + local.get $buf + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/string/String.UTF8.encode@varargs (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode 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 $0 + 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 $nullTerminated + end + i32.const 0 + local.set $errorMode + end + local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $nullTerminated + local.get $errorMode + call $~lib/string/String.UTF8.encode + 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/string-encoding/testUTF8Encode (type $none_=>_none) + (local $buf i32) + (local $ptr i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 8 @@ -3591,6 +3775,11 @@ local.get $buf local.set $ptr local.get $buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 10 i32.eq @@ -3772,6 +3961,11 @@ local.get $buf local.set $ptr local.get $buf + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 11 i32.eq @@ -3933,6 +4127,11 @@ i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer local.get $str2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 i32.const 1 i32.const 2 global.set $~argumentsLength @@ -3941,8 +4140,18 @@ local.tee $buf2 i32.store $0 offset=12 local.get $buf2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 call $~lib/arraybuffer/ArrayBuffer#get:byteLength local.get $str2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.eq @@ -3960,6 +4169,34 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF8.decode (type $i32_i32_=>_i32) (param $buf i32) (param $nullTerminated 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 $0 + local.get $buf + local.get $buf + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.get $nullTerminated + 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 + return + ) (func $std/string-encoding/testUTF8ErrorMode (type $none_=>_none) (local $str i32) (local $1 i32) @@ -3994,6 +4231,11 @@ local.tee $str i32.store $0 offset=8 local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 880 local.set $1 global.get $~lib/memory/__stack_pointer @@ -4030,6 +4272,11 @@ local.tee $str i32.store $0 offset=8 local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 912 local.set $1 global.get $~lib/memory/__stack_pointer @@ -4066,6 +4313,11 @@ local.tee $str i32.store $0 offset=8 local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 944 local.set $1 global.get $~lib/memory/__stack_pointer @@ -4102,6 +4354,11 @@ local.tee $str i32.store $0 offset=8 local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 i32.const 912 local.set $1 global.get $~lib/memory/__stack_pointer @@ -4127,7 +4384,7 @@ (local $buf 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 @@ -4135,8 +4392,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str local.set $1 @@ -4152,6 +4409,11 @@ local.tee $buf i32.store $0 offset=4 local.get $buf + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 i32.const 0 call $~lib/string/String.UTF8.decode local.set $1 @@ -4176,7 +4438,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4188,13 +4450,13 @@ (local $buf3 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 28 + i32.const 32 memory.fill $0 global.get $~lib/memory/__stack_pointer global.get $std/string-encoding/str @@ -4211,6 +4473,11 @@ local.tee $buf i32.store $0 offset=4 local.get $buf + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -4237,8 +4504,13 @@ global.get $~lib/memory/__stack_pointer i32.const 976 local.tee $str2 - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $str2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -4254,14 +4526,24 @@ end global.get $~lib/memory/__stack_pointer local.get $str2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 i32.const 1 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf2 - i32.store $0 offset=16 + i32.store $0 offset=20 local.get $buf2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/arraybuffer/ArrayBuffer#get:byteLength i32.const 4 i32.eq @@ -4277,8 +4559,13 @@ global.get $~lib/memory/__stack_pointer i32.const 1024 local.tee $str3 - i32.store $0 offset=20 + i32.store $0 offset=24 local.get $str3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 i32.const 1 call $~lib/string/String.UTF8.byteLength i32.const 4 @@ -4293,6 +4580,11 @@ unreachable end local.get $buf2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -4301,6 +4593,11 @@ i32.store $0 local.get $5 local.get $str3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 call $~lib/string/String.__eq i32.eqz if @@ -4313,14 +4610,24 @@ end global.get $~lib/memory/__stack_pointer local.get $str2 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 i32.const 0 i32.const 2 global.set $~argumentsLength i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf3 - i32.store $0 offset=24 + i32.store $0 offset=28 local.get $buf3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 i32.const 1 call $~lib/string/String.UTF8.decode local.set $5 @@ -4329,6 +4636,11 @@ i32.store $0 local.get $5 local.get $str3 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $5 call $~lib/string/String.__eq i32.eqz if @@ -4340,7 +4652,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4632,34 +4944,47 @@ (local $buf16 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 global.get $~lib/memory/__stack_pointer local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 i32.const 1 global.set $~argumentsLength i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $buf8 - i32.store $0 + i32.store $0 offset=4 local.get $buf8 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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 $0 offset=4 + i32.store $0 local.get $3 local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4672,17 +4997,32 @@ end global.get $~lib/memory/__stack_pointer local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/string/String.UTF16.encode local.tee $buf16 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $buf16 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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 $0 offset=4 + i32.store $0 local.get $3 local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 call $~lib/string/String.__eq i32.eqz if @@ -4694,7 +5034,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4756,39 +5096,6 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/string/String.UTF16.encode (type $i32_=>_i32) (param $str i32) (result i32) - (local $buf 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 $0 - global.get $~lib/memory/__stack_pointer - local.get $str - call $~lib/string/String.UTF16.byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 - local.get $str - local.get $str - call $~lib/string/String#get:length - local.get $buf - call $~lib/string/String.UTF16.encodeUnsafe - drop - local.get $buf - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - return - ) (func $~lib/string/String.UTF16.decodeUnsafe (type $i32_i32_=>_i32) (param $buf i32) (param $len i32) (result i32) (local $str i32) (local $3 i32) @@ -4824,42 +5131,6 @@ local.get $3 return ) - (func $~lib/string/String.UTF8.encode (type $i32_i32_i32_=>_i32) (param $str i32) (param $nullTerminated i32) (param $errorMode i32) (result i32) - (local $buf 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 $0 - global.get $~lib/memory/__stack_pointer - local.get $str - local.get $nullTerminated - call $~lib/string/String.UTF8.byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 - local.get $str - local.get $str - call $~lib/string/String#get:length - local.get $buf - local.get $nullTerminated - local.get $errorMode - call $~lib/string/String.UTF8.encodeUnsafe - drop - local.get $buf - 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/string/String.UTF8.decodeUnsafe (type $i32_i32_i32_=>_i32) (param $buf i32) (param $len i32) (param $nullTerminated i32) (result i32) (local $bufOff i32) (local $bufEnd i32) diff --git a/tests/compiler/std/string-encoding.release.wat b/tests/compiler/std/string-encoding.release.wat index 5ad98596a6..b595d8f1c1 100644 --- a/tests/compiler/std/string-encoding.release.wat +++ b/tests/compiler/std/string-encoding.release.wat @@ -1,13 +1,13 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -1541,123 +1541,6 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/string/String.UTF8.byteLength (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) @@ -1748,25 +1631,6 @@ end local.get $2 ) - (func $~lib/string/String.UTF8.encode@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - block $2of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $2of2 $2of2 $outOfRange - end - unreachable - end - i32.const 0 - local.set $1 - end - local.get $0 - local.get $1 - i32.const 0 - call $~lib/string/String.UTF8.encode - ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) block $invalid block $~lib/arraybuffer/ArrayBufferView @@ -1895,6 +1759,9 @@ call $~lib/string/String.UTF16.encode local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -2054,7 +1921,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2066,8 +1933,8 @@ i64.const 0 i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 local.get $0 i32.const 1056 i32.store $0 @@ -2076,12 +1943,11 @@ call $~lib/string/String.UTF16.encode local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=12 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - call $~lib/string/String.UTF16.decodeUnsafe + call $~lib/string/String.UTF16.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2102,7 +1968,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF16DecodeUnsafe @@ -2177,6 +2043,9 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -2344,15 +2213,14 @@ i32.store $0 local.get $0 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.tee $0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1904 i32.store $0 offset=4 local.get $0 @@ -2381,15 +2249,14 @@ i32.store $0 local.get $0 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.tee $0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1936 i32.store $0 offset=4 local.get $0 @@ -2418,15 +2285,14 @@ i32.store $0 local.get $0 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.tee $0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1968 i32.store $0 offset=4 local.get $0 @@ -2455,15 +2321,14 @@ i32.store $0 local.get $0 local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.tee $0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer i32.const 1936 i32.store $0 offset=4 local.get $0 @@ -2483,7 +2348,7 @@ i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2495,8 +2360,8 @@ i64.const 0 i64.store $0 local.get $0 - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 local.get $0 i32.const 1056 i32.store $0 @@ -2508,13 +2373,12 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=12 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2535,11 +2399,11 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 32 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2549,7 +2413,7 @@ global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 28 + i32.const 32 memory.fill $0 local.get $0 i32.const 1056 @@ -2562,13 +2426,12 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=12 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2589,8 +2452,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 2000 - i32.store $0 offset=12 + i32.store $0 offset=16 + local.get $0 + i32.const 2000 + i32.store $0 i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -2604,14 +2471,21 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2000 + i32.store $0 i32.const 2 global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 2000 i32.const 1 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=16 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -2627,8 +2501,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 2048 - i32.store $0 offset=20 + i32.store $0 offset=24 + local.get $1 + i32.const 2048 + i32.store $0 i32.const 2048 i32.const 1 call $~lib/string/String.UTF8.byteLength @@ -2642,17 +2520,19 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=12 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2048 + i32.store $0 offset=8 local.get $0 i32.const 2048 call $~lib/string/String.__eq @@ -2665,25 +2545,31 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2000 + i32.store $0 i32.const 2 global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + local.get $0 i32.const 2000 i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $0 - i32.store $0 offset=24 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=12 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 1 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2048 + i32.store $0 offset=8 local.get $0 i32.const 2048 call $~lib/string/String.__eq @@ -2697,7 +2583,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 28 + i32.const 32 i32.add global.set $~lib/memory/__stack_pointer call $std/string-encoding/testUTF8DecodeUnsafe @@ -2757,12 +2643,10 @@ call $~lib/builtins/abort unreachable ) - (func $std/string-encoding/testUTF16DecodeUnsafe (type $none_=>_none) - (local $0 i32) + (func $~lib/string/String.UTF16.encode (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2777,23 +2661,273 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $1 i64.const 0 i64.store $0 + local.get $1 local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 1056 i32.store $0 + local.get $1 local.get $0 - i32.const 1056 - call $~lib/string/String.UTF16.encode - local.tee $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 1056 - i32.store $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String.UTF16.decode (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + call $~lib/string/String.UTF16.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 1056 + i32.store $0 + local.get $0 + i32.const 1056 + call $~lib/string/String.UTF16.encode + local.tee $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 i32.const 1052 i32.load $0 local.set $1 @@ -2970,10 +3104,14 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/string-encoding/testUTF8EncodeNullTerminated (type $none_=>_none) - (local $0 i32) + (func $~lib/string/String.UTF8.encode (type $i32_i32_i32_=>_i32) (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 16 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -2988,12 +3126,300 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $3 i64.const 0 i64.store $0 + local.get $3 local.get $0 - i64.const 0 - i64.store $0 offset=8 + i32.store $0 + local.get $3 + local.get $0 + local.get $1 + call $~lib/string/String.UTF8.byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $5 + local.set $4 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + i32.add + local.set $6 + block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + loop $while-continue|0 + local.get $0 + local.get $6 + i32.lt_u + if + local.get $0 + i32.load16_u $0 + local.tee $3 + i32.const 128 + i32.lt_u + if + local.get $4 + local.get $3 + i32.store8 $0 + local.get $4 + i32.const 1 + i32.add + local.set $4 + local.get $1 + local.get $3 + i32.eqz + i32.and + br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe + else + local.get $3 + i32.const 2048 + i32.lt_u + if (result i32) + local.get $4 + local.get $3 + i32.const 6 + i32.shr_u + i32.const 192 + i32.or + local.get $3 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + i32.store16 $0 + local.get $4 + i32.const 2 + i32.add + else + local.get $3 + i32.const 63488 + i32.and + i32.const 55296 + i32.eq + if + local.get $3 + i32.const 56320 + i32.lt_u + local.get $0 + i32.const 2 + i32.add + local.get $6 + i32.lt_u + i32.and + if + local.get $0 + i32.load16_u $0 offset=2 + local.tee $7 + i32.const 64512 + i32.and + i32.const 56320 + i32.eq + if + local.get $4 + local.get $3 + i32.const 1023 + i32.and + i32.const 10 + i32.shl + i32.const 65536 + i32.add + local.get $7 + i32.const 1023 + i32.and + i32.or + local.tee $3 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 24 + i32.shl + local.get $3 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 16 + i32.shl + i32.or + local.get $3 + i32.const 12 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + local.get $3 + i32.const 18 + i32.shr_u + i32.const 240 + i32.or + i32.or + i32.store $0 + local.get $4 + i32.const 4 + i32.add + local.set $4 + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + local.get $2 + if + local.get $2 + i32.const 2 + i32.eq + if + i32.const 1712 + i32.const 1776 + i32.const 742 + i32.const 49 + call $~lib/builtins/abort + unreachable + end + i32.const 65533 + local.set $3 + end + end + local.get $4 + local.get $3 + i32.const 12 + i32.shr_u + i32.const 224 + i32.or + local.get $3 + i32.const 6 + i32.shr_u + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.const 8 + i32.shl + i32.or + i32.store16 $0 + local.get $4 + local.get $3 + i32.const 63 + i32.and + i32.const 128 + i32.or + i32.store8 $0 offset=2 + local.get $4 + i32.const 3 + i32.add + end + local.set $4 + end + local.get $0 + i32.const 2 + i32.add + local.set $0 + br $while-continue|0 + end + end + local.get $1 + if + local.get $4 + i32.const 0 + i32.store8 $0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + ) + (func $~lib/string/String.UTF8.encode@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $2of2 $2of2 $outOfRange + end + unreachable + end + i32.const 0 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/string/String.UTF8.encode + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/string-encoding/testUTF8EncodeNullTerminated (type $none_=>_none) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 local.get $0 i32.const 1056 i32.store $0 @@ -3005,6 +3431,9 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub @@ -3153,6 +3582,9 @@ local.tee $0 i32.const 1824 i32.store $0 offset=8 + local.get $0 + i32.const 1824 + i32.store $0 i32.const 2 global.set $~argumentsLength local.get $0 @@ -3161,13 +3593,21 @@ call $~lib/string/String.UTF8.encode@varargs local.tee $0 i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 1824 + i32.store $0 i32.const 1824 i32.const 1 call $~lib/string/String.UTF8.byteLength + local.get $0 i32.ne if i32.const 0 @@ -3182,6 +3622,44 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $~lib/string/String.UTF8.decode (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 22804 + i32.lt_s + if + i32.const 55600 + i32.const 55648 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.get $1 + call $~lib/string/String.UTF8.decodeUnsafe + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $std/string-encoding/testUTF8DecodeUnsafe (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -3461,7 +3939,7 @@ (func $std/string-encoding/testRoundtrip (type $i32_=>_none) (param $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3477,11 +3955,12 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 i32.const 0 - i32.store $0 offset=8 + i32.const 20 + memory.fill $0 + local.get $1 + local.get $0 + i32.store $0 i32.const 1 global.set $~argumentsLength local.get $1 @@ -3489,18 +3968,20 @@ i32.const 0 call $~lib/string/String.UTF8.encode@varargs local.tee $1 - i32.store $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=12 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 i32.const 0 - call $~lib/string/String.UTF8.decodeUnsafe + call $~lib/string/String.UTF8.decode local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $1 local.get $0 call $~lib/string/String.__eq @@ -3514,81 +3995,42 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 local.get $0 call $~lib/string/String.UTF16.encode local.tee $1 - i32.store $0 offset=8 - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - call $~lib/string/String.UTF16.decodeUnsafe - local.set $1 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=12 local.get $1 - local.get $0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1088 - i32.const 155 - 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/string/String.UTF16.encode (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - if - i32.const 55600 - i32.const 55648 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + call $~lib/string/String.UTF16.decode + local.set $1 global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 i32.store $0 - local.get $1 - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1088 + i32.const 155 + 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 - local.get $1 ) (func $~lib/string/String.UTF16.decodeUnsafe (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) @@ -3630,246 +4072,6 @@ global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/string/String.UTF8.encode (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 22804 - i32.lt_s - if - i32.const 55600 - i32.const 55648 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - local.get $0 - local.get $1 - call $~lib/string/String.UTF8.byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 - local.get $5 - local.set $4 - local.get $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - i32.add - local.set $6 - block $__inlined_func$~lib/string/String.UTF8.encodeUnsafe - loop $while-continue|0 - local.get $0 - local.get $6 - i32.lt_u - if - local.get $0 - i32.load16_u $0 - local.tee $3 - i32.const 128 - i32.lt_u - if - local.get $4 - local.get $3 - i32.store8 $0 - local.get $4 - i32.const 1 - i32.add - local.set $4 - local.get $1 - local.get $3 - i32.eqz - i32.and - br_if $__inlined_func$~lib/string/String.UTF8.encodeUnsafe - else - local.get $3 - i32.const 2048 - i32.lt_u - if (result i32) - local.get $4 - local.get $3 - i32.const 6 - i32.shr_u - i32.const 192 - i32.or - local.get $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - i32.store16 $0 - local.get $4 - i32.const 2 - i32.add - else - local.get $3 - i32.const 63488 - i32.and - i32.const 55296 - i32.eq - if - local.get $3 - i32.const 56320 - i32.lt_u - local.get $0 - i32.const 2 - i32.add - local.get $6 - i32.lt_u - i32.and - if - local.get $0 - i32.load16_u $0 offset=2 - local.tee $7 - i32.const 64512 - i32.and - i32.const 56320 - i32.eq - if - local.get $4 - local.get $3 - i32.const 1023 - i32.and - i32.const 10 - i32.shl - i32.const 65536 - i32.add - local.get $7 - i32.const 1023 - i32.and - i32.or - local.tee $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 24 - i32.shl - local.get $3 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 16 - i32.shl - i32.or - local.get $3 - i32.const 12 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - local.get $3 - i32.const 18 - i32.shr_u - i32.const 240 - i32.or - i32.or - i32.store $0 - local.get $4 - i32.const 4 - i32.add - local.set $4 - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 - end - end - local.get $2 - if - local.get $2 - i32.const 2 - i32.eq - if - i32.const 1712 - i32.const 1776 - i32.const 742 - i32.const 49 - call $~lib/builtins/abort - unreachable - end - i32.const 65533 - local.set $3 - end - end - local.get $4 - local.get $3 - i32.const 12 - i32.shr_u - i32.const 224 - i32.or - local.get $3 - i32.const 6 - i32.shr_u - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.const 8 - i32.shl - i32.or - i32.store16 $0 - local.get $4 - local.get $3 - i32.const 63 - i32.and - i32.const 128 - i32.or - i32.store8 $0 offset=2 - local.get $4 - i32.const 3 - i32.add - end - local.set $4 - end - local.get $0 - i32.const 2 - i32.add - local.set $0 - br $while-continue|0 - end - end - local.get $1 - if - local.get $4 - i32.const 0 - i32.store8 $0 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - ) (func $~lib/string/String.UTF8.decodeUnsafe (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) diff --git a/tests/compiler/std/string-nonnull.debug.wat b/tests/compiler/std/string-nonnull.debug.wat index 6b3eea3096..f1cbb45e89 100644 --- a/tests/compiler/std/string-nonnull.debug.wat +++ b/tests/compiler/std/string-nonnull.debug.wat @@ -135,13 +135,44 @@ i32.const 0 return ) + (func $~start (type $none_=>_none) + call $start:std/string-nonnull + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 32832 + i32.const 32880 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + ) (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) (local $leftLength 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 $0 local.get $left local.get $right 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 $left @@ -156,36 +187,108 @@ 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/string/String#get:length local.set $leftLength local.get $leftLength local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 i32.const 0 local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 local.get $leftLength 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 return ) (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) (func $~lib/string/String.__not (type $i32_=>_i32) (param $str 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 $0 local.get $str i32.const 0 i32.eq @@ -193,95 +296,146 @@ i32.const 1 else local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 return ) (func $start:std/string-nonnull (type $none_=>_none) - (local $s i32) + (local $0 i32) + (local $1 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 $0 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 32 - local.tee $s + local.tee $0 i32.store $0 - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $~lib/string/String.__ne if - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $~lib/string/String.__ne if - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end - local.get $s + local.get $0 if - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $~lib/string/String.__eq if nop else - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 call $~lib/string/String.__eq if nop else - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String.__not if nop else - local.get $s + local.get $0 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 call $~lib/string/String#get:length drop end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~start (type $none_=>_none) - call $start:std/string-nonnull - ) - (func $~stack_check (type $none_=>_none) - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 32832 - i32.const 32880 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) ) diff --git a/tests/compiler/std/string-nonnull.release.wat b/tests/compiler/std/string-nonnull.release.wat index 7bca4447e8..71a99c2062 100644 --- a/tests/compiler/std/string-nonnull.release.wat +++ b/tests/compiler/std/string-nonnull.release.wat @@ -1,4 +1,5 @@ (module + (type $none_=>_i32 (func_subtype (result i32) func)) (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -10,8 +11,136 @@ (start $~start) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 1068 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 1056 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + call $~lib/string/String.__ne + if + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + call $~lib/string/String.__ne + if + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + call $~lib/string/String.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + end + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + call $~lib/string/String.__eq + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1068 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 + i32.const 1052 + i32.load $0 + i32.const 1 + i32.shr_u + i32.eqz + local.set $1 + local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=4 + i32.const 1052 + i32.load $0 + drop + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 33856 + i32.const 33904 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/string/String.__eq (type $none_=>_i32) (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -27,23 +156,48 @@ end global.get $~lib/memory/__stack_pointer local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + ) + (func $~lib/string/String.__ne (type $none_=>_i32) (result i32) + (local $0 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 1068 + i32.lt_s + if + i32.const 33856 + i32.const 33904 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 1056 i32.store $0 - i32.const 1052 - i32.load $0 - i32.const 1 - i32.shr_u - if - i32.const 1052 - i32.load $0 - drop - end + local.get $0 + i32.const 0 + i32.store $0 offset=4 + call $~lib/string/String.__eq + i32.eqz + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) ) diff --git a/tests/compiler/std/string.debug.wat b/tests/compiler/std/string.debug.wat index e835373ef1..071ba0a1ae 100644 --- a/tests/compiler/std/string.debug.wat +++ b/tests/compiler/std/string.debug.wat @@ -7,20 +7,20 @@ (type $none_=>_none (func_subtype func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) + (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) - (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) (type $f64_i32_=>_f64 (func_subtype (param f64 i32) (result f64) func)) - (type $i32_=>_f32 (func_subtype (param i32) (result f32) func)) (type $f64_f64_=>_i32 (func_subtype (param f64 f64) (result i32) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32 i64 i32 i64 i32) (result i32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) + (type $i32_=>_f32 (func_subtype (param i32) (result f32) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) @@ -665,134 +665,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/string/String#charCodeAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - local.get $pos - local.get $this - call $~lib/string/String#get:length - i32.ge_u - if - i32.const -1 - return - end - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - return - ) - (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - (local $len i32) - (local $first i32) - (local $second i32) - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $pos - local.get $len - i32.ge_u - if - i32.const -1 - return - end - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $first - local.get $first - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - if (result i32) - i32.const 1 - else - local.get $pos - i32.const 1 - i32.add - local.get $len - i32.eq - end - if - local.get $first - return - end - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.set $second - local.get $second - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - if - local.get $first - return - end - local.get $first - i32.const 55296 - i32.sub - i32.const 10 - i32.shl - local.get $second - i32.const 56320 - i32.sub - i32.add - i32.const 65536 - i32.add - return - ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor @@ -2986,60 +2858,6 @@ local.get $ptr return ) - (func $~lib/string/String#at (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - (local $len i32) - (local $out i32) - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $pos - i32.const 0 - local.get $len - local.get $pos - i32.const 0 - i32.ge_s - select - i32.add - local.set $pos - local.get $pos - local.get $len - i32.ge_u - if - i32.const 240 - i32.const 304 - i32.const 57 - i32.const 31 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.set $out - local.get $out - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $out - return - ) - (func $~lib/string/String.__not (type $i32_=>_i32) (param $str i32) (result i32) - local.get $str - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $str - call $~lib/string/String#get:length - i32.eqz - end - return - ) (func $~lib/string/String.fromCharCode@varargs (type $i32_i32_=>_i32) (param $unit i32) (param $surr i32) (result i32) block $1of1 block $0of1 @@ -3146,3036 +2964,3869 @@ local.get $this i32.load $0 offset=12 ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/string/String#startsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $searchStart i32) - (local $searchLength i32) - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 + (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) + (local $index i32) + (local $total i32) i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $searchStart - local.get $search - call $~lib/string/String#get:length - local.set $searchLength - local.get $searchLength - local.get $searchStart - i32.add - local.get $len - i32.gt_s - if - i32.const 0 - return + local.set $index + local.get $srcLength + local.get $count + i32.mul + local.set $total + loop $while-continue|0 + local.get $index + local.get $total + i32.lt_u + if + local.get $dst + local.get $index + i32.add + local.get $src + local.get $srcLength + memory.copy $0 $0 + local.get $index + local.get $srcLength + i32.add + local.set $index + br $while-continue|0 + end end - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLength - call $~lib/util/string/compareImpl - i32.eqz - return ) - (func $~lib/string/String#endsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $searchLength i32) - (local $searchStart i32) - local.get $end - local.tee $3 - i32.const 0 - local.tee $4 - local.get $3 - local.get $4 - i32.gt_s - select - local.tee $5 - local.get $this - call $~lib/string/String#get:length - local.tee $6 - local.get $5 - local.get $6 - i32.lt_s - select - local.set $end - local.get $search - call $~lib/string/String#get:length - local.set $searchLength - local.get $end - local.get $searchLength + (func $~lib/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) + (local $1 i32) + local.get $c + i32.const 5760 + i32.lt_u + if + local.get $c + i32.const 128 + i32.or + i32.const 160 + i32.eq + if (result i32) + i32.const 1 + else + local.get $c + i32.const 9 + i32.sub + i32.const 13 + i32.const 9 + i32.sub + i32.le_u + end + return + end + local.get $c + i32.const 8192 i32.sub - local.set $searchStart - local.get $searchStart - i32.const 0 - i32.lt_s + i32.const 8202 + i32.const 8192 + i32.sub + i32.le_u if - i32.const 0 + i32.const 1 return end - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/string/String#endsWith@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + block $break|0 + block $case6|0 + block $case5|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $c + local.set $1 + local.get $1 + i32.const 5760 + i32.eq + br_if $case0|0 + local.get $1 + i32.const 8232 + i32.eq + br_if $case1|0 + local.get $1 + i32.const 8233 + i32.eq + br_if $case2|0 + local.get $1 + i32.const 8239 + i32.eq + br_if $case3|0 + local.get $1 + i32.const 8287 + i32.eq + br_if $case4|0 + local.get $1 + i32.const 12288 + i32.eq + br_if $case5|0 + local.get $1 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + end + end + end + end end - unreachable end - global.get $~lib/string/String.MAX_LENGTH - local.set $end + i32.const 1 + return end - local.get $this - local.get $search - local.get $end - call $~lib/string/String#endsWith + i32.const 0 + return ) - (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - (local $searchLen i32) - (local $len i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $searchStart i32) - local.get $search - call $~lib/string/String#get:length - local.set $searchLen - local.get $searchLen - i32.eqz + (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) + (local $out i32) + (local $log i32) + (local $4 i32) + i32.const 1 + local.set $out + i32.const 0 + i32.const 1 + i32.lt_s + drop + local.get $x + i32.const 2 + i32.eq if + i32.const 1 + local.get $e + i32.shl i32.const 0 + local.get $e + i32.const 32 + i32.lt_u + select return end - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz + local.get $e + i32.const 0 + i32.le_s if + local.get $x i32.const -1 + i32.eq + if + i32.const -1 + i32.const 1 + local.get $e + i32.const 1 + i32.and + select + return + end + local.get $e + i32.const 0 + i32.eq + local.get $x + i32.const 1 + i32.eq + i32.or return - end - local.get $start - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $7 - local.get $len - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $searchStart - local.get $len - local.get $searchLen - i32.sub - local.set $len - loop $for-loop|0 - local.get $searchStart - local.get $len - i32.le_s + else + local.get $e + i32.const 1 + i32.eq if - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLen - call $~lib/util/string/compareImpl - i32.eqz + local.get $x + return + else + local.get $e + i32.const 2 + i32.eq if - local.get $searchStart + local.get $x + local.get $x + i32.mul return - end - local.get $searchStart - i32.const 1 - i32.add - local.set $searchStart - br $for-loop|0 - end - end - i32.const -1 - return - ) - (func $~lib/string/String#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - local.get $this - local.get $search - local.get $start - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - return - ) - (func $~lib/memory/memory.repeat (type $i32_i32_i32_i32_=>_none) (param $dst i32) (param $src i32) (param $srcLength i32) (param $count i32) - (local $index i32) - (local $total i32) - i32.const 0 - local.set $index - local.get $srcLength - local.get $count - i32.mul - local.set $total - loop $while-continue|0 - local.get $index - local.get $total - i32.lt_u - if - local.get $dst - local.get $index - i32.add - local.get $src - local.get $srcLength - memory.copy $0 $0 - local.get $index - local.get $srcLength - i32.add - local.set $index - br $while-continue|0 + else + local.get $e + i32.const 32 + i32.lt_s + if + i32.const 32 + local.get $e + i32.clz + i32.sub + local.set $log + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + local.get $log + 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 $e + i32.const 1 + i32.and + if + local.get $out + local.get $x + i32.mul + local.set $out + end + local.get $e + i32.const 1 + i32.shr_u + local.set $e + local.get $x + local.get $x + i32.mul + local.set $x + end + local.get $e + i32.const 1 + i32.and + if + local.get $out + local.get $x + i32.mul + local.set $out + end + local.get $e + i32.const 1 + i32.shr_u + local.set $e + local.get $x + local.get $x + i32.mul + local.set $x + end + local.get $e + i32.const 1 + i32.and + if + local.get $out + local.get $x + i32.mul + local.set $out + end + local.get $e + i32.const 1 + i32.shr_u + local.set $e + local.get $x + local.get $x + i32.mul + local.set $x + end + local.get $e + i32.const 1 + i32.and + if + local.get $out + local.get $x + i32.mul + local.set $out + end + local.get $e + i32.const 1 + i32.shr_u + local.set $e + local.get $x + local.get $x + i32.mul + local.set $x + end + local.get $e + i32.const 1 + i32.and + if + local.get $out + local.get $x + i32.mul + local.set $out + end + end + local.get $out + return + end + end end end - ) - (func $~lib/string/String#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - (local $searchLen i32) - (local $len i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $searchStart i32) - local.get $search - call $~lib/string/String#get:length - local.set $searchLen - local.get $searchLen - i32.eqz - if - local.get $this - call $~lib/string/String#get:length - return - end - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz - if - i32.const -1 - return - end - local.get $start - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.tee $7 - local.get $len - local.get $searchLen - i32.sub - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $searchStart - loop $for-loop|0 - local.get $searchStart - i32.const 0 - i32.ge_s + loop $while-continue|1 + local.get $e if - local.get $this - local.get $searchStart - local.get $search - i32.const 0 - local.get $searchLen - call $~lib/util/string/compareImpl - i32.eqz + local.get $e + i32.const 1 + i32.and if - local.get $searchStart - return + local.get $out + local.get $x + i32.mul + local.set $out end - local.get $searchStart + local.get $e i32.const 1 - i32.sub - local.set $searchStart - br $for-loop|0 + i32.shr_u + local.set $e + local.get $x + local.get $x + i32.mul + local.set $x + br $while-continue|1 end end - i32.const -1 + local.get $out return ) - (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable + (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (param $x f64) (param $n i32) (result f64) + (local $y f64) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + local.get $x + local.set $y + local.get $n + i32.const 1023 + i32.gt_s + if + local.get $y + f64.const 8988465674311579538646525e283 + f64.mul + local.set $y + local.get $n + i32.const 1023 + i32.sub + local.set $n + local.get $n + i32.const 1023 + i32.gt_s + if + local.get $y + f64.const 8988465674311579538646525e283 + f64.mul + local.set $y + local.get $n + 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 $n + end + else + local.get $n + i32.const -1022 + i32.lt_s + if + local.get $y + f64.const 2.2250738585072014e-308 + f64.const 9007199254740992 + f64.mul + f64.mul + local.set $y + local.get $n + i32.const 1022 + i32.const 53 + i32.sub + i32.add + local.set $n + local.get $n + i32.const -1022 + i32.lt_s + if + local.get $y + f64.const 2.2250738585072014e-308 + f64.const 9007199254740992 + f64.mul + f64.mul + local.set $y + local.get $n + i32.const 1022 + i32.add + i32.const 53 + i32.sub + local.tee $5 + i32.const -1022 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.set $n + end end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $start end + local.get $y + i64.const 1023 + local.get $n + i64.extend_i32_s + i64.add + i64.const 52 + i64.shl + f64.reinterpret_i64 + f64.mul + return + ) + (func $~lib/object/Object.is (type $f64_f64_=>_i32) (param $x f64) (param $y f64) (result i32) + i32.const 1 + drop + i32.const 8 + i32.const 8 + i32.eq + drop + local.get $x + local.get $x + f64.ne + local.get $y + local.get $y + f64.ne + i32.and + local.get $x + i64.reinterpret_f64 + local.get $y + i64.reinterpret_f64 + i64.eq + i32.or + return + ) + (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $search - local.get $start - call $~lib/string/String#lastIndexOf + i32.load $0 offset=16 ) - (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $alen i32) - (local $blen i32) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) (local $4 i32) (local $5 i32) - (local $res i32) - local.get $other - local.get $this - i32.eq + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u if - i32.const 0 + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr return end - local.get $this - call $~lib/string/String#get:length - local.set $alen - local.get $other - call $~lib/string/String#get:length - local.set $blen - local.get $this - i32.const 0 - local.get $other - i32.const 0 - local.get $alen + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size local.tee $4 - local.get $blen + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize local.tee $5 local.get $4 local.get $5 - i32.lt_s + i32.lt_u select - call $~lib/util/string/compareImpl - local.set $res - local.get $res - if (result i32) - local.get $res - else - local.get $alen - local.get $blen - i32.sub - end - local.set $res - local.get $res - i32.const 0 - i32.gt_s - local.get $res - i32.const 0 - i32.lt_s - i32.sub + memory.copy $0 $0 + local.get $newPtr return ) - (func $~lib/util/string/isSpace (type $i32_=>_i32) (param $c i32) (result i32) - (local $1 i32) - local.get $c - i32.const 5760 + (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) + local.get $this + local.get $length_ + i32.store $0 offset=12 + ) + (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) + local.get $value + i32.const 100000 i32.lt_u if - local.get $c - i32.const 128 - i32.or - i32.const 160 - i32.eq - if (result i32) + local.get $value + i32.const 100 + i32.lt_u + if i32.const 1 + local.get $value + i32.const 10 + i32.ge_u + i32.add + return else - local.get $c - i32.const 9 - i32.sub - i32.const 13 - i32.const 9 - i32.sub - i32.le_u + i32.const 3 + local.get $value + i32.const 10000 + i32.ge_u + i32.add + local.get $value + i32.const 1000 + i32.ge_u + i32.add + return end - return - end - local.get $c - i32.const 8192 - i32.sub - i32.const 8202 - i32.const 8192 - i32.sub - i32.le_u - if - i32.const 1 - return - end - block $break|0 - block $case6|0 - block $case5|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $c - local.set $1 - local.get $1 - i32.const 5760 - i32.eq - br_if $case0|0 - local.get $1 - i32.const 8232 - i32.eq - br_if $case1|0 - local.get $1 - i32.const 8233 - i32.eq - br_if $case2|0 - local.get $1 - i32.const 8239 - i32.eq - br_if $case3|0 - local.get $1 - i32.const 8287 - i32.eq - br_if $case4|0 - local.get $1 - i32.const 12288 - i32.eq - br_if $case5|0 - local.get $1 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - end - end - end - end - end + unreachable + else + local.get $value + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $value + i32.const 1000000 + i32.ge_u + i32.add + return + else + i32.const 8 + local.get $value + i32.const 1000000000 + i32.ge_u + i32.add + local.get $value + i32.const 100000000 + i32.ge_u + i32.add + return end - i32.const 1 - return + unreachable end - i32.const 0 - return + unreachable ) - (func $~lib/util/string/strtob (type $i32_=>_i32) (param $str i32) (result i32) - (local $size i32) - (local $offset i32) - local.get $str - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $size - i32.const 0 - local.set $offset - local.get $size - i32.const 8 - i32.gt_u - if - loop $while-continue|0 - local.get $size - if (result i32) - local.get $str - local.get $size - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $size - i32.const 2 - i32.sub - local.set $size - br $while-continue|0 - end - end - local.get $size - i32.const 8 - i32.gt_u + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) + (local $t i32) + (local $r i32) + (local $d1 i32) + (local $d2 i32) + (local $digits1 i64) + (local $digits2 i64) + (local $t|9 i32) + (local $d1|10 i32) + (local $digits i32) + (local $digits|12 i32) + (local $digit i32) + loop $while-continue|0 + local.get $num + i32.const 10000 + i32.ge_u if - loop $while-continue|1 - local.get $offset - local.get $size - i32.lt_u - if (result i32) - local.get $str - local.get $offset - i32.add - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $offset - i32.const 2 - i32.add - local.set $offset - br $while-continue|1 - end - end - local.get $size + local.get $num + i32.const 10000 + i32.div_u + local.set $t + local.get $num + i32.const 10000 + i32.rem_u + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 100 + i32.div_u + local.set $d1 + local.get $r + i32.const 100 + i32.rem_u + local.set $d2 + i32.const 15196 + local.get $d1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 15196 + local.get $d2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 local.get $offset + i32.const 4 i32.sub - local.set $size + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end end - local.get $size - i32.const 8 - i32.ne + local.get $num + i32.const 100 + i32.ge_u if - i32.const 0 - return + local.get $num + i32.const 100 + i32.div_u + local.set $t|9 + local.get $num + i32.const 100 + i32.rem_u + local.set $d1|10 + local.get $t|9 + local.set $num + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 15196 + local.get $d1|10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $digits + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits + i32.store $0 end - local.get $str - local.get $offset - i32.add - i64.load $0 - i64.const 28429475166421108 - i64.eq - return - ) - (func $~lib/util/string/strtol (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) - (local $len i32) - (local $ptr i32) - (local $code i32) - (local $sign f64) - (local $6 i32) - (local $num f64) - (local $initial i32) - (local $9 i32) - local.get $str - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz + local.get $num + i32.const 10 + i32.ge_u if + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 15196 + local.get $num + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $digits|12 + local.get $buffer + local.get $offset i32.const 1 - drop - f64.const nan:0x8000000000000 - return + i32.shl + i32.add + local.get $digits|12 + i32.store $0 + else + local.get $offset + i32.const 1 + i32.sub + local.set $offset + i32.const 48 + local.get $num + i32.add + local.set $digit + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digit + i32.store16 $0 end - local.get $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code + ) + (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) loop $while-continue|0 - local.get $code - call $~lib/util/string/isSpace + local.get $offset + i32.const 2 + i32.ge_u if - local.get $ptr + local.get $offset i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 i32.sub - local.set $len + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 15616 + local.get $num + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $num + i64.const 8 + i64.shr_u + local.set $num br $while-continue|0 end end - f64.const 1 - local.set $sign - local.get $code - i32.const 45 - i32.eq - if (result i32) + local.get $offset + i32.const 1 + i32.and + if + local.get $buffer + i32.const 15616 + local.get $num + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + end + ) + (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) + (local $value i32) + (local $b64 i64) + (local $b i64) + (local $e i32) + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt i32.const 1 - else - local.get $code - i32.const 43 i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 end if - local.get $len - i32.const 1 + i32.const 63 + local.get $num + i64.clz + i32.wrap_i64 i32.sub - local.tee $len - i32.eqz + i32.const 31 + local.get $base + i32.clz + i32.sub + i32.div_u + i32.const 1 + i32.add + return + end + local.get $base + i64.extend_i32_s + local.set $b64 + local.get $b64 + local.set $b + i32.const 1 + local.set $e + loop $while-continue|0 + local.get $num + local.get $b + i64.ge_u if + local.get $num + local.get $b + i64.div_u + local.set $num + local.get $b + local.get $b + i64.mul + local.set $b + local.get $e i32.const 1 - drop - f64.const nan:0x8000000000000 - return + i32.shl + local.set $e + br $while-continue|0 end - local.get $code - i32.const 45 - i32.eq + end + loop $while-continue|1 + local.get $num + i64.const 1 + i64.ge_u if - f64.const -1 - local.set $sign + local.get $num + local.get $b64 + i64.div_u + local.set $num + local.get $e + i32.const 1 + i32.add + local.set $e + br $while-continue|1 end - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code end + local.get $e + i32.const 1 + i32.sub + return + ) + (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) + (local $base i64) + (local $shift i64) + (local $mask i64) + (local $q i64) + local.get $radix + i64.extend_i32_s + local.set $base local.get $radix + local.get $radix + i32.const 1 + i32.sub + i32.and + i32.const 0 + i32.eq if local.get $radix - i32.const 2 - i32.lt_s - if (result i32) + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $shift + local.get $base + i64.const 1 + i64.sub + local.set $mask + loop $do-loop|0 + local.get $offset i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if + i32.sub + local.set $offset + local.get $buffer + local.get $offset i32.const 1 - drop - f64.const nan:0x8000000000000 - return - end - local.get $radix - i32.const 16 - i32.eq - if - local.get $len - i32.const 2 - i32.gt_s - if (result i32) - local.get $code - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - end + i32.shl + i32.add + i32.const 16672 + local.get $num + local.get $mask + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $num + local.get $shift + i64.shr_u + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|0 end else - local.get $code - i32.const 48 - i32.eq - if (result i32) - local.get $len - i32.const 2 - i32.gt_s - else - i32.const 0 + loop $do-loop|1 + local.get $offset + i32.const 1 + i32.sub + local.set $offset + local.get $num + local.get $base + i64.div_u + local.set $q + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 16672 + local.get $num + local.get $q + local.get $base + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $q + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|1 end + end + ) + (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) + local.get $value + i64.const 1000000000000000 + i64.lt_u + if + local.get $value + i64.const 1000000000000 + i64.lt_u if - block $break|1 - block $case2|1 - block $case1|1 - block $case0|1 - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.set $6 - local.get $6 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $6 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $6 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 2 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 8 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 16 - local.set $radix - br $break|1 - end + i32.const 10 + local.get $value + i64.const 100000000000 + i64.ge_u + i32.add + local.get $value + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $value + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $value + i64.const 10000000000000 + i64.ge_u + i32.add + return end - local.get $radix - i32.eqz + unreachable + else + local.get $value + i64.const 100000000000000000 + i64.lt_u if - i32.const 10 - local.set $radix + i32.const 16 + local.get $value + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $value + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $value + i64.const 1000000000000000000 + i64.ge_u + i32.add + return end + unreachable end - f64.const 0 - local.set $num - local.get $len - i32.const 1 - i32.sub - local.set $initial - block $while-break|2 - loop $while-continue|2 - local.get $len - local.tee $9 - i32.const 1 - i32.sub - local.set $len - local.get $9 - if - local.get $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $code - i32.const 48 - i32.sub - local.set $code - else - local.get $code - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $code - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $code - else - local.get $code - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $code - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $code - end - end - end - local.get $code - local.get $radix - i32.ge_u - if - local.get $initial - local.get $len - i32.eq - if - i32.const 1 - drop - f64.const nan:0x8000000000000 - return - end - br $while-break|2 - end - local.get $num - local.get $radix - f64.convert_i32_s - f64.mul - local.get $code - f64.convert_i32_u - f64.add - local.set $num - local.get $ptr - i32.const 2 - i32.add - local.set $ptr - br $while-continue|2 - end + unreachable + ) + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) + (local $t i64) + (local $r i32) + (local $b i32) + (local $c i32) + (local $b1 i32) + (local $b2 i32) + (local $c1 i32) + (local $c2 i32) + (local $digits1 i64) + (local $digits2 i64) + loop $while-continue|0 + local.get $num + i64.const 100000000 + i64.ge_u + if + local.get $num + i64.const 100000000 + i64.div_u + local.set $t + local.get $num + local.get $t + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 10000 + i32.div_u + local.set $b + local.get $r + i32.const 10000 + i32.rem_u + local.set $c + local.get $b + i32.const 100 + i32.div_u + local.set $b1 + local.get $b + i32.const 100 + i32.rem_u + local.set $b2 + local.get $c + i32.const 100 + i32.div_u + local.set $c1 + local.get $c + i32.const 100 + i32.rem_u + local.set $c2 + i32.const 15196 + local.get $c1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 15196 + local.get $c2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + i32.const 15196 + local.get $b1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 15196 + local.get $b2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end end - local.get $sign + local.get $buffer local.get $num - f64.mul - return - ) - (func $~lib/string/parseInt (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) - local.get $str - local.get $radix - call $~lib/util/string/strtol - return + i32.wrap_i64 + local.get $offset + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/math/ipow32 (type $i32_i32_=>_i32) (param $x i32) (param $e i32) (result i32) - (local $out i32) - (local $log i32) - (local $4 i32) - i32.const 1 - local.set $out + (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) + (local $one_exp i32) + (local $one_frc i64) + (local $mask i64) + (local $wp_w_frc i64) + (local $p1 i32) + (local $p2 i64) + (local $kappa i32) + (local $len i32) + (local $d i32) + (local $16 i32) + (local $17 i32) + (local $tmp i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) + (local $rest i64) + (local $ten_kappa i64) + (local $wp_w i64) + (local $lastp i32) + (local $digit i32) + (local $d|27 i64) + (local $28 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) i32.const 0 - i32.const 1 - i32.lt_s - drop - local.get $x - i32.const 2 - i32.eq - if - i32.const 1 - local.get $e - i32.shl + local.get $mp_exp + i32.sub + local.set $one_exp + i64.const 1 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $one_frc + local.get $one_frc + i64.const 1 + i64.sub + local.set $mask + local.get $mp_frc + local.get $w_frc + i64.sub + local.set $wp_w_frc + local.get $mp_frc + local.get $one_exp + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.set $p1 + local.get $mp_frc + local.get $mask + i64.and + local.set $p2 + local.get $p1 + call $~lib/util/number/decimalCount32 + local.set $kappa + local.get $sign + local.set $len + loop $while-continue|0 + local.get $kappa i32.const 0 - local.get $e - i32.const 32 - i32.lt_u - select - return - end - local.get $e - i32.const 0 - i32.le_s - if - local.get $x - i32.const -1 - i32.eq + i32.gt_s if - i32.const -1 - i32.const 1 - local.get $e - i32.const 1 - i32.and - select - return - end - local.get $e - i32.const 0 - i32.eq - local.get $x - i32.const 1 - i32.eq - i32.or - return - else - local.get $e - i32.const 1 - i32.eq - if - local.get $x - return - else - local.get $e - i32.const 2 - i32.eq - if - local.get $x - local.get $x - i32.mul - return - else - local.get $e - i32.const 32 - i32.lt_s - if - i32.const 32 - local.get $e - i32.clz - i32.sub - local.set $log - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - local.get $log - 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 $e - i32.const 1 - i32.and - if - local.get $out - local.get $x - i32.mul - local.set $out + 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 $kappa + local.set $16 + local.get $16 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $16 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $16 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $16 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $16 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $16 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $16 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $16 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $16 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $16 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $p1 + i32.const 1000000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 1000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000 + i32.rem_u + local.set $p1 + br $break|1 end - local.get $e - i32.const 1 - i32.shr_u - local.set $e - local.get $x - local.get $x - i32.mul - local.set $x - end - local.get $e - i32.const 1 - i32.and - if - local.get $out - local.get $x - i32.mul - local.set $out + local.get $p1 + i32.const 100000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000 + i32.rem_u + local.set $p1 + br $break|1 end - local.get $e - i32.const 1 - i32.shr_u - local.set $e - local.get $x - local.get $x - i32.mul - local.set $x - end - local.get $e - i32.const 1 - i32.and - if - local.get $out - local.get $x - i32.mul - local.set $out + local.get $p1 + i32.const 10000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000 + i32.rem_u + local.set $p1 + br $break|1 end - local.get $e - i32.const 1 - i32.shr_u - local.set $e - local.get $x - local.get $x - i32.mul - local.set $x - end - local.get $e - i32.const 1 - i32.and - if - local.get $out - local.get $x - i32.mul - local.set $out + local.get $p1 + i32.const 1000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000 + i32.rem_u + local.set $p1 + br $break|1 end - local.get $e - i32.const 1 - i32.shr_u - local.set $e - local.get $x - local.get $x - i32.mul - local.set $x - end - local.get $e - i32.const 1 - i32.and - if - local.get $out - local.get $x - i32.mul - local.set $out + local.get $p1 + i32.const 100 + i32.div_u + local.set $d + local.get $p1 + i32.const 100 + i32.rem_u + local.set $p1 + br $break|1 end + local.get $p1 + i32.const 10 + i32.div_u + local.set $d + local.get $p1 + i32.const 10 + i32.rem_u + local.set $p1 + br $break|1 end - local.get $out - return + local.get $p1 + local.set $d + i32.const 0 + local.set $p1 + br $break|1 end + i32.const 0 + local.set $d + br $break|1 end - end - end - loop $while-continue|1 - local.get $e - if - local.get $e - i32.const 1 - i32.and + local.get $d + local.get $len + i32.or if - local.get $out - local.get $x - i32.mul - local.set $out + local.get $buffer + local.get $len + local.tee $17 + i32.const 1 + i32.add + local.set $len + local.get $17 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $d + i32.const 65535 + i32.and + i32.add + i32.store16 $0 end - local.get $e + local.get $kappa i32.const 1 - i32.shr_u - local.set $e - local.get $x - local.get $x - i32.mul - local.set $x - br $while-continue|1 - end - end - local.get $out - return - ) - (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (param $x f64) (param $n i32) (result f64) - (local $y f64) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $x - local.set $y - local.get $n - i32.const 1023 - i32.gt_s - if - local.get $y - f64.const 8988465674311579538646525e283 - f64.mul - local.set $y - local.get $n - i32.const 1023 - i32.sub - local.set $n - local.get $n - i32.const 1023 - i32.gt_s - if - local.get $y - f64.const 8988465674311579538646525e283 - f64.mul - local.set $y - local.get $n - 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 $n - end - else - local.get $n - i32.const -1022 - i32.lt_s - if - local.get $y - f64.const 2.2250738585072014e-308 - f64.const 9007199254740992 - f64.mul - f64.mul - local.set $y - local.get $n - i32.const 1022 - i32.const 53 i32.sub - i32.add - local.set $n - local.get $n - i32.const -1022 - i32.lt_s + local.set $kappa + local.get $p1 + i64.extend_i32_u + local.get $one_exp + i64.extend_i32_s + i64.shl + local.get $p2 + i64.add + local.set $tmp + local.get $tmp + local.get $delta + i64.le_u if - local.get $y - f64.const 2.2250738585072014e-308 - f64.const 9007199254740992 - f64.mul - f64.mul - local.set $y - local.get $n - i32.const 1022 + global.get $~lib/util/number/_K + local.get $kappa i32.add - i32.const 53 + global.set $~lib/util/number/_K + local.get $buffer + local.set $buffer|19 + local.get $len + local.set $len|20 + local.get $delta + local.set $delta|21 + local.get $tmp + local.set $rest + i32.const 23248 + local.get $kappa + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $ten_kappa + local.get $wp_w_frc + local.set $wp_w + local.get $buffer|19 + local.get $len|20 + i32.const 1 i32.sub - local.tee $5 - i32.const -1022 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_s - select - local.set $n + i32.const 1 + i32.shl + i32.add + local.set $lastp + local.get $lastp + i32.load16_u $0 + local.set $digit + loop $while-continue|3 + local.get $rest + local.get $wp_w + i64.lt_u + if (result i32) + local.get $delta|21 + local.get $rest + i64.sub + local.get $ten_kappa + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w + local.get $rest + i64.sub + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.sub + i64.gt_u + end + else + i32.const 0 + end + if + local.get $digit + i32.const 1 + i32.sub + local.set $digit + local.get $rest + local.get $ten_kappa + i64.add + local.set $rest + br $while-continue|3 + end + end + local.get $lastp + local.get $digit + i32.store16 $0 + local.get $len + return end + br $while-continue|0 end end - local.get $y - i64.const 1023 - local.get $n - i64.extend_i32_s - i64.add - i64.const 52 - i64.shl - f64.reinterpret_i64 - f64.mul - return - ) - (func $~lib/util/string/strtod (type $i32_=>_f64) (param $str i32) (result f64) - (local $len i32) - (local $ptr i32) - (local $code i32) - (local $sign f64) - (local $savedPtr i32) - (local $pointed i32) - (local $consumed i32) - (local $position i32) - (local $x i64) - (local $noDigits i32) - (local $digit i32) - (local $12 i32) - (local $13 i32) - (local $ptr|14 i32) - (local $len|15 i32) - (local $sign|16 i32) - (local $magnitude i32) - (local $code|18 i32) - (local $digit|19 i32) - (local $significand i64) - (local $exp i32) - (local $significandf f64) - (local $n i32) - (local $24 i32) - (local $25 i32) - (local $n|26 i32) - (local $n|27 i32) - (local $significand|28 i64) - (local $exp|29 i32) - (local $shift i64) - (local $q i64) - (local $r i64) - (local $s i64) - (local $b i64) - (local $q|35 i64) - (local $r|36 i64) - (local $s|37 i64) - (local $significand|38 i64) - (local $exp|39 i32) - (local $shift|40 i64) - (local $a i64) - (local $b|42 i32) - (local $low i64) - (local $high i64) - (local $overflow i32) - (local $space i32) - (local $revspace i64) - (local $a|48 i64) - (local $b|49 i32) - (local $low|50 i64) - (local $high|51 i64) - (local $overflow|52 i32) - (local $space|53 i32) - (local $revspace|54 i64) - local.get $str - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.eqz - if - f64.const nan:0x8000000000000 - return - end - local.get $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code - f64.const 1 - local.set $sign - loop $while-continue|0 - local.get $len - if (result i32) - local.get $code - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 - i32.sub - local.set $len - br $while-continue|0 - end - end - local.get $len - i32.eqz - if - f64.const nan:0x8000000000000 - return - end - local.get $code - i32.const 45 - i32.eq - if - local.get $len + loop $while-continue|4 i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - f64.const nan:0x8000000000000 - return - end - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - f64.const -1 - local.set $sign - else - local.get $code - i32.const 43 - i32.eq if + local.get $p2 + i64.const 10 + i64.mul + local.set $p2 + local.get $delta + i64.const 10 + i64.mul + local.set $delta + local.get $p2 + local.get $one_exp + i64.extend_i32_s + i64.shr_u + local.set $d|27 + local.get $d|27 local.get $len - i32.const 1 - i32.sub - local.tee $len - i32.eqz + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne if - f64.const nan:0x8000000000000 - return + local.get $buffer + local.get $len + local.tee $28 + i32.const 1 + i32.add + local.set $len + local.get $28 + i32.const 1 + i32.shl + i32.add + i32.const 48 + local.get $d|27 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.add + i32.store16 $0 end - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - end - end - local.get $len - i32.const 8 - i32.ge_s - if (result i32) - local.get $code - i32.const 73 - i32.eq - else - i32.const 0 - end - if - local.get $ptr - i64.load $0 - i64.const 29555310648492105 - i64.eq - if (result i32) - local.get $ptr - i64.load $0 offset=8 - i64.const 34058970405077102 - i64.eq - else - i32.const 0 - end - if - f64.const inf - local.get $sign - f64.mul - return - end - f64.const nan:0x8000000000000 - return - end - local.get $code - i32.const 46 - i32.ne - if (result i32) - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.ge_u - else - i32.const 0 - end - if - f64.const nan:0x8000000000000 - return - end - local.get $ptr - local.set $savedPtr - loop $while-continue|1 - local.get $code - i32.const 48 - i32.eq - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len + local.get $p2 + local.get $mask + i64.and + local.set $p2 + local.get $kappa i32.const 1 i32.sub - local.set $len - br $while-continue|1 - end - end - local.get $len - i32.const 0 - i32.le_s - if - f64.const 0 - local.get $sign - f64.mul - return - end - i32.const 0 - local.set $pointed - i32.const 0 - local.set $consumed - i32.const 0 - local.set $position - i64.const 0 - local.set $x - local.get $code - i32.const 46 - i32.eq - if - local.get $savedPtr - local.get $ptr - i32.sub - i32.eqz - local.set $noDigits - local.get $ptr - i32.const 2 - i32.add - local.set $ptr - local.get $len - i32.const 1 - i32.sub - local.set $len - local.get $len - i32.eqz - if (result i32) - local.get $noDigits - else - i32.const 0 - end - if - f64.const nan:0x8000000000000 - return - end - i32.const 1 - local.set $pointed - loop $for-loop|2 - local.get $ptr - i32.load16_u $0 - local.tee $code - i32.const 48 - i32.eq + local.set $kappa + local.get $p2 + local.get $delta + i64.lt_u if + global.get $~lib/util/number/_K + local.get $kappa + i32.add + global.set $~lib/util/number/_K + local.get $wp_w_frc + i32.const 23248 + i32.const 0 + local.get $kappa + i32.sub + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + i64.mul + local.set $wp_w_frc + local.get $buffer + local.set $buffer|29 local.get $len + local.set $len|30 + local.get $delta + local.set $delta|31 + local.get $p2 + local.set $rest|32 + local.get $one_frc + local.set $ten_kappa|33 + local.get $wp_w_frc + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub - local.set $len - local.get $position i32.const 1 - i32.sub - local.set $position - local.get $ptr - i32.const 2 + i32.shl i32.add - local.set $ptr - br $for-loop|2 - end - end - local.get $len - i32.const 0 - i32.le_s - if - f64.const 0 - local.get $sign - f64.mul - return - end - local.get $position - i32.eqz - if (result i32) - local.get $noDigits - else - i32.const 0 - end - if (result i32) - local.get $code - 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 $code - i32.const 48 - i32.sub - local.set $digit - block $for-break3 - loop $for-loop|3 - local.get $digit - i32.const 10 - i32.lt_u - if (result i32) - i32.const 1 - else - local.get $code - i32.const 46 - i32.eq - if (result i32) - local.get $pointed - i32.eqz - else - i32.const 0 - end - end - if - local.get $digit - i32.const 10 - i32.lt_u - if - local.get $consumed - i32.const 19 - i32.lt_s - if (result i64) - i64.const 10 - local.get $x - i64.mul - local.get $digit - i64.extend_i32_u + local.set $lastp|35 + local.get $lastp|35 + i32.load16_u $0 + local.set $digit|36 + loop $while-continue|6 + local.get $rest|32 + local.get $wp_w|34 + i64.lt_u + if (result i32) + local.get $delta|31 + local.get $rest|32 + i64.sub + local.get $ten_kappa|33 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest|32 + local.get $ten_kappa|33 i64.add + local.get $wp_w|34 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w|34 + local.get $rest|32 + i64.sub + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.get $wp_w|34 + i64.sub + i64.gt_u + end else - local.get $x - local.get $digit - i32.eqz - i32.eqz - i64.extend_i32_u - i64.or + i32.const 0 + end + if + local.get $digit|36 + i32.const 1 + i32.sub + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.set $rest|32 + br $while-continue|6 end - local.set $x - local.get $consumed - i32.const 1 - i32.add - local.set $consumed - else - local.get $consumed - local.set $position - i32.const 1 - local.set $pointed end + local.get $lastp|35 + local.get $digit|36 + i32.store16 $0 local.get $len - i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - br $for-break3 - end - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - local.set $digit - br $for-loop|3 + return end + br $while-continue|4 end end - local.get $pointed - i32.eqz - if - local.get $consumed - local.set $position - end - block $~lib/util/string/scientific|inlined.0 (result f64) - local.get $x - local.set $significand - local.get $position - i32.const 19 - local.tee $12 - local.get $consumed - local.tee $13 - local.get $12 - local.get $13 - i32.lt_s - select - i32.sub - block $~lib/util/string/parseExp|inlined.0 (result i32) - local.get $ptr - local.set $ptr|14 - local.get $len - local.set $len|15 - i32.const 1 - local.set $sign|16 - i32.const 0 - local.set $magnitude - local.get $ptr|14 - i32.load16_u $0 - local.set $code|18 - local.get $code|18 - i32.const 32 - i32.or - i32.const 101 - i32.ne + unreachable + ) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) + (local $kk i32) + (local $i i32) + (local $ptr i32) + (local $offset i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) + (local $sign i32) + (local $decimals i32) + (local $buffer|12 i32) + (local $num i32) + (local $offset|14 i32) + (local $len i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) + local.get $k + i32.eqz + if + local.get $buffer + local.get $length + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $length + i32.const 2 + i32.add + return + end + local.get $length + local.get $k + i32.add + local.set $kk + local.get $length + local.get $kk + i32.le_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else + i32.const 0 + end + if + local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $kk + i32.lt_s if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 + local.get $buffer + local.get $i + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $len|15 + end + local.get $buffer + local.get $kk + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $kk + i32.const 2 + i32.add + return + else + local.get $kk + i32.const 0 + i32.gt_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else + i32.const 0 + end + if + local.get $buffer + local.get $kk i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $ptr + i32.const 2 + i32.add + local.get $ptr + i32.const 0 + local.get $k i32.sub - local.tee $len|15 - i32.eqz - if + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $buffer + local.get $kk + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.store16 $0 + local.get $length + i32.const 1 + i32.add + return + else + i32.const -6 + local.get $kk + i32.lt_s + if (result i32) + local.get $kk + i32.const 0 + i32.le_s + else i32.const 0 - br $~lib/util/string/parseExp|inlined.0 end - local.get $ptr|14 - i32.const 2 - i32.add - local.tee $ptr|14 - i32.load16_u $0 - local.set $code|18 - local.get $code|18 - i32.const 45 - i32.eq if - local.get $len|15 - i32.const 1 + i32.const 2 + local.get $kk i32.sub - local.tee $len|15 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $ptr|14 + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $buffer + local.get $length + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $buffer + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store $0 i32.const 2 + local.set $i|7 + loop $for-loop|1 + local.get $i|7 + local.get $offset + i32.lt_s + if + local.get $buffer + local.get $i|7 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 $0 + local.get $i|7 + i32.const 1 + i32.add + local.set $i|7 + br $for-loop|1 + end + end + local.get $length + local.get $offset i32.add - local.tee $ptr|14 - i32.load16_u $0 - local.set $code|18 - i32.const -1 - local.set $sign|16 + return else - local.get $code|18 - i32.const 43 + local.get $length + i32.const 1 i32.eq if - local.get $len|15 - i32.const 1 - i32.sub - local.tee $len|15 - i32.eqz - if - i32.const 0 - br $~lib/util/string/parseExp|inlined.0 - end - local.get $ptr|14 - i32.const 2 - i32.add - local.tee $ptr|14 - i32.load16_u $0 - local.set $code|18 - end - end - loop $while-continue|4 - local.get $code|18 - i32.const 48 - i32.eq - if - local.get $len|15 - i32.const 1 - i32.sub - local.tee $len|15 - i32.eqz - if + local.get $buffer + i32.const 101 + i32.store16 $0 offset=2 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 + i32.sub + local.set $k|9 + local.get $k|9 i32.const 0 - br $~lib/util/string/parseExp|inlined.0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 end - local.get $ptr|14 + local.set $length + local.get $length i32.const 2 i32.add - local.tee $ptr|14 - i32.load16_u $0 - local.set $code|18 - br $while-continue|4 - end - end - local.get $code|18 - i32.const 48 - i32.sub - local.set $digit|19 - loop $for-loop|5 - local.get $len|15 - if (result i32) - local.get $digit|19 - i32.const 10 - i32.lt_u + return else - i32.const 0 - end - if - local.get $magnitude - i32.const 3200 - i32.ge_s - if - local.get $sign|16 - i32.const 3200 - i32.mul - br $~lib/util/string/parseExp|inlined.0 - end - i32.const 10 - local.get $magnitude - i32.mul - local.get $digit|19 + local.get $length + i32.const 1 + i32.shl + local.set $len + local.get $buffer + i32.const 4 i32.add - local.set $magnitude - local.get $ptr|14 + local.get $buffer i32.const 2 i32.add - local.tee $ptr|14 - i32.load16_u $0 - local.set $code|18 - local.get $len|15 - i32.const 1 - i32.sub - local.set $len|15 - local.get $code|18 - i32.const 48 + local.get $len + i32.const 2 i32.sub - local.set $digit|19 - br $for-loop|5 + memory.copy $0 $0 + local.get $buffer + i32.const 46 + i32.store16 $0 offset=2 + local.get $buffer + local.get $len + i32.add + i32.const 101 + i32.store16 $0 offset=2 + local.get $length + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 + i32.sub + local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 + end + i32.add + local.set $length + local.get $length + i32.const 2 + i32.add + return end + unreachable end - local.get $sign|16 - local.get $magnitude - i32.mul - br $~lib/util/string/parseExp|inlined.0 - end - i32.add - local.set $exp - local.get $significand - i64.const 0 - i64.ne - i32.eqz - if (result i32) - i32.const 1 - else - local.get $exp - i32.const -342 - i32.lt_s - end - if - f64.const 0 - br $~lib/util/string/scientific|inlined.0 - end - local.get $exp - i32.const 308 - i32.gt_s - if - f64.const inf - br $~lib/util/string/scientific|inlined.0 - end - local.get $significand - f64.convert_i64_u - local.set $significandf - local.get $exp - i32.eqz - if - local.get $significandf - br $~lib/util/string/scientific|inlined.0 - end - local.get $exp - i32.const 22 - i32.gt_s - if (result i32) - local.get $exp - i32.const 22 - i32.const 15 - i32.add - i32.le_s - else - i32.const 0 + unreachable end - if - local.get $significandf - block $~lib/util/string/pow10|inlined.0 (result f64) - local.get $exp - i32.const 22 - i32.sub - local.set $n - i32.const 3648 - local.get $n - i32.const 3 - i32.shl - i32.add - f64.load $0 - br $~lib/util/string/pow10|inlined.0 - end - f64.mul - local.set $significandf - i32.const 22 - local.set $exp - end - local.get $significand - i64.const 9007199254740991 - i64.le_u - if (result i32) - local.get $exp - local.tee $24 - i32.const 31 - i32.shr_s - local.tee $25 - local.get $24 - i32.add - local.get $25 - i32.xor - i32.const 22 - i32.le_s - else - i32.const 0 - end - if - local.get $exp - i32.const 0 - i32.gt_s - if - local.get $significandf - block $~lib/util/string/pow10|inlined.1 (result f64) - local.get $exp - local.set $n|26 - i32.const 3648 - local.get $n|26 - i32.const 3 - i32.shl - i32.add - f64.load $0 - br $~lib/util/string/pow10|inlined.1 - end - f64.mul - br $~lib/util/string/scientific|inlined.0 - end - local.get $significandf - block $~lib/util/string/pow10|inlined.2 (result f64) - i32.const 0 - local.get $exp - i32.sub - local.set $n|27 - i32.const 3648 - local.get $n|27 - i32.const 3 - i32.shl - i32.add - f64.load $0 - br $~lib/util/string/pow10|inlined.2 - end - f64.div - br $~lib/util/string/scientific|inlined.0 - else + unreachable + end + unreachable + ) + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) + (local $value|3 f64) + (local $buffer|4 i32) + (local $sign|5 i32) + (local $uv i64) + (local $exp i32) + (local $sid i64) + (local $frc i64) + (local $f i64) + (local $e i32) + (local $frc|12 i64) + (local $exp|13 i32) + (local $off i32) + (local $m i32) + (local $minExp i32) + (local $dk f64) + (local $k i32) + (local $index i32) + (local $off|20 i32) + (local $frc_pow i64) + (local $exp_pow i32) + (local $u i64) + (local $v i64) + (local $u0 i64) + (local $v0 i64) + (local $u1 i64) + (local $v1 i64) + (local $l i64) + (local $t i64) + (local $w i64) + (local $w_frc i64) + (local $e1 i32) + (local $e2 i32) + (local $w_exp i32) + (local $u|36 i64) + (local $v|37 i64) + (local $u0|38 i64) + (local $v0|39 i64) + (local $u1|40 i64) + (local $v1|41 i64) + (local $l|42 i64) + (local $t|43 i64) + (local $w|44 i64) + (local $wp_frc i64) + (local $e1|46 i32) + (local $e2|47 i32) + (local $wp_exp i32) + (local $u|49 i64) + (local $v|50 i64) + (local $u0|51 i64) + (local $v0|52 i64) + (local $u1|53 i64) + (local $v1|54 i64) + (local $l|55 i64) + (local $t|56 i64) + (local $w|57 i64) + (local $wm_frc i64) + (local $delta i64) + (local $len i32) + local.get $value + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $value + f64.neg + local.set $value + local.get $buffer + i32.const 45 + i32.store16 $0 + end + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 22376 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 23072 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) local.get $exp - i32.const 0 - i32.lt_s - if - block $~lib/util/string/scaledown|inlined.0 (result f64) - local.get $significand - local.set $significand|28 - local.get $exp - local.set $exp|29 - local.get $significand|28 - i64.clz - local.set $shift - local.get $significand|28 - local.get $shift - i64.shl - local.set $significand|28 - local.get $exp|29 - i64.extend_i32_s - local.get $shift - i64.sub - local.set $shift - loop $for-loop|6 - local.get $exp|29 - i32.const -14 - i32.le_s - if - local.get $significand|28 - i64.const 6103515625 - i64.div_u - local.set $q - local.get $significand|28 - i64.const 6103515625 - i64.rem_u - local.set $r - local.get $q - i64.clz - local.set $s - local.get $q - local.get $s - i64.shl - f64.const 0.00004294967296 - local.get $r - local.get $s - i64.const 18 - i64.sub - i64.shl - f64.convert_i64_u - f64.mul - f64.nearest - i64.trunc_sat_f64_u - i64.add - local.set $significand|28 - local.get $shift - local.get $s - i64.sub - local.set $shift - local.get $exp|29 - i32.const 14 - i32.add - local.set $exp|29 - br $for-loop|6 - end - end - i32.const 5 - i32.const 0 - local.get $exp|29 - i32.sub - call $~lib/math/ipow32 - i64.extend_i32_s - local.set $b - local.get $significand|28 - local.get $b - i64.div_u - local.set $q|35 - local.get $significand|28 - local.get $b - i64.rem_u - local.set $r|36 - local.get $q|35 - i64.clz - local.set $s|37 - local.get $q|35 - local.get $s|37 - i64.shl - local.get $r|36 - f64.convert_i64_u - i64.reinterpret_f64 - local.get $s|37 - i64.const 52 - i64.shl - i64.add - f64.reinterpret_i64 - local.get $b - f64.convert_i64_u - f64.div - i64.trunc_sat_f64_u - i64.add - local.set $significand|28 - local.get $shift - local.get $s|37 - i64.sub - local.set $shift - local.get $significand|28 - f64.convert_i64_u - local.get $shift - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn - br $~lib/util/string/scaledown|inlined.0 - end - br $~lib/util/string/scientific|inlined.0 - else - block $~lib/util/string/scaleup|inlined.0 (result f64) - local.get $significand - local.set $significand|38 - local.get $exp - local.set $exp|39 - local.get $significand|38 - i64.ctz - local.set $shift|40 - local.get $significand|38 - local.get $shift|40 - i64.shr_u - local.set $significand|38 - local.get $shift|40 - local.get $exp|39 - i64.extend_i32_s - i64.add - local.set $shift|40 - local.get $shift|40 - global.set $~lib/util/string/__fixmulShift - loop $for-loop|7 - local.get $exp|39 - i32.const 13 - i32.ge_s - if - block $~lib/util/string/fixmul|inlined.0 (result i64) - local.get $significand|38 - local.set $a - i32.const 1220703125 - local.set $b|42 - local.get $a - i64.const 4294967295 - i64.and - local.get $b|42 - i64.extend_i32_u - i64.mul - local.set $low - local.get $a - i64.const 32 - i64.shr_u - local.get $b|42 - i64.extend_i32_u - i64.mul - local.get $low - i64.const 32 - i64.shr_u - i64.add - local.set $high - local.get $high - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $overflow - local.get $overflow - i32.clz - local.set $space - i64.const 32 - local.get $space - i64.extend_i32_u - i64.sub - local.set $revspace - global.get $~lib/util/string/__fixmulShift - local.get $revspace - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $high - local.get $space - i64.extend_i32_u - i64.shl - local.get $low - i64.const 4294967295 - i64.and - local.get $revspace - i64.shr_u - i64.or - local.get $low - local.get $space - i64.extend_i32_u - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - i64.add - br $~lib/util/string/fixmul|inlined.0 + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 + end + local.set $len + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.get $len + local.get $sign + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $len + local.get $len + local.get $sign + i32.add + return + ) + (func $~lib/rt/itcms/__collect (type $none_=>_none) + 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 + 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 + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 + end + end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop + ) + (func $std/string/getString (type $none_=>_i32) (result i32) + global.get $std/string/str + return + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (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 13040 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 14688 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 352 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 15616 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 16672 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid end - local.set $significand|38 - local.get $exp|39 - i32.const 13 - i32.sub - local.set $exp|39 - br $for-loop|7 + return end + return end - block $~lib/util/string/fixmul|inlined.1 (result i64) - local.get $significand|38 - local.set $a|48 - i32.const 5 - local.get $exp|39 - call $~lib/math/ipow32 - local.set $b|49 - local.get $a|48 - i64.const 4294967295 - i64.and - local.get $b|49 - i64.extend_i32_u - i64.mul - local.set $low|50 - local.get $a|48 - i64.const 32 - i64.shr_u - local.get $b|49 - i64.extend_i32_u - i64.mul - local.get $low|50 - i64.const 32 - i64.shr_u - i64.add - local.set $high|51 - local.get $high|51 - i64.const 32 - i64.shr_u - i32.wrap_i64 - local.set $overflow|52 - local.get $overflow|52 - i32.clz - local.set $space|53 - i64.const 32 - local.get $space|53 - i64.extend_i32_u - i64.sub - local.set $revspace|54 - global.get $~lib/util/string/__fixmulShift - local.get $revspace|54 - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $high|51 - local.get $space|53 - i64.extend_i32_u - i64.shl - local.get $low|50 - i64.const 4294967295 - i64.and - local.get $revspace|54 - i64.shr_u - i64.or - local.get $low|50 - local.get $space|53 - i64.extend_i32_u - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - i64.add - br $~lib/util/string/fixmul|inlined.1 - end - local.set $significand|38 - global.get $~lib/util/string/__fixmulShift - local.set $shift|40 - local.get $significand|38 - f64.convert_i64_u - local.get $shift|40 - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn - br $~lib/util/string/scaleup|inlined.0 + return end - br $~lib/util/string/scientific|inlined.0 + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + return end - unreachable + 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 (type $none_=>_none) + call $start:std/string + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 58208 + i32.const 58256 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort unreachable end - local.get $sign - f64.copysign - return ) - (func $~lib/number/F32.parseFloat (type $i32_=>_f32) (param $value i32) (result f32) - local.get $value - call $~lib/util/string/strtod - f32.demote_f64 + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 return ) - (func $~lib/number/F64.parseFloat (type $i32_=>_f64) (param $value i32) (result f64) - local.get $value - call $~lib/util/string/strtod + (func $~lib/string/String#charCodeAt (type $i32_i32_=>_i32) (param $this i32) (param $pos 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 $0 + local.get $pos + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 $this + local.get $pos + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $~lib/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) + (func $~lib/string/String#codePointAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) (local $len i32) - (local $ptr i32) - (local $code i32) - (local $sign i32) - (local $6 i32) - (local $num i32) - (local $initial i32) - (local $9 i32) - local.get $str + (local $first i32) + (local $second 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 $0 + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 call $~lib/string/String#get:length local.set $len + local.get $pos local.get $len - i32.eqz + i32.ge_u if - i32.const 0 - drop - i32.const 0 + 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 $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code - loop $while-continue|0 - local.get $code - call $~lib/util/string/isSpace - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 - i32.sub - local.set $len - br $while-continue|0 - end - end + local.get $this + local.get $pos i32.const 1 - local.set $sign - local.get $code - i32.const 45 - i32.eq + i32.shl + i32.add + i32.load16_u $0 + local.set $first + local.get $first + i32.const 64512 + i32.and + i32.const 55296 + i32.ne if (result i32) i32.const 1 else - local.get $code - i32.const 43 - i32.eq - end - if - local.get $len + local.get $pos i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - i32.const 0 - drop - i32.const 0 - return - end - local.get $code - i32.const 45 - i32.eq - if - i32.const -1 - local.set $sign - end - local.get $ptr - i32.const 2 i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - end - local.get $radix - if - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 0 - drop - i32.const 0 - return - end - local.get $radix - i32.const 16 - i32.eq - if - local.get $len - i32.const 2 - i32.gt_s - if (result i32) - local.get $code - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - end - end - else - local.get $code - i32.const 48 + local.get $len i32.eq - if (result i32) - local.get $len - 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 $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.set $6 - local.get $6 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $6 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $6 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 2 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 8 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 16 - local.set $radix - br $break|1 - end - end - local.get $radix - i32.eqz - if - i32.const 10 - local.set $radix - end end + if + local.get $first + 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 $this + local.get $pos + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 offset=2 + local.set $second + local.get $second + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + local.get $first + 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 $first + i32.const 55296 + i32.sub + i32.const 10 + i32.shl + local.get $second + 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 + return + ) + (func $~lib/string/String#at (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) + (local $len i32) + (local $out 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 - local.set $num + i32.store $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/string/String#get:length + local.set $len + local.get $pos + i32.const 0 + local.get $len + local.get $pos + i32.const 0 + i32.ge_s + select + i32.add + local.set $pos + local.get $pos local.get $len + i32.ge_u + if + i32.const 240 + i32.const 304 + i32.const 57 + i32.const 31 + call $~lib/builtins/abort + unreachable + end + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.set $out + local.get $out + local.get $this + local.get $pos i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $out + 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/string/String#charAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) + (local $out i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - local.set $initial - block $while-break|2 - loop $while-continue|2 - local.get $len - local.tee $9 - i32.const 1 - i32.sub - local.set $len - local.get $9 - if - local.get $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $code - i32.const 48 - i32.sub - local.set $code - else - local.get $code - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $code - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $code - else - local.get $code - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $code - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $code - end - end - end - local.get $code - local.get $radix - i32.ge_u - if - local.get $initial - local.get $len - i32.eq - if - i32.const 0 - drop - i32.const 0 - return - end - br $while-break|2 - end - local.get $num - local.get $radix - i32.mul - local.get $code - i32.add - local.set $num - local.get $ptr - i32.const 2 - i32.add - local.set $ptr - br $while-continue|2 - end - end + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $pos + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $pos + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $out + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/string/String.__not (type $i32_=>_i32) (param $str 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 $0 + local.get $str + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/string/String#get:length + i32.eqz end - local.get $sign - local.get $num - i32.mul + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - local.get $value - local.get $radix - call $~lib/util/string/strtol + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/util/string/strtol (type $i32_i32_=>_i64) (param $str i32) (param $radix i32) (result i64) - (local $len i32) + (func $~lib/string/String.fromCharCodes (type $i32_=>_i32) (param $units i32) (result i32) + (local $length i32) + (local $out i32) (local $ptr i32) - (local $code i32) - (local $sign i64) + (local $i 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 $0 + local.get $units + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $units + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $out + local.get $i + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + ) + (func $~lib/string/String#startsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) (local $6 i32) - (local $num i64) - (local $initial i32) - (local $9 i32) - local.get $str + (local $7 i32) + (local $searchStart i32) + (local $searchLength 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 $0 + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 call $~lib/string/String#get:length local.set $len + local.get $start + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $searchLength + local.get $searchLength + local.get $searchStart + i32.add local.get $len + i32.gt_s + if + i32.const 0 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + local.get $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + i32.const 0 + local.get $searchLength + call $~lib/util/string/compareImpl i32.eqz + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/string/String#endsWith (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $searchLength i32) + (local $searchStart 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 $0 + local.get $end + local.tee $3 + i32.const 0 + local.tee $4 + local.get $3 + local.get $4 + i32.gt_s + select + local.tee $5 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/string/String#get:length + local.tee $6 + local.get $5 + local.get $6 + i32.lt_s + select + local.set $end + local.get $search + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/string/String#get:length + local.set $searchLength + local.get $end + local.get $searchLength + i32.sub + local.set $searchStart + local.get $searchStart + i32.const 0 + i32.lt_s if i32.const 0 - drop - i64.const 0 - return - end - local.get $str - local.set $ptr - local.get $ptr - i32.load16_u $0 - local.set $code - loop $while-continue|0 - local.get $code - call $~lib/util/string/isSpace - if - local.get $ptr - i32.const 2 - i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code - local.get $len - i32.const 1 - i32.sub - local.set $len - br $while-continue|0 - end - end - i64.const 1 - local.set $sign - local.get $code - i32.const 45 - i32.eq - if (result i32) - i32.const 1 - else - local.get $code - i32.const 43 - i32.eq - end - if - local.get $len - i32.const 1 - i32.sub - local.tee $len - i32.eqz - if - i32.const 0 - drop - i64.const 0 - return - end - local.get $code - i32.const 45 - i32.eq - if - i64.const -1 - local.set $sign - end - local.get $ptr - i32.const 2 + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $ptr - i32.load16_u $0 - local.set $code + global.set $~lib/memory/__stack_pointer + local.get $9 + return end - local.get $radix - if - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 0 - drop - i64.const 0 - return - end - local.get $radix - i32.const 16 - i32.eq - if - local.get $len - i32.const 2 - i32.gt_s - if (result i32) - local.get $code - i32.const 48 - i32.eq - else - i32.const 0 - end - if (result i32) - local.get $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - i32.const 120 - i32.eq - else - i32.const 0 - end - if - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - end - end - else - local.get $code - i32.const 48 - i32.eq - if (result i32) - local.get $len - 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 $ptr - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.set $6 - local.get $6 - i32.const 98 - i32.eq - br_if $case0|1 - local.get $6 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $6 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 2 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 - i32.sub - local.set $len - i32.const 8 - local.set $radix - br $break|1 - end - local.get $ptr - i32.const 4 - i32.add - local.set $ptr - local.get $len - i32.const 2 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + local.get $searchStart + local.get $search + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + i32.const 0 + local.get $searchLength + call $~lib/util/string/compareImpl + i32.eqz + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/string/String#endsWith@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $end 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 i32.sub - local.set $len - i32.const 16 - local.set $radix - br $break|1 + br_table $0of1 $1of1 $outOfRange end + unreachable end - local.get $radix - i32.eqz - if - i32.const 10 - local.set $radix - end + global.get $~lib/string/String.MAX_LENGTH + local.set $end end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $search + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $end + call $~lib/string/String#endsWith + 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#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + (local $searchLen i32) + (local $len i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $searchStart 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 - local.set $num + i64.store $0 + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $searchLen + local.get $searchLen + i32.eqz + if + i32.const 0 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len local.get $len - i32.const 1 + i32.eqz + if + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $start + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_s + select + local.tee $7 + local.get $len + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $searchStart + local.get $len + local.get $searchLen i32.sub - local.set $initial - block $while-break|2 - loop $while-continue|2 - local.get $len - local.tee $9 - i32.const 1 - i32.sub - local.set $len - local.get $9 + local.set $len + loop $for-loop|0 + local.get $searchStart + local.get $len + i32.le_s + if + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + local.get $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + i32.const 0 + local.get $searchLen + call $~lib/util/string/compareImpl + i32.eqz if - local.get $ptr - i32.load16_u $0 - local.set $code - local.get $code - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if - local.get $code - i32.const 48 - i32.sub - local.set $code - else - local.get $code - i32.const 65 - i32.sub - i32.const 90 - i32.const 65 - i32.sub - i32.le_u - if - local.get $code - i32.const 65 - i32.const 10 - i32.sub - i32.sub - local.set $code - else - local.get $code - i32.const 97 - i32.sub - i32.const 122 - i32.const 97 - i32.sub - i32.le_u - if - local.get $code - i32.const 97 - i32.const 10 - i32.sub - i32.sub - local.set $code - end - end - end - local.get $code - local.get $radix - i32.ge_u - if - local.get $initial - local.get $len - i32.eq - if - i32.const 0 - drop - i64.const 0 - return - end - br $while-break|2 - end - local.get $num - local.get $radix - i64.extend_i32_s - i64.mul - local.get $code - i64.extend_i32_u - i64.add - local.set $num - local.get $ptr - i32.const 2 + local.get $searchStart + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $ptr - br $while-continue|2 + global.set $~lib/memory/__stack_pointer + local.get $10 + return end + local.get $searchStart + i32.const 1 + i32.add + local.set $searchStart + br $for-loop|0 end end - local.get $sign - local.get $num - i64.mul - return - ) - (func $~lib/number/I64.parseInt (type $i32_i32_=>_i64) (param $value i32) (param $radix i32) (result i64) - local.get $value - local.get $radix - call $~lib/util/string/strtol - return - ) - (func $~lib/string/parseFloat (type $i32_=>_f64) (param $str i32) (result f64) - local.get $str - call $~lib/util/string/strtod - return - ) - (func $~lib/object/Object.is (type $f64_f64_=>_i32) (param $x f64) (param $y f64) (result i32) - i32.const 1 - drop - i32.const 8 + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.eq - drop - local.get $x - local.get $x - f64.ne - local.get $y - local.get $y - f64.ne - i32.and - local.get $x - i64.reinterpret_f64 - local.get $y - i64.reinterpret_f64 - i64.eq - i32.or - return - ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String.__eq - i32.eqz + (func $~lib/string/String#includes (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $search + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $start + 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 return ) - (func $~lib/string/String.__gt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - (local $rightLength i32) - (local $4 i32) - (local $5 i32) - (local $res i32) - local.get $left - local.get $right - i32.eq + (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) + (local $thisSize i32) + (local $targetSize i32) + (local $padSize i32) + (local $prependSize i32) + (local $out i32) + (local $repeatCount i32) + (local $restBase i32) + (local $restSize 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 $0 + local.get $this + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $length + i32.const 1 + i32.shl + local.set $targetSize + local.get $pad + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $padSize + local.get $targetSize + local.get $thisSize + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $padSize + i32.eqz + end if - i32.const 0 + local.get $this + 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 $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - i32.eqz + local.get $targetSize + local.get $thisSize + i32.sub + local.set $prependSize + global.get $~lib/memory/__stack_pointer + local.get $targetSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $prependSize + local.get $padSize + i32.gt_u if - i32.const 0 - return + local.get $prependSize + i32.const 2 + i32.sub + local.get $padSize + i32.div_u + local.set $repeatCount + local.get $repeatCount + local.get $padSize + i32.mul + local.set $restBase + local.get $prependSize + local.get $restBase + i32.sub + local.set $restSize + local.get $out + local.get $pad + local.get $padSize + local.get $repeatCount + call $~lib/memory/memory.repeat + local.get $out + local.get $restBase + i32.add + local.get $pad + local.get $restSize + memory.copy $0 $0 + else + local.get $out + local.get $pad + local.get $prependSize + memory.copy $0 $0 end - local.get $right + local.get $out + local.get $prependSize + i32.add + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/string/String#padEnd (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) + (local $thisSize i32) + (local $targetSize i32) + (local $padSize i32) + (local $appendSize i32) + (local $out i32) + (local $repeatCount i32) + (local $restBase i32) + (local $restSize 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 $0 + local.get $this + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 call $~lib/string/String#get:length - local.set $rightLength - local.get $rightLength - i32.eqz - if + i32.const 1 + i32.shl + local.set $thisSize + local.get $length + i32.const 1 + i32.shl + local.set $targetSize + local.get $pad + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $padSize + local.get $targetSize + local.get $thisSize + i32.lt_u + if (result i32) i32.const 1 + else + local.get $padSize + i32.eqz + end + if + local.get $this + 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 $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - local.tee $4 - local.get $rightLength - local.tee $5 - local.get $4 - local.get $5 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.set $res - local.get $res - if (result i32) - local.get $res - i32.const 0 - i32.gt_s + local.get $targetSize + local.get $thisSize + i32.sub + local.set $appendSize + global.get $~lib/memory/__stack_pointer + local.get $targetSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $appendSize + local.get $padSize + i32.gt_u + if + local.get $appendSize + i32.const 2 + i32.sub + local.get $padSize + i32.div_u + local.set $repeatCount + local.get $repeatCount + local.get $padSize + i32.mul + local.set $restBase + local.get $appendSize + local.get $restBase + i32.sub + local.set $restSize + local.get $out + local.get $thisSize + i32.add + local.get $pad + local.get $padSize + local.get $repeatCount + call $~lib/memory/memory.repeat + local.get $out + local.get $thisSize + i32.add + local.get $restBase + i32.add + local.get $pad + local.get $restSize + memory.copy $0 $0 else - local.get $leftLength - local.get $rightLength - i32.gt_s + local.get $out + local.get $thisSize + i32.add + local.get $pad + local.get $appendSize + memory.copy $0 $0 end + local.get $out + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 return ) - (func $~lib/string/String.__lt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $rightLength i32) - (local $leftLength i32) - (local $4 i32) + (func $~lib/string/String#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start i32) (result i32) + (local $searchLen i32) + (local $len i32) (local $5 i32) - (local $res i32) - local.get $left - local.get $right - i32.eq - if - i32.const 0 - return - end - local.get $right + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $searchStart 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 $0 + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 call $~lib/string/String#get:length - local.set $rightLength - local.get $rightLength + local.set $searchLen + local.get $searchLen i32.eqz if - i32.const 0 + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return end - local.get $left + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength + local.set $len + local.get $len i32.eqz if - i32.const 1 + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - local.tee $4 - local.get $rightLength + local.get $start local.tee $5 - local.get $4 + i32.const 0 + local.tee $6 local.get $5 - i32.lt_s + local.get $6 + i32.gt_s select - call $~lib/util/string/compareImpl - local.set $res - local.get $res - if (result i32) - local.get $res - i32.const 0 - i32.lt_s - else - local.get $leftLength - local.get $rightLength - i32.lt_s - end - return - ) - (func $~lib/string/String.__gte (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String.__lt - i32.eqz - return - ) - (func $~lib/string/String.__lte (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String.__gt - i32.eqz - return - ) - (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 + local.tee $7 + local.get $len + local.get $searchLen i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s select - memory.copy $0 $0 - local.get $newPtr - return - ) - (func $~lib/string/String#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 $end - end - local.get $this - local.get $start - local.get $end - call $~lib/string/String#slice - ) - (func $~lib/string/String#substr@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of1 $1of1 $outOfRange + local.set $searchStart + loop $for-loop|0 + local.get $searchStart + i32.const 0 + i32.ge_s + if + local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + local.get $searchStart + local.get $search + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=4 + local.get $10 + i32.const 0 + local.get $searchLen + call $~lib/util/string/compareImpl + i32.eqz + if + local.get $searchStart + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return end - unreachable + local.get $searchStart + i32.const 1 + i32.sub + local.set $searchStart + br $for-loop|0 end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $length end - local.get $this - local.get $start - local.get $length - call $~lib/string/String#substr + i32.const -1 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $start 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 $0 block $1of1 block $0of1 block $outOfRange @@ -6187,2729 +6838,3936 @@ unreachable end global.get $~lib/builtins/i32.MAX_VALUE - local.set $end + local.set $start end local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $search + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $start - local.get $end - call $~lib/string/String#substring - ) - (func $~lib/array/Array<~lib/string/String>#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/arraybuffer/ArrayBufferView#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + call $~lib/string/String#lastIndexOf + 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/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) - (local $oldCapacity i32) - (local $oldData i32) - (local $6 i32) + (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $alen i32) + (local $blen i32) + (local $4 i32) + (local $5 i32) + (local $res i32) (local $7 i32) - (local $newCapacity i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $newData i32) - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $oldCapacity - local.get $newSize - local.get $oldCapacity - local.get $alignLog2 - i32.shr_u - i32.gt_u + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $other + local.get $this + i32.eq if - local.get $newSize - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 13040 - i32.const 14640 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $oldData - local.get $newSize - local.tee $6 + i32.const 0 + local.set $7 + global.get $~lib/memory/__stack_pointer i32.const 8 - local.tee $7 - local.get $6 + i32.add + global.set $~lib/memory/__stack_pointer local.get $7 - i32.gt_u - select - local.get $alignLog2 - i32.shl - local.set $newCapacity - local.get $canGrow - if - local.get $oldCapacity - i32.const 1 - i32.shl - local.tee $9 - i32.const 1073741820 - local.tee $10 - local.get $9 - local.get $10 - i32.lt_u - select - local.tee $11 - local.get $newCapacity - local.tee $12 - local.get $11 - local.get $12 - i32.gt_u - select - local.set $newCapacity - end - local.get $oldData - local.get $newCapacity - call $~lib/rt/itcms/__renew - local.set $newData - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $newData - local.get $oldData - i32.ne - if - local.get $array - local.get $newData - i32.store $0 - local.get $array - local.get $newData - i32.store $0 offset=4 - local.get $array - local.get $newData + return + end + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $alen + local.get $other + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $blen + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + local.get $other + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + local.get $alen + local.tee $4 + local.get $blen + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $res + local.get $res + if (result i32) + local.get $res + else + local.get $alen + local.get $blen + i32.sub + end + local.set $res + local.get $res + i32.const 0 + i32.gt_s + local.get $res + i32.const 0 + i32.lt_s + i32.sub + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/string/String#trimStart (type $i32_=>_i32) (param $this i32) (result i32) + (local $size i32) + (local $offset i32) + (local $out 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $size + i32.const 0 + local.set $offset + loop $while-continue|0 + local.get $offset + local.get $size + i32.lt_u + if (result i32) + local.get $this + local.get $offset + i32.add + i32.load16_u $0 + call $~lib/util/string/isSpace + else i32.const 0 - call $~lib/rt/itcms/__link end - local.get $array - local.get $newCapacity - i32.store $0 offset=8 + if + local.get $offset + i32.const 2 + i32.add + local.set $offset + br $while-continue|0 + end end - ) - (func $~lib/array/Array<~lib/string/String>#set:length_ (type $i32_i32_=>_none) (param $this i32) (param $length_ i32) - local.get $this - local.get $length_ - i32.store $0 offset=12 - ) - (func $~lib/array/Array<~lib/string/String>#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $offset + i32.eqz + if + local.get $this + 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 $size + local.get $offset + i32.sub + local.set $size + local.get $size + i32.eqz + if + i32.const 688 + 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 + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out local.get $this - i32.load $0 offset=4 + local.get $offset + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index + (func $~lib/string/String#trimEnd (type $i32_=>_i32) (param $this i32) (result i32) + (local $originalSize i32) + (local $size i32) + (local $out 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 $0 local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u - if - local.get $index - i32.const 0 - i32.lt_s + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $originalSize + local.get $originalSize + local.set $size + loop $while-continue|0 + local.get $size + if (result i32) + local.get $this + local.get $size + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + call $~lib/util/string/isSpace + else + i32.const 0 + end if - i32.const 240 - i32.const 14640 - i32.const 130 - i32.const 22 - call $~lib/builtins/abort - unreachable + local.get $size + i32.const 2 + i32.sub + local.set $size + br $while-continue|0 end - local.get $this - local.get $index - i32.const 1 + end + local.get $size + i32.eqz + if + i32.const 688 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.const 2 - i32.const 1 - call $~lib/array/ensureCapacity + global.set $~lib/memory/__stack_pointer + local.get $4 + return + end + local.get $size + local.get $originalSize + i32.eq + if local.get $this - local.get $index - i32.const 1 + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - call $~lib/array/Array<~lib/string/String>#set:length_ + global.set $~lib/memory/__stack_pointer + local.get $4 + return end - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index + global.get $~lib/memory/__stack_pointer + local.get $size i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - i32.const 1 - drop + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link + local.get $size + memory.copy $0 $0 + local.get $out + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) - (local $oldLen i32) + (func $~lib/string/String#trim (type $i32_=>_i32) (param $this i32) (result i32) (local $len i32) + (local $size i32) + (local $offset i32) + (local $out 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 $0 local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - local.set $oldLen - local.get $oldLen - i32.const 1 - i32.add + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/string/String#get:length local.set $len - local.get $this local.get $len - i32.const 2 i32.const 1 - call $~lib/array/ensureCapacity - i32.const 1 - drop - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $oldLen - i32.const 2 i32.shl - i32.add - local.get $value - i32.store $0 - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - local.get $this - local.get $len - call $~lib/array/Array<~lib/string/String>#set:length_ - local.get $len - return - ) - (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable - end + local.set $size + loop $while-continue|0 + local.get $size + if (result i32) + local.get $this + local.get $size + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + call $~lib/util/string/isSpace + else i32.const 0 - local.set $separator end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit + if + local.get $size + i32.const 2 + i32.sub + local.set $size + br $while-continue|0 + end end - local.get $this - local.get $separator - local.get $limit - call $~lib/string/String#split - ) - (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - return - ) - (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) - local.get $value - i32.const 100000 - i32.lt_u - if - local.get $value - i32.const 100 + i32.const 0 + local.set $offset + loop $while-continue|1 + local.get $offset + local.get $size i32.lt_u - if - i32.const 1 - local.get $value - i32.const 10 - i32.ge_u + if (result i32) + local.get $this + local.get $offset i32.add - return + i32.load16_u $0 + call $~lib/util/string/isSpace else - i32.const 3 - local.get $value - i32.const 10000 - i32.ge_u - i32.add - local.get $value - i32.const 1000 - i32.ge_u - i32.add - return + i32.const 0 end - unreachable - else - local.get $value - i32.const 10000000 - i32.lt_u if - i32.const 6 - local.get $value - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 - local.get $value - i32.const 1000000000 - i32.ge_u - i32.add - local.get $value - i32.const 100000000 - i32.ge_u + local.get $offset + i32.const 2 i32.add - return + local.set $offset + local.get $size + i32.const 2 + i32.sub + local.set $size + br $while-continue|1 end - unreachable end - unreachable + local.get $size + 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 $offset + i32.eqz + if (result i32) + local.get $size + local.get $len + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $this + 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 $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $offset + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $5 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $t i32) - (local $r i32) - (local $d1 i32) - (local $d2 i32) - (local $digits1 i64) - (local $digits2 i64) - (local $t|9 i32) - (local $d1|10 i32) - (local $digits i32) - (local $digits|12 i32) - (local $digit i32) - loop $while-continue|0 - local.get $num - i32.const 10000 - i32.ge_u + (func $~lib/util/string/strtob (type $i32_=>_i32) (param $str i32) (result i32) + (local $size i32) + (local $offset 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 $0 + local.get $str + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $size + i32.const 0 + local.set $offset + local.get $size + i32.const 8 + i32.gt_u + if + loop $while-continue|0 + local.get $size + if (result i32) + local.get $str + local.get $size + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $size + i32.const 2 + i32.sub + local.set $size + br $while-continue|0 + end + end + local.get $size + i32.const 8 + i32.gt_u if - local.get $num - i32.const 10000 - i32.div_u - local.set $t - local.get $num - i32.const 10000 - i32.rem_u - local.set $r - local.get $t - local.set $num - local.get $r - i32.const 100 - i32.div_u - local.set $d1 - local.get $r - i32.const 100 - i32.rem_u - local.set $d2 - i32.const 15196 - local.get $d1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 15196 - local.get $d2 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits2 + loop $while-continue|1 + local.get $offset + local.get $size + i32.lt_u + if (result i32) + local.get $str + local.get $offset + i32.add + i32.load16_u $0 + call $~lib/util/string/isSpace + else + i32.const 0 + end + if + local.get $offset + i32.const 2 + i32.add + local.set $offset + br $while-continue|1 + end + end + local.get $size local.get $offset - i32.const 4 i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 + local.set $size end end - local.get $num - i32.const 100 - i32.ge_u + local.get $size + i32.const 8 + i32.ne if - local.get $num - i32.const 100 - i32.div_u - local.set $t|9 - local.get $num - i32.const 100 - i32.rem_u - local.set $d1|10 - local.get $t|9 - local.set $num - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 15196 - local.get $d1|10 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits - local.get $buffer - local.get $offset - i32.const 1 - i32.shl + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $digits - i32.store $0 + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - local.get $num - i32.const 10 - i32.ge_u + local.get $str + local.get $offset + i32.add + i64.load $0 + i64.const 28429475166421108 + i64.eq + 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/util/string/strtol (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) + (local $len i32) + (local $ptr i32) + (local $code i32) + (local $sign f64) + (local $6 i32) + (local $num f64) + (local $initial i32) + (local $9 i32) + (local $10 i32) + (local $11 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 $0 + local.get $str + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $len + i32.eqz if - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 15196 - local.get $num - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits|12 - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits|12 - i32.store $0 - else - local.get $offset - i32.const 1 - i32.sub - local.set $offset - i32.const 48 - local.get $num - i32.add - local.set $digit - local.get $buffer - local.get $offset i32.const 1 - i32.shl + drop + f64.const nan:0x8000000000000 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $digit - i32.store16 $0 + global.set $~lib/memory/__stack_pointer + local.get $11 + return end - ) - (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u $0 + local.set $code loop $while-continue|0 - local.get $offset - i32.const 2 - i32.ge_u + local.get $code + call $~lib/util/string/isSpace if - local.get $offset - i32.const 2 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 15616 - local.get $num - i32.wrap_i64 - i32.const 255 - i32.and + local.get $ptr i32.const 2 - i32.shl i32.add - i32.load $0 - i32.store $0 - local.get $num - i64.const 8 - i64.shr_u - local.set $num + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $len + i32.const 1 + i32.sub + local.set $len br $while-continue|0 end end - local.get $offset - i32.const 1 - i32.and - if - local.get $buffer - i32.const 15616 - local.get $num - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - end - ) - (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) - (local $value i32) - (local $b64 i64) - (local $b i64) - (local $e i32) - block $~lib/util/number/isPowerOf2|inlined.0 (result i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq - br $~lib/util/number/isPowerOf2|inlined.0 - end - if - i32.const 63 - local.get $num - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $base - i32.clz - i32.sub - i32.div_u + f64.const 1 + local.set $sign + local.get $code + i32.const 45 + i32.eq + if (result i32) i32.const 1 - i32.add - return - end - local.get $base - i64.extend_i32_s - local.set $b64 - local.get $b64 - local.set $b - i32.const 1 - local.set $e - loop $while-continue|0 - local.get $num - local.get $b - i64.ge_u + else + local.get $code + i32.const 43 + i32.eq + end + if + local.get $len + i32.const 1 + i32.sub + local.tee $len + i32.eqz if - local.get $num - local.get $b - i64.div_u - local.set $num - local.get $b - local.get $b - i64.mul - local.set $b - local.get $e i32.const 1 - i32.shl - local.set $e - br $while-continue|0 + drop + f64.const nan:0x8000000000000 + 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 $code + i32.const 45 + i32.eq + if + f64.const -1 + local.set $sign end + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code end - loop $while-continue|1 - local.get $num - i64.const 1 - i64.ge_u + local.get $radix + if + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end if - local.get $num - local.get $b64 - i64.div_u - local.set $num - local.get $e i32.const 1 + drop + f64.const nan:0x8000000000000 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $e - br $while-continue|1 + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $radix + i32.const 16 + i32.eq + if + local.get $len + i32.const 2 + i32.gt_s + if (result i32) + local.get $code + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + end + end + else + local.get $code + i32.const 48 + i32.eq + if (result i32) + local.get $len + 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 $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.set $6 + local.get $6 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $6 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $6 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 2 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 8 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 16 + local.set $radix + br $break|1 + end + end + local.get $radix + i32.eqz + if + i32.const 10 + local.set $radix + end + end + f64.const 0 + local.set $num + local.get $len + i32.const 1 + i32.sub + local.set $initial + block $while-break|2 + loop $while-continue|2 + local.get $len + local.tee $9 + i32.const 1 + i32.sub + local.set $len + local.get $9 + if + local.get $ptr + i32.load16_u $0 + local.set $code + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $code + i32.const 48 + i32.sub + local.set $code + else + local.get $code + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $code + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $code + else + local.get $code + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $code + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $code + end + end + end + local.get $code + local.get $radix + i32.ge_u + if + local.get $initial + local.get $len + i32.eq + if + i32.const 1 + drop + f64.const nan:0x8000000000000 + 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 + br $while-break|2 + end + local.get $num + local.get $radix + f64.convert_i32_s + f64.mul + local.get $code + f64.convert_i32_u + f64.add + local.set $num + local.get $ptr + i32.const 2 + i32.add + local.set $ptr + br $while-continue|2 + end end end - local.get $e - i32.const 1 - i32.sub + local.get $sign + local.get $num + f64.mul + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 return ) - (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) - (local $base i64) - (local $shift i64) - (local $mask i64) - (local $q i64) - local.get $radix - i64.extend_i32_s - local.set $base - local.get $radix - local.get $radix - i32.const 1 + (func $~lib/string/parseInt (type $i32_i32_=>_f64) (param $str i32) (param $radix i32) (result f64) + (local $2 i32) + (local $3 f64) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - i32.and + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq - if - local.get $radix - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $shift - local.get $base - i64.const 1 - i64.sub - local.set $mask - loop $do-loop|0 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 16672 - local.get $num - local.get $mask - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $num - local.get $shift - i64.shr_u - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|0 - end - else - loop $do-loop|1 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $num - local.get $base - i64.div_u - local.set $q - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 16672 - local.get $num - local.get $q - local.get $base - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $q - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|1 - end - end + i32.store $0 + local.get $str + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $radix + 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 + return ) - (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) - local.get $value - i64.const 1000000000000000 - i64.lt_u - if - local.get $value - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $value - i64.const 100000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $value - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000000 - i64.ge_u - i32.add - return - end - unreachable - else - local.get $value - i64.const 100000000000000000 - i64.lt_u - if - i32.const 16 - local.get $value - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $value - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $value - i64.const 1000000000000000000 - i64.ge_u - i32.add - return - end - unreachable + (func $~lib/util/string/strtod (type $i32_=>_f64) (param $str i32) (result f64) + (local $len i32) + (local $ptr i32) + (local $code i32) + (local $sign f64) + (local $savedPtr i32) + (local $pointed i32) + (local $consumed i32) + (local $position i32) + (local $x i64) + (local $noDigits i32) + (local $digit i32) + (local $12 i32) + (local $13 i32) + (local $ptr|14 i32) + (local $len|15 i32) + (local $sign|16 i32) + (local $magnitude i32) + (local $code|18 i32) + (local $digit|19 i32) + (local $significand i64) + (local $exp i32) + (local $significandf f64) + (local $n i32) + (local $24 i32) + (local $25 i32) + (local $n|26 i32) + (local $n|27 i32) + (local $significand|28 i64) + (local $exp|29 i32) + (local $shift i64) + (local $q i64) + (local $r i64) + (local $s i64) + (local $b i64) + (local $q|35 i64) + (local $r|36 i64) + (local $s|37 i64) + (local $significand|38 i64) + (local $exp|39 i32) + (local $shift|40 i64) + (local $a i64) + (local $b|42 i32) + (local $low i64) + (local $high i64) + (local $overflow i32) + (local $space i32) + (local $revspace i64) + (local $a|48 i64) + (local $b|49 i32) + (local $low|50 i64) + (local $high|51 i64) + (local $overflow|52 i32) + (local $space|53 i32) + (local $revspace|54 i64) + (local $55 i32) + (local $56 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 $0 + local.get $str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/string/String#get:length + local.set $len + local.get $len + i32.eqz + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return end - unreachable - ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $t i64) - (local $r i32) - (local $b i32) - (local $c i32) - (local $b1 i32) - (local $b2 i32) - (local $c1 i32) - (local $c2 i32) - (local $digits1 i64) - (local $digits2 i64) + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u $0 + local.set $code + f64.const 1 + local.set $sign loop $while-continue|0 - local.get $num - i64.const 100000000 - i64.ge_u + local.get $len + if (result i32) + local.get $code + call $~lib/util/string/isSpace + else + i32.const 0 + end if - local.get $num - i64.const 100000000 - i64.div_u - local.set $t - local.get $num - local.get $t - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $r - local.get $t - local.set $num - local.get $r - i32.const 10000 - i32.div_u - local.set $b - local.get $r - i32.const 10000 - i32.rem_u - local.set $c - local.get $b - i32.const 100 - i32.div_u - local.set $b1 - local.get $b - i32.const 100 - i32.rem_u - local.set $b2 - local.get $c - i32.const 100 - i32.div_u - local.set $c1 - local.get $c - i32.const 100 - i32.rem_u - local.set $c2 - i32.const 15196 - local.get $c1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 15196 - local.get $c2 + local.get $ptr i32.const 2 - i32.shl i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $len i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - i32.const 15196 - local.get $b1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 15196 - local.get $b2 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 + local.set $len br $while-continue|0 end end - local.get $buffer - local.get $num - i32.wrap_i64 - local.get $offset - call $~lib/util/number/utoa32_dec_lut - ) - (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) - (local $one_exp i32) - (local $one_frc i64) - (local $mask i64) - (local $wp_w_frc i64) - (local $p1 i32) - (local $p2 i64) - (local $kappa i32) - (local $len i32) - (local $d i32) - (local $16 i32) - (local $17 i32) - (local $tmp i64) - (local $buffer|19 i32) - (local $len|20 i32) - (local $delta|21 i64) - (local $rest i64) - (local $ten_kappa i64) - (local $wp_w i64) - (local $lastp i32) - (local $digit i32) - (local $d|27 i64) - (local $28 i32) - (local $buffer|29 i32) - (local $len|30 i32) - (local $delta|31 i64) - (local $rest|32 i64) - (local $ten_kappa|33 i64) - (local $wp_w|34 i64) - (local $lastp|35 i32) - (local $digit|36 i32) - i32.const 0 - local.get $mp_exp - i32.sub - local.set $one_exp - i64.const 1 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $one_frc - local.get $one_frc - i64.const 1 - i64.sub - local.set $mask - local.get $mp_frc - local.get $w_frc - i64.sub - local.set $wp_w_frc - local.get $mp_frc - local.get $one_exp - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $p1 - local.get $mp_frc - local.get $mask - i64.and - local.set $p2 - local.get $p1 - call $~lib/util/number/decimalCount32 - local.set $kappa - local.get $sign - local.set $len - loop $while-continue|0 - local.get $kappa - i32.const 0 - i32.gt_s + local.get $len + i32.eqz + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + local.get $code + i32.const 45 + i32.eq + if + local.get $len + i32.const 1 + i32.sub + local.tee $len + i32.eqz + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + f64.const -1 + local.set $sign + else + local.get $code + i32.const 43 + 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 $kappa - local.set $16 - local.get $16 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $16 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $16 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $16 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $16 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $16 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $16 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $16 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $16 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $16 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $p1 - i32.const 1000000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100 - i32.div_u - local.set $d - local.get $p1 - i32.const 100 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10 - i32.div_u - local.set $d - local.get $p1 - i32.const 10 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - local.set $d - i32.const 0 - local.set $p1 - br $break|1 - end - i32.const 0 - local.set $d - br $break|1 + local.get $len + i32.const 1 + i32.sub + local.tee $len + i32.eqz + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return end - local.get $d + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + end + end + local.get $len + i32.const 8 + i32.ge_s + if (result i32) + local.get $code + i32.const 73 + i32.eq + else + i32.const 0 + end + if + local.get $ptr + i64.load $0 + i64.const 29555310648492105 + i64.eq + if (result i32) + local.get $ptr + i64.load $0 offset=8 + i64.const 34058970405077102 + i64.eq + else + i32.const 0 + end + if + f64.const inf + local.get $sign + f64.mul + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + local.get $code + i32.const 46 + i32.ne + if (result i32) + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + else + i32.const 0 + end + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + local.get $ptr + local.set $savedPtr + loop $while-continue|1 + local.get $code + i32.const 48 + i32.eq + if + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code local.get $len - i32.or + i32.const 1 + i32.sub + local.set $len + br $while-continue|1 + end + end + local.get $len + i32.const 0 + i32.le_s + if + f64.const 0 + local.get $sign + f64.mul + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + i32.const 0 + local.set $pointed + i32.const 0 + local.set $consumed + i32.const 0 + local.set $position + i64.const 0 + local.set $x + local.get $code + i32.const 46 + i32.eq + if + local.get $savedPtr + local.get $ptr + i32.sub + i32.eqz + local.set $noDigits + local.get $ptr + i32.const 2 + i32.add + local.set $ptr + local.get $len + i32.const 1 + i32.sub + local.set $len + local.get $len + i32.eqz + if (result i32) + local.get $noDigits + else + i32.const 0 + end + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + i32.const 1 + local.set $pointed + loop $for-loop|2 + local.get $ptr + i32.load16_u $0 + local.tee $code + i32.const 48 + i32.eq if - local.get $buffer local.get $len - local.tee $17 i32.const 1 - i32.add + i32.sub local.set $len - local.get $17 + local.get $position i32.const 1 - i32.shl + i32.sub + local.set $position + local.get $ptr + i32.const 2 i32.add - i32.const 48 - local.get $d - i32.const 65535 - i32.and + local.set $ptr + br $for-loop|2 + end + end + local.get $len + i32.const 0 + i32.le_s + if + f64.const 0 + local.get $sign + f64.mul + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + local.get $position + i32.eqz + if (result i32) + local.get $noDigits + else + i32.const 0 + end + if (result i32) + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + else + i32.const 0 + end + if + f64.const nan:0x8000000000000 + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return + end + end + local.get $code + i32.const 48 + i32.sub + local.set $digit + block $for-break3 + loop $for-loop|3 + local.get $digit + i32.const 10 + i32.lt_u + if (result i32) + i32.const 1 + else + local.get $code + i32.const 46 + i32.eq + if (result i32) + local.get $pointed + i32.eqz + else + i32.const 0 + end + end + if + local.get $digit + i32.const 10 + i32.lt_u + if + local.get $consumed + i32.const 19 + i32.lt_s + if (result i64) + i64.const 10 + local.get $x + i64.mul + local.get $digit + i64.extend_i32_u + i64.add + else + local.get $x + local.get $digit + i32.eqz + i32.eqz + i64.extend_i32_u + i64.or + end + local.set $x + local.get $consumed + i32.const 1 + i32.add + local.set $consumed + else + local.get $consumed + local.set $position + i32.const 1 + local.set $pointed + end + local.get $len + i32.const 1 + i32.sub + local.tee $len + i32.eqz + if + br $for-break3 + end + local.get $ptr + i32.const 2 i32.add - i32.store16 $0 + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $code + i32.const 48 + i32.sub + local.set $digit + br $for-loop|3 end - local.get $kappa + end + end + local.get $pointed + i32.eqz + if + local.get $consumed + local.set $position + end + block $~lib/util/string/scientific|inlined.0 (result f64) + local.get $x + local.set $significand + local.get $position + i32.const 19 + local.tee $12 + local.get $consumed + local.tee $13 + local.get $12 + local.get $13 + i32.lt_s + select + i32.sub + block $~lib/util/string/parseExp|inlined.0 (result i32) + local.get $ptr + local.set $ptr|14 + local.get $len + local.set $len|15 i32.const 1 - i32.sub - local.set $kappa - local.get $p1 - i64.extend_i32_u - local.get $one_exp - i64.extend_i32_s - i64.shl - local.get $p2 - i64.add - local.set $tmp - local.get $tmp - local.get $delta - i64.le_u + local.set $sign|16 + i32.const 0 + local.set $magnitude + local.get $ptr|14 + i32.load16_u $0 + local.set $code|18 + local.get $code|18 + i32.const 32 + i32.or + i32.const 101 + i32.ne + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $len|15 + i32.const 1 + i32.sub + local.tee $len|15 + i32.eqz if - global.get $~lib/util/number/_K - local.get $kappa - i32.add - global.set $~lib/util/number/_K - local.get $buffer - local.set $buffer|19 - local.get $len - local.set $len|20 - local.get $delta - local.set $delta|21 - local.get $tmp - local.set $rest - i32.const 23248 - local.get $kappa - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $ten_kappa - local.get $wp_w_frc - local.set $wp_w - local.get $buffer|19 - local.get $len|20 + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $ptr|14 + i32.const 2 + i32.add + local.tee $ptr|14 + i32.load16_u $0 + local.set $code|18 + local.get $code|18 + i32.const 45 + i32.eq + if + local.get $len|15 i32.const 1 i32.sub - i32.const 1 - i32.shl + local.tee $len|15 + i32.eqz + if + i32.const 0 + br $~lib/util/string/parseExp|inlined.0 + end + local.get $ptr|14 + i32.const 2 i32.add - local.set $lastp - local.get $lastp + local.tee $ptr|14 i32.load16_u $0 - local.set $digit - loop $while-continue|3 - local.get $rest - local.get $wp_w - i64.lt_u - if (result i32) - local.get $delta|21 - local.get $rest - i64.sub - local.get $ten_kappa - i64.ge_u - else + local.set $code|18 + i32.const -1 + local.set $sign|16 + else + local.get $code|18 + i32.const 43 + i32.eq + if + local.get $len|15 + i32.const 1 + i32.sub + local.tee $len|15 + i32.eqz + if i32.const 0 + br $~lib/util/string/parseExp|inlined.0 end - if (result i32) - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w - local.get $rest - i64.sub - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.sub - i64.gt_u - end - else + local.get $ptr|14 + i32.const 2 + i32.add + local.tee $ptr|14 + i32.load16_u $0 + local.set $code|18 + end + end + loop $while-continue|4 + local.get $code|18 + i32.const 48 + i32.eq + if + local.get $len|15 + i32.const 1 + i32.sub + local.tee $len|15 + i32.eqz + if i32.const 0 + br $~lib/util/string/parseExp|inlined.0 end + local.get $ptr|14 + i32.const 2 + i32.add + local.tee $ptr|14 + i32.load16_u $0 + local.set $code|18 + br $while-continue|4 + end + end + local.get $code|18 + i32.const 48 + i32.sub + local.set $digit|19 + loop $for-loop|5 + local.get $len|15 + if (result i32) + local.get $digit|19 + i32.const 10 + i32.lt_u + else + i32.const 0 + end + if + local.get $magnitude + i32.const 3200 + i32.ge_s if - local.get $digit - i32.const 1 - i32.sub - local.set $digit - local.get $rest - local.get $ten_kappa - i64.add - local.set $rest - br $while-continue|3 + local.get $sign|16 + i32.const 3200 + i32.mul + br $~lib/util/string/parseExp|inlined.0 end + i32.const 10 + local.get $magnitude + i32.mul + local.get $digit|19 + i32.add + local.set $magnitude + local.get $ptr|14 + i32.const 2 + i32.add + local.tee $ptr|14 + i32.load16_u $0 + local.set $code|18 + local.get $len|15 + i32.const 1 + i32.sub + local.set $len|15 + local.get $code|18 + i32.const 48 + i32.sub + local.set $digit|19 + br $for-loop|5 end - local.get $lastp - local.get $digit - i32.store16 $0 - local.get $len - return end - br $while-continue|0 + local.get $sign|16 + local.get $magnitude + i32.mul + br $~lib/util/string/parseExp|inlined.0 + end + i32.add + local.set $exp + local.get $significand + i64.const 0 + i64.ne + i32.eqz + if (result i32) + i32.const 1 + else + local.get $exp + i32.const -342 + i32.lt_s end - end - loop $while-continue|4 - i32.const 1 if - local.get $p2 - i64.const 10 - i64.mul - local.set $p2 - local.get $delta - i64.const 10 - i64.mul - local.set $delta - local.get $p2 - local.get $one_exp - i64.extend_i32_s - i64.shr_u - local.set $d|27 - local.get $d|27 - local.get $len - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $buffer - local.get $len - local.tee $28 - i32.const 1 - i32.add - local.set $len - local.get $28 - i32.const 1 + f64.const 0 + br $~lib/util/string/scientific|inlined.0 + end + local.get $exp + i32.const 308 + i32.gt_s + if + f64.const inf + br $~lib/util/string/scientific|inlined.0 + end + local.get $significand + f64.convert_i64_u + local.set $significandf + local.get $exp + i32.eqz + if + local.get $significandf + br $~lib/util/string/scientific|inlined.0 + end + local.get $exp + i32.const 22 + i32.gt_s + if (result i32) + local.get $exp + i32.const 22 + i32.const 15 + i32.add + i32.le_s + else + i32.const 0 + end + if + local.get $significandf + block $~lib/util/string/pow10|inlined.0 (result f64) + local.get $exp + i32.const 22 + i32.sub + local.set $n + i32.const 3648 + local.get $n + i32.const 3 i32.shl i32.add - i32.const 48 - local.get $d|27 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.add - i32.store16 $0 + f64.load $0 + br $~lib/util/string/pow10|inlined.0 end - local.get $p2 - local.get $mask - i64.and - local.set $p2 - local.get $kappa - i32.const 1 - i32.sub - local.set $kappa - local.get $p2 - local.get $delta - i64.lt_u + f64.mul + local.set $significandf + i32.const 22 + local.set $exp + end + local.get $significand + i64.const 9007199254740991 + i64.le_u + if (result i32) + local.get $exp + local.tee $24 + i32.const 31 + i32.shr_s + local.tee $25 + local.get $24 + i32.add + local.get $25 + i32.xor + i32.const 22 + i32.le_s + else + i32.const 0 + end + if + local.get $exp + i32.const 0 + i32.gt_s if - global.get $~lib/util/number/_K - local.get $kappa - i32.add - global.set $~lib/util/number/_K - local.get $wp_w_frc - i32.const 23248 + local.get $significandf + block $~lib/util/string/pow10|inlined.1 (result f64) + local.get $exp + local.set $n|26 + i32.const 3648 + local.get $n|26 + i32.const 3 + i32.shl + i32.add + f64.load $0 + br $~lib/util/string/pow10|inlined.1 + end + f64.mul + br $~lib/util/string/scientific|inlined.0 + end + local.get $significandf + block $~lib/util/string/pow10|inlined.2 (result f64) i32.const 0 - local.get $kappa - i32.sub - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - i64.mul - local.set $wp_w_frc - local.get $buffer - local.set $buffer|29 - local.get $len - local.set $len|30 - local.get $delta - local.set $delta|31 - local.get $p2 - local.set $rest|32 - local.get $one_frc - local.set $ten_kappa|33 - local.get $wp_w_frc - local.set $wp_w|34 - local.get $buffer|29 - local.get $len|30 - i32.const 1 + local.get $exp i32.sub - i32.const 1 + local.set $n|27 + i32.const 3648 + local.get $n|27 + i32.const 3 i32.shl i32.add - local.set $lastp|35 - local.get $lastp|35 - i32.load16_u $0 - local.set $digit|36 - loop $while-continue|6 - local.get $rest|32 - local.get $wp_w|34 - i64.lt_u - if (result i32) - local.get $delta|31 - local.get $rest|32 - i64.sub - local.get $ten_kappa|33 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.get $wp_w|34 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w|34 - local.get $rest|32 + f64.load $0 + br $~lib/util/string/pow10|inlined.2 + end + f64.div + br $~lib/util/string/scientific|inlined.0 + else + local.get $exp + i32.const 0 + i32.lt_s + if + block $~lib/util/string/scaledown|inlined.0 (result f64) + local.get $significand + local.set $significand|28 + local.get $exp + local.set $exp|29 + local.get $significand|28 + i64.clz + local.set $shift + local.get $significand|28 + local.get $shift + i64.shl + local.set $significand|28 + local.get $exp|29 + i64.extend_i32_s + local.get $shift + i64.sub + local.set $shift + loop $for-loop|6 + local.get $exp|29 + i32.const -14 + i32.le_s + if + local.get $significand|28 + i64.const 6103515625 + i64.div_u + local.set $q + local.get $significand|28 + i64.const 6103515625 + i64.rem_u + local.set $r + local.get $q + i64.clz + local.set $s + local.get $q + local.get $s + i64.shl + f64.const 0.00004294967296 + local.get $r + local.get $s + i64.const 18 i64.sub - local.get $rest|32 - local.get $ten_kappa|33 + i64.shl + f64.convert_i64_u + f64.mul + f64.nearest + i64.trunc_sat_f64_u i64.add - local.get $wp_w|34 + local.set $significand|28 + local.get $shift + local.get $s i64.sub - i64.gt_u + local.set $shift + local.get $exp|29 + i32.const 14 + i32.add + local.set $exp|29 + br $for-loop|6 + end + end + i32.const 5 + i32.const 0 + local.get $exp|29 + i32.sub + call $~lib/math/ipow32 + i64.extend_i32_s + local.set $b + local.get $significand|28 + local.get $b + i64.div_u + local.set $q|35 + local.get $significand|28 + local.get $b + i64.rem_u + local.set $r|36 + local.get $q|35 + i64.clz + local.set $s|37 + local.get $q|35 + local.get $s|37 + i64.shl + local.get $r|36 + f64.convert_i64_u + i64.reinterpret_f64 + local.get $s|37 + i64.const 52 + i64.shl + i64.add + f64.reinterpret_i64 + local.get $b + f64.convert_i64_u + f64.div + i64.trunc_sat_f64_u + i64.add + local.set $significand|28 + local.get $shift + local.get $s|37 + i64.sub + local.set $shift + local.get $significand|28 + f64.convert_i64_u + local.get $shift + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn + br $~lib/util/string/scaledown|inlined.0 + end + br $~lib/util/string/scientific|inlined.0 + else + block $~lib/util/string/scaleup|inlined.0 (result f64) + local.get $significand + local.set $significand|38 + local.get $exp + local.set $exp|39 + local.get $significand|38 + i64.ctz + local.set $shift|40 + local.get $significand|38 + local.get $shift|40 + i64.shr_u + local.set $significand|38 + local.get $shift|40 + local.get $exp|39 + i64.extend_i32_s + i64.add + local.set $shift|40 + local.get $shift|40 + global.set $~lib/util/string/__fixmulShift + loop $for-loop|7 + local.get $exp|39 + i32.const 13 + i32.ge_s + if + block $~lib/util/string/fixmul|inlined.0 (result i64) + local.get $significand|38 + local.set $a + i32.const 1220703125 + local.set $b|42 + local.get $a + i64.const 4294967295 + i64.and + local.get $b|42 + i64.extend_i32_u + i64.mul + local.set $low + local.get $a + i64.const 32 + i64.shr_u + local.get $b|42 + i64.extend_i32_u + i64.mul + local.get $low + i64.const 32 + i64.shr_u + i64.add + local.set $high + local.get $high + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $overflow + local.get $overflow + i32.clz + local.set $space + i64.const 32 + local.get $space + i64.extend_i32_u + i64.sub + local.set $revspace + global.get $~lib/util/string/__fixmulShift + local.get $revspace + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $high + local.get $space + i64.extend_i32_u + i64.shl + local.get $low + i64.const 4294967295 + i64.and + local.get $revspace + i64.shr_u + i64.or + local.get $low + local.get $space + i64.extend_i32_u + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + i64.add + br $~lib/util/string/fixmul|inlined.0 + end + local.set $significand|38 + local.get $exp|39 + i32.const 13 + i32.sub + local.set $exp|39 + br $for-loop|7 end - else - i32.const 0 end - if - local.get $digit|36 - i32.const 1 - i32.sub - local.set $digit|36 - local.get $rest|32 - local.get $ten_kappa|33 + block $~lib/util/string/fixmul|inlined.1 (result i64) + local.get $significand|38 + local.set $a|48 + i32.const 5 + local.get $exp|39 + call $~lib/math/ipow32 + local.set $b|49 + local.get $a|48 + i64.const 4294967295 + i64.and + local.get $b|49 + i64.extend_i32_u + i64.mul + local.set $low|50 + local.get $a|48 + i64.const 32 + i64.shr_u + local.get $b|49 + i64.extend_i32_u + i64.mul + local.get $low|50 + i64.const 32 + i64.shr_u i64.add - local.set $rest|32 - br $while-continue|6 + local.set $high|51 + local.get $high|51 + i64.const 32 + i64.shr_u + i32.wrap_i64 + local.set $overflow|52 + local.get $overflow|52 + i32.clz + local.set $space|53 + i64.const 32 + local.get $space|53 + i64.extend_i32_u + i64.sub + local.set $revspace|54 + global.get $~lib/util/string/__fixmulShift + local.get $revspace|54 + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $high|51 + local.get $space|53 + i64.extend_i32_u + i64.shl + local.get $low|50 + i64.const 4294967295 + i64.and + local.get $revspace|54 + i64.shr_u + i64.or + local.get $low|50 + local.get $space|53 + i64.extend_i32_u + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + i64.add + br $~lib/util/string/fixmul|inlined.1 end + local.set $significand|38 + global.get $~lib/util/string/__fixmulShift + local.set $shift|40 + local.get $significand|38 + f64.convert_i64_u + local.get $shift|40 + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn + br $~lib/util/string/scaleup|inlined.0 end - local.get $lastp|35 - local.get $digit|36 - i32.store16 $0 - local.get $len - return + br $~lib/util/string/scientific|inlined.0 end - br $while-continue|4 + unreachable end + unreachable end - unreachable + local.get $sign + f64.copysign + local.set $56 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $56 + return ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) - (local $kk i32) - (local $i i32) + (func $~lib/number/F32.parseFloat (type $i32_=>_f32) (param $value i32) (result f32) + (local $1 i32) + (local $2 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 $0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/util/string/strtod + f32.demote_f64 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/number/F64.parseFloat (type $i32_=>_f64) (param $value 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 $0 + local.get $value + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $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 + return + ) + (func $~lib/util/string/strtol (type $i32_i32_=>_i32) (param $str i32) (param $radix i32) (result i32) + (local $len i32) (local $ptr i32) - (local $offset i32) - (local $i|7 i32) - (local $buffer|8 i32) - (local $k|9 i32) + (local $code i32) (local $sign i32) - (local $decimals i32) - (local $buffer|12 i32) + (local $6 i32) (local $num i32) - (local $offset|14 i32) - (local $len i32) - (local $buffer|16 i32) - (local $k|17 i32) - (local $sign|18 i32) - (local $decimals|19 i32) - (local $buffer|20 i32) - (local $num|21 i32) - (local $offset|22 i32) - local.get $k + (local $initial 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 $0 + local.get $str + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $len i32.eqz if - local.get $buffer - local.get $length - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store $0 - local.get $length - i32.const 2 + i32.const 0 + drop + i32.const 0 + 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 $length - local.get $k - i32.add - local.set $kk - local.get $length - local.get $kk - i32.le_s + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u $0 + local.set $code + loop $while-continue|0 + local.get $code + call $~lib/util/string/isSpace + if + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $len + i32.const 1 + i32.sub + local.set $len + br $while-continue|0 + end + end + i32.const 1 + local.set $sign + local.get $code + i32.const 45 + i32.eq if (result i32) - local.get $kk - i32.const 21 - i32.le_s + i32.const 1 else - i32.const 0 + local.get $code + i32.const 43 + i32.eq end if - local.get $length - local.set $i - loop $for-loop|0 - local.get $i - local.get $kk - i32.lt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $buffer - local.get $kk + local.get $len i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or - i32.store $0 - local.get $kk + i32.sub + local.tee $len + i32.eqz + if + i32.const 0 + drop + i32.const 0 + 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 $code + i32.const 45 + i32.eq + if + i32.const -1 + local.set $sign + end + local.get $ptr i32.const 2 i32.add - return - else - local.get $kk - i32.const 0 - i32.gt_s + local.tee $ptr + i32.load16_u $0 + local.set $code + end + local.get $radix + if + local.get $radix + i32.const 2 + i32.lt_s if (result i32) - local.get $kk - i32.const 21 - i32.le_s + i32.const 1 else - i32.const 0 + local.get $radix + i32.const 36 + i32.gt_s end if - local.get $buffer - local.get $kk - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $ptr - i32.const 2 - i32.add - local.get $ptr i32.const 0 - local.get $k - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - local.get $kk - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.store16 $0 - local.get $length - i32.const 1 - i32.add - return - else - i32.const -6 - local.get $kk - i32.lt_s - if (result i32) - local.get $kk - i32.const 0 - i32.le_s - else - i32.const 0 - end - if - i32.const 2 - local.get $kk - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $buffer - local.get $length - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - i32.const 48 - i32.const 46 - i32.const 16 - i32.shl - i32.or - i32.store $0 - i32.const 2 - local.set $i|7 - loop $for-loop|1 - local.get $i|7 - local.get $offset - i32.lt_s - if - local.get $buffer - local.get $i|7 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 $0 - local.get $i|7 - i32.const 1 - i32.add - local.set $i|7 - br $for-loop|1 - end - end - local.get $length - local.get $offset - i32.add - return + drop + i32.const 0 + 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 $radix + i32.const 16 + i32.eq + if + local.get $len + i32.const 2 + i32.gt_s + if (result i32) + local.get $code + i32.const 48 + i32.eq else - local.get $length - i32.const 1 + i32.const 0 + end + if (result i32) + local.get $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + i32.const 120 i32.eq - if - local.get $buffer - i32.const 101 - i32.store16 $0 offset=2 - block $~lib/util/number/genExponent|inlined.0 (result i32) - local.get $buffer + else + i32.const 0 + end + if + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + end + end + else + local.get $code + i32.const 48 + i32.eq + if (result i32) + local.get $len + 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 $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.set $6 + local.get $6 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $6 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $6 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $ptr i32.const 4 i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 + local.set $ptr + local.get $len + i32.const 2 i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 - i32.sub - local.set $k|9 - end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals - br $~lib/util/number/genExponent|inlined.0 + local.set $len + i32.const 2 + local.set $radix + br $break|1 end - local.set $length - local.get $length - i32.const 2 - i32.add - return - else - local.get $length - i32.const 1 - i32.shl - local.set $len - local.get $buffer + local.get $ptr i32.const 4 i32.add - local.get $buffer - i32.const 2 - i32.add + local.set $ptr local.get $len i32.const 2 i32.sub - memory.copy $0 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 - local.get $buffer - local.get $len - i32.add - i32.const 101 - i32.store16 $0 offset=2 - local.get $length - block $~lib/util/number/genExponent|inlined.1 (result i32) - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 + local.set $len + i32.const 8 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 16 + local.set $radix + br $break|1 + end + end + local.get $radix + i32.eqz + if + i32.const 10 + local.set $radix + end + end + i32.const 0 + local.set $num + local.get $len + i32.const 1 + i32.sub + local.set $initial + block $while-break|2 + loop $while-continue|2 + local.get $len + local.tee $9 + i32.const 1 + i32.sub + local.set $len + local.get $9 + if + local.get $ptr + i32.load16_u $0 + local.set $code + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $code + i32.const 48 + i32.sub + local.set $code + else + local.get $code + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $code + i32.const 65 + i32.const 10 i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 + i32.sub + local.set $code + else + local.get $code + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u if - i32.const 0 - local.get $k|17 + local.get $code + i32.const 97 + i32.const 10 + i32.sub i32.sub - local.set $k|17 + local.set $code end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 + end + end + local.get $code + local.get $radix + i32.ge_u + if + local.get $initial + local.get $len + i32.eq + if i32.const 0 - i32.const 1 - i32.ge_s drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 - br $~lib/util/number/genExponent|inlined.1 + i32.const 0 + 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 - i32.add - local.set $length - local.get $length - i32.const 2 - i32.add - return + br $while-break|2 end - unreachable + local.get $num + local.get $radix + i32.mul + local.get $code + i32.add + local.set $num + local.get $ptr + i32.const 2 + i32.add + local.set $ptr + br $while-continue|2 end - unreachable end - unreachable end - unreachable - ) - (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) - (local $frc i64) - (local $f i64) - (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) - (local $off i32) - (local $m i32) - (local $minExp i32) - (local $dk f64) - (local $k i32) - (local $index i32) - (local $off|20 i32) - (local $frc_pow i64) - (local $exp_pow i32) - (local $u i64) - (local $v i64) - (local $u0 i64) - (local $v0 i64) - (local $u1 i64) - (local $v1 i64) - (local $l i64) - (local $t i64) - (local $w i64) - (local $w_frc i64) - (local $e1 i32) - (local $e2 i32) - (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) - (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) - (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) - (local $wm_frc i64) - (local $delta i64) - (local $len i32) - local.get $value - f64.const 0 - f64.lt - local.set $sign local.get $sign - if - local.get $value - f64.neg - local.set $value - local.get $buffer - i32.const 45 - i32.store16 $0 - end - block $~lib/util/number/grisu2|inlined.0 (result i32) - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne + local.get $num + i32.mul + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/number/I32.parseInt (type $i32_i32_=>_i32) (param $value i32) (param $radix 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 $0 + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $radix + 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 + return + ) + (func $~lib/util/string/strtol (type $i32_i32_=>_i64) (param $str i32) (param $radix i32) (result i64) + (local $len i32) + (local $ptr i32) + (local $code i32) + (local $sign i64) + (local $6 i32) + (local $num i64) + (local $initial i32) + (local $9 i32) + (local $10 i32) + (local $11 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 $0 + local.get $str + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $len + local.get $len + i32.eqz + if + i32.const 0 + drop + i64.const 0 + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s + global.set $~lib/memory/__stack_pointer + local.get $11 + return + end + local.get $str + local.set $ptr + local.get $ptr + i32.load16_u $0 + local.set $code + loop $while-continue|0 + local.get $code + call $~lib/util/string/isSpace + if + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + local.get $len + i32.const 1 + i32.sub + local.set $len + br $while-continue|0 + end + end + i64.const 1 + local.set $sign + local.get $code + i32.const 45 + i32.eq + if (result i32) i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 22376 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 23072 - local.get $index + else + local.get $code + i32.const 43 + i32.eq + end + if + local.get $len i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - block $~lib/util/number/umul64f|inlined.0 (result i64) - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - br $~lib/util/number/umul64f|inlined.0 + local.tee $len + i32.eqz + if + i32.const 0 + drop + i64.const 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 + local.get $code + i32.const 45 + i32.eq + if + i64.const -1 + local.set $sign + end + local.get $ptr + i32.const 2 + i32.add + local.tee $ptr + i32.load16_u $0 + local.set $code + end + local.get $radix + if + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 0 + drop + i64.const 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 + local.get $radix + i32.const 16 + i32.eq + if + local.get $len + i32.const 2 + i32.gt_s + if (result i32) + local.get $code + i32.const 48 + i32.eq + else + i32.const 0 + end + if (result i32) + local.get $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + i32.const 120 + i32.eq + else + i32.const 0 + end + if + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + end end - local.set $w_frc - block $~lib/util/number/umul64e|inlined.0 (result i32) - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.0 + else + local.get $code + i32.const 48 + i32.eq + if (result i32) + local.get $len + i32.const 2 + i32.gt_s + else + i32.const 0 end - local.set $w_exp - block $~lib/util/number/umul64f|inlined.1 (result i64) - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - br $~lib/util/number/umul64f|inlined.1 + if + block $break|1 + block $case2|1 + block $case1|1 + block $case0|1 + local.get $ptr + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.set $6 + local.get $6 + i32.const 98 + i32.eq + br_if $case0|1 + local.get $6 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $6 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 2 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 8 + local.set $radix + br $break|1 + end + local.get $ptr + i32.const 4 + i32.add + local.set $ptr + local.get $len + i32.const 2 + i32.sub + local.set $len + i32.const 16 + local.set $radix + br $break|1 + end end - i64.const 1 - i64.sub - local.set $wp_frc - block $~lib/util/number/umul64e|inlined.1 (result i32) - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.1 + local.get $radix + i32.eqz + if + i32.const 10 + local.set $radix end - local.set $wp_exp - block $~lib/util/number/umul64f|inlined.2 (result i64) - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - br $~lib/util/number/umul64f|inlined.2 + end + i64.const 0 + local.set $num + local.get $len + i32.const 1 + i32.sub + local.set $initial + block $while-break|2 + loop $while-continue|2 + local.get $len + local.tee $9 + i32.const 1 + i32.sub + local.set $len + local.get $9 + if + local.get $ptr + i32.load16_u $0 + local.set $code + local.get $code + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if + local.get $code + i32.const 48 + i32.sub + local.set $code + else + local.get $code + i32.const 65 + i32.sub + i32.const 90 + i32.const 65 + i32.sub + i32.le_u + if + local.get $code + i32.const 65 + i32.const 10 + i32.sub + i32.sub + local.set $code + else + local.get $code + i32.const 97 + i32.sub + i32.const 122 + i32.const 97 + i32.sub + i32.le_u + if + local.get $code + i32.const 97 + i32.const 10 + i32.sub + i32.sub + local.set $code + end + end + end + local.get $code + local.get $radix + i32.ge_u + if + local.get $initial + local.get $len + i32.eq + if + i32.const 0 + drop + i64.const 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 + br $while-break|2 + end + local.get $num + local.get $radix + i64.extend_i32_s + i64.mul + local.get $code + i64.extend_i32_u + i64.add + local.set $num + local.get $ptr + i32.const 2 + i32.add + local.set $ptr + br $while-continue|2 + end end - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits - br $~lib/util/number/grisu2|inlined.0 end - local.set $len - local.get $buffer - local.get $sign - i32.const 1 - i32.shl + local.get $sign + local.get $num + i64.mul + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/number/I64.parseInt (type $i32_i32_=>_i64) (param $value i32) (param $radix 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 $0 + local.get $value + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $radix + 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 + return + ) + (func $~lib/string/parseFloat (type $i32_=>_f64) (param $str 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 $0 + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $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 + return + ) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + i32.const 0 + i32.eq + 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 + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) + (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/string/String.__gt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) + (local $rightLength i32) + (local $4 i32) + (local $5 i32) + (local $res 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 $0 + local.get $left + local.get $right + 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 $left + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + i32.eqz + 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 $right + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $rightLength + local.get $rightLength + 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 + end + local.get $left + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + local.get $right + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + local.get $leftLength + local.tee $4 + local.get $rightLength + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $res + local.get $res + if (result i32) + local.get $res + i32.const 0 + i32.gt_s + else + local.get $leftLength + local.get $rightLength + i32.gt_s + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/string/String.__lt (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $rightLength i32) + (local $leftLength i32) + (local $4 i32) + (local $5 i32) + (local $res 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 $0 + local.get $left + local.get $right + 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 $right + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $rightLength + local.get $rightLength + i32.eqz + 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 $left + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + 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 + end + local.get $left + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + i32.const 0 + local.get $right + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + local.get $leftLength + local.tee $4 + local.get $rightLength + local.tee $5 + local.get $4 + local.get $5 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.set $res + local.get $res + if (result i32) + local.get $res + i32.const 0 + i32.lt_s + else + local.get $leftLength + local.get $rightLength + i32.lt_s + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $~lib/string/String.__gte (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 - local.get $len - local.get $sign + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/string/String.__lte (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $len - local.get $len - local.get $sign + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 return ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - i32.const 0 - drop - global.get $~lib/rt/itcms/state + (func $~lib/string/String#repeat (type $i32_i32_=>_i32) (param $this i32) (param $count i32) (result i32) + (local $length i32) + (local $out 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/string/String#get:length + local.set $length + local.get $count i32.const 0 - i32.gt_s - if - loop $while-continue|0 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - if - call $~lib/rt/itcms/step - drop - br $while-continue|0 - end - end + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $length + i64.extend_i32_s + local.get $count + i64.extend_i32_s + i64.mul + i64.const 1 + i64.const 28 + i64.shl + i64.gt_u end - call $~lib/rt/itcms/step - drop - loop $while-continue|1 - global.get $~lib/rt/itcms/state - i32.const 0 - i32.ne - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end + if + i32.const 13040 + i32.const 304 + i32.const 334 + i32.const 7 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - 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 + local.get $count i32.const 0 - drop - ) - (func $std/string/getString (type $none_=>_i32) (result i32) - global.get $std/string/str - return - ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (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 + i32.eq + if (result i32) + i32.const 1 + else + local.get $length + i32.eqz end - global.get $std/string/nullStr - local.tee $1 if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 688 + 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 - i32.const 240 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 13040 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 14688 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 352 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 15616 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 16672 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 + local.get $count + i32.const 1 + i32.eq if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + local.get $this + 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 - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array<~lib/string/String>#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $cur i32) - (local $end i32) - (local $val i32) + global.get $~lib/memory/__stack_pointer + local.get $length + local.get $count + i32.mul i32.const 1 - drop + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $cur - local.get $cur + local.get $length + i32.const 1 + i32.shl + local.get $count + call $~lib/memory/memory.repeat + local.get $out + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/string/String#replace (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) + (local $len i32) + (local $slen i32) + (local $index i32) + (local $rlen i32) + (local $olen i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.const 2 - i32.shl - i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/string/String#get:length + local.set $len + local.get $search + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/string/String#get:length + local.set $slen + local.get $len + local.get $slen + i32.le_u + if + local.get $len + local.get $slen i32.lt_u - if - local.get $cur - i32.load $0 - local.set $val - local.get $val - if - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - i32.const 4 - i32.add - local.set $cur - br $while-continue|0 + if (result i32) + local.get $this + else + local.get $replacement + local.get $this + local.get $search + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 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 end local.get $this - call $~lib/array/Array<~lib/string/String>#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array<~lib/string/String>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid - end - return - 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 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + local.get $search + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + i32.const 0 + call $~lib/string/String#indexOf + local.set $index + local.get $index + i32.const -1 + i32.xor + if + local.get $replacement + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 + local.get $9 + call $~lib/string/String#get:length + local.set $rlen + local.get $len + local.get $slen + i32.sub + local.set $len + local.get $len + local.get $rlen + i32.add + local.set $olen + local.get $olen + if + global.get $~lib/memory/__stack_pointer + local.get $olen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $this + local.get $index + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $out + local.get $index + i32.const 1 + i32.shl + i32.add + local.get $replacement + local.get $rlen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $out + local.get $index + local.get $rlen + i32.add + i32.const 1 + i32.shl + i32.add + local.get $this + local.get $index + local.get $slen + i32.add + i32.const 1 + i32.shl + i32.add + local.get $len + local.get $index + i32.sub + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $out + 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 $0 - local.get $1 - call $~lib/array/Array<~lib/string/String>~visit - return end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/string - ) - (func $~stack_check (type $none_=>_none) + local.get $this + local.set $9 global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 58208 - i32.const 58256 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - ) - (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) - (local $3 i32) - (local $4 i32) - (local $length i32) - (local $sepLen i32) - (local $7 i32) - (local $8 i32) - (local $result i32) - (local $resultStart i32) - (local $i i32) - (local $charStr i32) - (local $result|13 i32) - (local $result|14 i32) - (local $end i32) - (local $start i32) - (local $i|17 i32) - (local $len i32) + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/string/String#replaceAll (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) + (local $thisLen i32) + (local $searchLen i32) + (local $replaceLen i32) (local $out i32) - (local $len|20 i32) - (local $out|21 i32) - (local $22 i32) + (local $offset i32) + (local $i i32) + (local $9 i32) + (local $prev i32) + (local $next i32) + (local $outSize i32) + (local $out|13 i32) + (local $out|14 i32) + (local $offset|15 i32) + (local $outSize|16 i32) + (local $chunk i32) + (local $rest i32) + (local $19 i32) global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 36 + i32.const 20 memory.fill $0 - local.get $limit - i32.eqz - if - i32.const 0 - i32.const 2 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $separator - i32.const 0 - i32.eq + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/string/String#get:length + local.set $thisLen + local.get $search + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/string/String#get:length + local.set $searchLen + local.get $thisLen + local.get $searchLen + i32.le_u if + local.get $thisLen + local.get $searchLen + i32.lt_u + if (result i32) + local.get $this + else + local.get $replacement + local.get $this + local.get $search + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/string/String.__eq + select + end + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.load $0 offset=4 - local.tee $4 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - local.get $this - call $~lib/array/Array<~lib/string/String>#__set - local.get $3 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $19 return end - local.get $this - call $~lib/string/String#get:length - local.set $length - local.get $separator + local.get $replacement + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 call $~lib/string/String#get:length - local.set $sepLen - local.get $limit - i32.const 0 - i32.lt_s - if - global.get $~lib/builtins/i32.MAX_VALUE - local.set $limit - end - local.get $sepLen + local.set $replaceLen + local.get $searchLen i32.eqz if - local.get $length + local.get $replaceLen i32.eqz if - i32.const 0 - i32.const 2 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.set $22 + local.get $this + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $19 return end - local.get $length - local.tee $7 - local.get $limit - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - local.set $length global.get $~lib/memory/__stack_pointer - local.get $length + local.get $thisLen + local.get $thisLen + i32.const 1 + i32.add + local.get $replaceLen + i32.mul + i32.add + i32.const 1 + i32.shl i32.const 2 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result + call $~lib/rt/itcms/__new + local.tee $out i32.store $0 offset=8 - local.get $result - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.set $resultStart + local.get $out + local.get $replacement + local.get $replaceLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $replaceLen + local.set $offset i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length - i32.lt_s + local.get $thisLen + i32.lt_u + if + local.get $out + local.get $offset + local.tee $9 + i32.const 1 + i32.add + local.set $offset + local.get $9 + i32.const 1 + i32.shl + i32.add + local.get $this + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $out + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $replacement + local.get $replaceLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $replaceLen + i32.add + local.set $offset + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $out + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + end + i32.const 0 + local.set $prev + i32.const 0 + local.set $next + local.get $searchLen + local.get $replaceLen + i32.eq + if + local.get $thisLen + i32.const 1 + i32.shl + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out|13 + i32.store $0 offset=12 + local.get $out|13 + local.get $this + local.get $outSize + memory.copy $0 $0 + loop $while-continue|1 + local.get $this + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + local.get $search + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + local.get $prev + call $~lib/string/String#indexOf + local.tee $next + i32.const -1 + i32.xor if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $charStr - i32.store $0 offset=12 - local.get $charStr - local.get $this - local.get $i + local.get $out|13 + local.get $next i32.const 1 i32.shl i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $resultStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $charStr - i32.store $0 - local.get $result - local.get $charStr - i32.const 1 - call $~lib/rt/itcms/__link - local.get $i + local.get $replacement + local.get $replaceLen i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $next + local.get $searchLen i32.add - local.set $i - br $for-loop|0 + local.set $prev + br $while-continue|1 end end - local.get $result - local.set $22 + local.get $out|13 + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $19 return - else - local.get $length - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 2 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $result|13 - i32.store $0 offset=16 - local.get $result|13 - call $~lib/array/Array<~lib/string/String>#get:dataStart - i32.const 688 - i32.store $0 - local.get $result|13 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - i32.const 5 i32.const 0 - call $~lib/rt/__newArray - local.tee $result|14 - i32.store $0 offset=20 - i32.const 0 - local.set $end - i32.const 0 - local.set $start + local.set $out|14 i32.const 0 - local.set $i|17 - loop $while-continue|1 + local.set $offset|15 + local.get $thisLen + local.set $outSize|16 + loop $while-continue|2 local.get $this - local.get $separator - local.get $start + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + local.get $search + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + local.get $prev call $~lib/string/String#indexOf - local.tee $end + local.tee $next i32.const -1 i32.xor if - local.get $end - local.get $start - i32.sub - local.set $len - local.get $len - i32.const 0 - i32.gt_s + local.get $out|14 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 + local.get $19 + call $~lib/string/String.__not if global.get $~lib/memory/__stack_pointer - local.get $len + local.get $thisLen i32.const 1 i32.shl i32.const 2 call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 offset=24 - local.get $out - local.get $this - local.get $start + local.tee $out|14 + i32.store $0 offset=16 + end + local.get $next + local.get $prev + i32.sub + local.set $chunk + local.get $offset|15 + local.get $chunk + i32.add + local.get $replaceLen + i32.add + local.get $outSize|16 + i32.gt_u + if + local.get $outSize|16 i32.const 1 i32.shl - i32.add - local.get $len + local.set $outSize|16 + global.get $~lib/memory/__stack_pointer + local.get $out|14 + local.get $outSize|16 i32.const 1 i32.shl - memory.copy $0 $0 - local.get $result|14 - local.get $out - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - i32.const 688 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop + call $~lib/rt/itcms/__renew + local.tee $out|14 + i32.store $0 offset=16 end - local.get $i|17 + local.get $out|14 + local.get $offset|15 i32.const 1 + i32.shl i32.add - local.tee $i|17 - local.get $limit - i32.eq - if - local.get $result|14 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $end - local.get $sepLen + local.get $this + local.get $prev + i32.const 1 + i32.shl + i32.add + local.get $chunk + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset|15 + local.get $chunk + i32.add + local.set $offset|15 + local.get $out|14 + local.get $offset|15 + i32.const 1 + i32.shl + i32.add + local.get $replacement + local.get $replaceLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset|15 + local.get $replaceLen + i32.add + local.set $offset|15 + local.get $next + local.get $searchLen + i32.add + local.set $prev + br $while-continue|2 + end + end + local.get $out|14 + if + local.get $thisLen + local.get $prev + i32.sub + local.set $rest + local.get $offset|15 + local.get $rest + i32.add + local.get $outSize|16 + i32.gt_u + if + local.get $outSize|16 + i32.const 1 + i32.shl + local.set $outSize|16 + global.get $~lib/memory/__stack_pointer + local.get $out|14 + local.get $outSize|16 + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $out|14 + i32.store $0 offset=16 + end + local.get $rest + if + local.get $out|14 + local.get $offset|15 + i32.const 1 + i32.shl i32.add - local.set $start - br $while-continue|1 + local.get $this + local.get $prev + i32.const 1 + i32.shl + i32.add + local.get $rest + i32.const 1 + i32.shl + memory.copy $0 $0 end - end - local.get $start - i32.eqz - if - local.get $result|14 - local.get $this - call $~lib/array/Array<~lib/string/String>#push - drop - local.get $result|14 - local.set $22 + local.get $rest + local.get $offset|15 + i32.add + local.set $rest + local.get $outSize|16 + local.get $rest + i32.gt_u + if + global.get $~lib/memory/__stack_pointer + local.get $out|14 + local.get $rest + i32.const 1 + i32.shl + call $~lib/rt/itcms/__renew + local.tee $out|14 + i32.store $0 offset=16 + end + local.get $out|14 + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $19 return end - local.get $length - local.get $start - i32.sub - local.set $len|20 - local.get $len|20 - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $len|20 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out|21 - i32.store $0 offset=32 - local.get $out|21 - local.get $this - local.get $start - i32.const 1 - i32.shl - i32.add - local.get $len|20 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $result|14 - local.get $out|21 - call $~lib/array/Array<~lib/string/String>#push - drop - else - local.get $result|14 - i32.const 688 - local.set $22 - global.get $~lib/memory/__stack_pointer - local.get $22 - i32.store $0 offset=28 - local.get $22 - call $~lib/array/Array<~lib/string/String>#push - drop - end - local.get $result|14 - local.set $22 + local.get $this + local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 36 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $19 return ) - (func $start:std/string (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) (local $4 i32) (local $5 i32) (local $6 i32) @@ -8918,1015 +10776,1393 @@ (local $9 i32) (local $10 i32) (local $11 i32) - (local $12 i32) - (local $13 f64) - (local $14 f64) - (local $15 f64) - (local $16 f64) - (local $17 f64) - (local $18 f64) - (local $19 f64) - (local $20 f32) - (local $21 f64) - (local $22 i32) - (local $23 f32) - (local $24 i32) - (local $25 f64) - (local $26 i32) - (local $27 i32) - (local $28 i32) - (local $29 i32) - (local $30 f64) - (local $31 f64) - (local $32 f64) - (local $33 f64) - (local $34 f64) - (local $35 f64) - (local $36 f64) - (local $37 f64) - (local $38 f64) - (local $39 f64) - (local $40 f64) - (local $41 f64) - (local $42 f64) - (local $43 f64) - (local $44 f64) - (local $45 f64) - (local $46 f64) - (local $47 f64) - (local $48 f64) - (local $49 f64) - (local $50 f64) - (local $51 i32) - (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) + (local $out i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - i32.const 96 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 + local.get $13 + call $~lib/string/String#get:length + local.set $len + local.get $start i32.const 0 - i32.const 96 - memory.fill $0 - global.get $std/string/str - i32.const 32 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $start + local.get $len + i32.add + local.tee $4 i32.const 0 - i32.const 96 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $start + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $start + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $end + local.get $len + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $end + local.get $end + local.get $start + i32.sub + local.set $len + local.get $len + i32.const 0 + i32.le_s + if + i32.const 688 + local.set $13 + global.get $~lib/memory/__stack_pointer i32.const 8 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return end - i32.const 144 - local.set $55 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 144 - local.set $55 + local.get $len + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $out + 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#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 $55 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 + i32.const 0 i32.store $0 - local.get $55 - i32.const 176 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 + 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 $end end - i32.const 208 - local.set $55 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 - local.get $55 - i32.const 208 - local.set $55 + local.get $3 + local.get $start + local.get $end + call $~lib/string/String#slice + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 $55 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#substr (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) + (local $intStart i32) + (local $end i32) + (local $len i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $size i32) + (local $out i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - 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 $55 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 0 - call $~lib/string/String#charCodeAt - i32.const 104 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 15 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - local.set $55 + i64.const 0 + i64.store $0 + local.get $start + local.set $intStart + local.get $length + local.set $end + local.get $this + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $14 i32.store $0 - local.get $55 - i32.const 1 - call $~lib/string/String#codePointAt - i32.const 105 - i32.eq - i32.eqz + local.get $14 + call $~lib/string/String#get:length + local.set $len + local.get $intStart + i32.const 0 + i32.lt_s if + local.get $len + local.get $intStart + i32.add + local.tee $6 i32.const 0 - i32.const 96 - i32.const 16 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.tee $7 + local.get $6 + local.get $7 + i32.gt_s + select + local.set $intStart end - memory.size $0 - i32.const 16 - i32.shl - global.get $~lib/memory/__heap_base + local.get $end + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.tee $10 + local.get $len + local.get $intStart i32.sub + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select 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 $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 15 - call $~lib/string/String#at - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 15 - call $~lib/string/String#charAt - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 17 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + local.set $size + local.get $size + i32.const 0 + i32.le_s + if + i32.const 688 + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const -1 - call $~lib/string/String#at - local.set $55 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - global.get $std/string/str - local.set $55 + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $intStart + i32.const 1 + i32.shl + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - global.get $std/string/str - local.set $55 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $~lib/string/String#substr@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - call $~lib/string/String#get:length - i32.const 1 + i32.const 4 i32.sub - call $~lib/string/String#charAt - local.set $55 + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 + i32.const 0 + i32.store $0 + 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 $length end - global.get $std/string/str - local.set $55 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 0 - global.get $std/string/str - local.set $55 + local.get $3 + i32.store $0 + local.get $3 + local.get $start + local.get $length + call $~lib/string/String#substr + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - call $~lib/string/String#get:length - i32.sub - call $~lib/string/String#at - local.set $55 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 720 - local.set $55 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 $55 + i64.const 0 + i64.store $0 + local.get $this + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $22 i32.store $0 - local.get $55 - call $~lib/string/String.__not - i32.eqz + local.get $22 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 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 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/String.__not - i32.eqz + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 + i32.const 0 + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select 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 $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/String.__not - i32.eqz + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select i32.const 1 - i32.eq + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size i32.eqz if - i32.const 0 - i32.const 96 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 688 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + local.get $fromPos i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 25 + if (result i32) + local.get $toPos + local.get $len i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + i32.eq + else + i32.const 0 end - i32.const 65600 - i32.const 1 - global.set $~argumentsLength + if + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $fromPos + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end 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 - call $~lib/string/String.fromCharCode@varargs - local.set $55 + i32.store $0 + 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 $end + end + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 - local.get $55 - i32.const 816 - local.set $55 + local.get $3 + local.get $start + local.get $end + call $~lib/string/String#substring + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 26 - 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 - local.set $55 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_i32_i32_=>_none) (param $array i32) (param $newSize i32) (param $alignLog2 i32) (param $canGrow i32) + (local $oldCapacity i32) + (local $oldData i32) + (local $6 i32) + (local $7 i32) + (local $newCapacity i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $newData i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - local.get $55 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 - local.get $55 - i32.const 848 - local.set $55 + local.get $array + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $oldCapacity + local.get $newSize + local.get $oldCapacity + local.get $alignLog2 + i32.shr_u + i32.gt_u if - i32.const 0 - i32.const 96 - i32.const 27 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $newSize + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 13040 + i32.const 14640 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $oldData + local.get $newSize + local.tee $6 + i32.const 8 + local.tee $7 + local.get $6 + local.get $7 + i32.gt_u + select + local.get $alignLog2 + i32.shl + local.set $newCapacity + local.get $canGrow + if + local.get $oldCapacity + i32.const 1 + i32.shl + local.tee $9 + i32.const 1073741820 + local.tee $10 + local.get $9 + local.get $10 + i32.lt_u + select + local.tee $11 + local.get $newCapacity + local.tee $12 + local.get $11 + local.get $12 + i32.gt_u + select + local.set $newCapacity + end + local.get $oldData + local.get $newCapacity + call $~lib/rt/itcms/__renew + local.set $newData + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $newData + local.get $oldData + i32.ne + if + local.get $array + local.get $newData + i32.store $0 + local.get $array + local.get $newData + i32.store $0 offset=4 + local.get $array + local.get $newData + i32.const 0 + call $~lib/rt/itcms/__link + end + local.get $array + local.get $newCapacity + i32.store $0 offset=8 end - i32.const 65536 - i32.const 54 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String.fromCharCode@varargs - local.set $55 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $55 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 - local.get $55 - i32.const 848 - local.set $55 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u if + local.get $index i32.const 0 - i32.const 96 - i32.const 28 + i32.lt_s + if + i32.const 240 + i32.const 14640 + i32.const 130 + i32.const 22 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.get $index i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + i32.const 2 + i32.const 1 + call $~lib/array/ensureCapacity + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $index + i32.const 1 + i32.add + call $~lib/array/Array<~lib/string/String>#set:length_ end - i32.const 55296 - i32.const 57088 - call $~lib/string/String.fromCharCode - local.set $55 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 - local.get $55 - i32.const 880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 29 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 912 - call $~lib/rt/__newArray - local.set $55 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_i32) (param $this i32) (param $value i32) (result i32) + (local $oldLen i32) + (local $len i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String.fromCharCodes - local.set $55 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 + i32.const 0 i32.store $0 - local.get $55 - i32.const 944 - local.set $55 + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $oldLen + local.get $oldLen + i32.const 1 + i32.add + local.set $len + local.get $this + local.get $len i32.const 2 - i32.const 4 - i32.const 976 - call $~lib/rt/__newArray - local.set $55 + i32.const 1 + call $~lib/array/ensureCapacity + i32.const 1 + drop + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String.fromCharCodes - local.set $55 + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $oldLen + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + local.get $this + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $4 i32.store $0 - local.get $55 - i32.const 1008 - local.set $55 + local.get $4 + local.get $len + call $~lib/array/Array<~lib/string/String>#set:length_ + local.get $len + local.set $4 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 4 - i32.const 1040 - call $~lib/rt/__newArray - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String.fromCharCodes - local.set $55 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) + (local $3 i32) + (local $4 i32) + (local $length i32) + (local $sepLen i32) + (local $7 i32) + (local $8 i32) + (local $result i32) + (local $resultStart i32) + (local $i i32) + (local $charStr i32) + (local $result|13 i32) + (local $result|14 i32) + (local $end i32) + (local $start i32) + (local $i|17 i32) + (local $len i32) + (local $out i32) + (local $len|20 i32) + (local $out|21 i32) + (local $22 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1088 - local.set $55 + i32.const 40 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + i32.const 0 + i32.const 40 + memory.fill $0 + local.get $limit i32.eqz if i32.const 0 - i32.const 96 - i32.const 32 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end + local.get $separator i32.const 0 - call $~lib/string/String.fromCodePoint - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 752 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz + i32.eq if - i32.const 0 - i32.const 96 - i32.const 34 + global.get $~lib/memory/__stack_pointer i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 54 - call $~lib/string/String.fromCodePoint - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 2 + i32.const 5 i32.const 0 - i32.const 96 - i32.const 35 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 119558 - call $~lib/string/String.fromCodePoint - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1120 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/rt/__newArray + local.tee $3 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.load $0 offset=4 + local.tee $4 + i32.store $0 offset=4 + local.get $3 i32.const 0 - i32.const 96 - i32.const 36 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $this + call $~lib/array/Array<~lib/string/String>#__set + local.get $3 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - global.get $std/string/str - local.set $55 + local.get $this + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1152 - local.set $55 + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/string/String#get:length + local.set $length + local.get $separator + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/string/String#get:length + local.set $sepLen + local.get $limit i32.const 0 - call $~lib/string/String#startsWith + i32.lt_s + if + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit + end + local.get $sepLen i32.eqz if + local.get $length + i32.eqz + if + i32.const 0 + i32.const 2 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $length + local.tee $7 + local.get $limit + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + local.set $length + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 2 + i32.const 5 i32.const 0 - i32.const 96 - i32.const 38 - i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/__newArray + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $resultStart + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $charStr + i32.store $0 offset=16 + local.get $charStr + local.get $this + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $resultStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $charStr + i32.store $0 + local.get $result + local.get $charStr + i32.const 1 + call $~lib/rt/itcms/__link + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $result + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + else + local.get $length + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 2 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.tee $result|13 + i32.store $0 offset=20 + local.get $result|13 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + call $~lib/array/Array<~lib/string/String>#get:dataStart + i32.const 688 + i32.store $0 + local.get $result|13 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1184 - local.set $55 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/string/String#endsWith@varargs - 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 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 2 + i32.const 5 i32.const 0 - call $~lib/string/String#includes + call $~lib/rt/__newArray + local.tee $result|14 + i32.store $0 offset=24 + i32.const 0 + local.set $end + i32.const 0 + local.set $start + i32.const 0 + local.set $i|17 + loop $while-continue|1 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $separator + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + local.get $start + call $~lib/string/String#indexOf + local.tee $end + i32.const -1 + i32.xor + if + local.get $end + local.get $start + i32.sub + local.set $len + local.get $len + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=32 + local.get $out + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + i32.const 688 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + end + local.get $i|17 + i32.const 1 + i32.add + local.tee $i|17 + local.get $limit + i32.eq + if + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $end + local.get $sepLen + i32.add + local.set $start + br $while-continue|1 + end + end + local.get $start i32.eqz if - i32.const 0 - i32.const 96 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer i32.const 40 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 + local.get $length + local.get $start + i32.sub + local.set $len|20 + local.get $len|20 i32.const 0 - i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz + i32.gt_s if - i32.const 0 - i32.const 96 - i32.const 42 + global.get $~lib/memory/__stack_pointer + local.get $len|20 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out|21 + i32.store $0 offset=36 + local.get $out|21 + local.get $this + local.get $start + i32.const 1 + i32.shl + i32.add + local.get $len|20 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + local.get $out|21 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop + else + local.get $result|14 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=8 + local.get $22 + i32.const 688 + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 offset=28 + local.get $22 + call $~lib/array/Array<~lib/string/String>#push + drop end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 15 - i32.const 1248 - local.set $55 + local.get $result|14 + local.set $22 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + ) + (func $~lib/string/String#split@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $separator i32) (param $limit i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - global.get $std/string/str - local.set $55 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable + i64.const 0 + i64.store $0 + 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 $separator + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $limit end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3 - i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 - local.get $55 - i32.const 1280 - local.set $55 + local.get $3 + local.get $separator + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 44 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 688 - local.set $55 + local.get $3 + local.get $limit + call $~lib/string/String#split + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 10 - i32.const 688 - local.set $55 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/array/Array<~lib/string/String>#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 + i32.const 0 i32.store $0 - local.get $55 - i32.const 688 - local.set $55 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 45 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 784 - local.set $55 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array<~lib/string/String>#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 100 - i32.const 688 - local.set $55 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 + i64.const 0 + i64.store $0 + local.get $index + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.ge_u if - i32.const 0 - i32.const 96 - i32.const 46 - i32.const 1 + i32.const 240 + i32.const 14640 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 5 - i32.const 1248 - local.set $55 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 i32.store $0 - local.get $55 - i32.const 1344 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 + local.get $3 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + i32.const 1 + drop + i32.const 0 + i32.eqz + drop + local.get $value i32.eqz if - i32.const 0 - i32.const 96 - i32.const 47 - i32.const 1 + i32.const 14688 + i32.const 14640 + i32.const 118 + i32.const 40 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 6 - i32.const 1376 - local.set $55 + local.get $value + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart - local.set $55 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $start:std/string (type $none_=>_none) + (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) + (local $13 f64) + (local $14 f64) + (local $15 f64) + (local $16 f64) + (local $17 f64) + (local $18 f64) + (local $19 f64) + (local $20 f32) + (local $21 f64) + (local $22 i32) + (local $23 f32) + (local $24 i32) + (local $25 f64) + (local $26 i32) + (local $27 i32) + (local $28 i32) + (local $29 i32) + (local $30 f64) + (local $31 f64) + (local $32 f64) + (local $33 f64) + (local $34 f64) + (local $35 f64) + (local $36 f64) + (local $37 f64) + (local $38 f64) + (local $39 f64) + (local $40 f64) + (local $41 f64) + (local $42 f64) + (local $43 f64) + (local $44 f64) + (local $45 f64) + (local $46 f64) + (local $47 f64) + (local $48 f64) + (local $49 f64) + (local $50 f64) + (local $51 i32) + (local $52 i32) + (local $53 i32) + (local $54 i32) + (local $55 i32) global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 1408 - local.set $55 + i32.const 96 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + i32.const 0 + i32.const 96 + memory.fill $0 + global.get $std/string/str + i32.const 32 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 48 + i32.const 8 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 8 - i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padStart + i32.const 144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1440 + i32.const 144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -9937,31 +12173,18 @@ if i32.const 0 i32.const 96 - i32.const 49 + i32.const 10 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 0 - i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padEnd + i32.const 176 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - global.get $std/string/str + i32.const 176 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -9972,31 +12195,18 @@ if i32.const 0 i32.const 96 - i32.const 51 + i32.const 11 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 15 - i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padEnd + i32.const 208 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - global.get $std/string/str + i32.const 208 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10007,136 +12217,105 @@ if i32.const 0 i32.const 96 - i32.const 52 + i32.const 12 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3 - i32.const 1248 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String#get:length + i32.const 16 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 53 + i32.const 14 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 10 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + i32.const 0 + call $~lib/string/String#charCodeAt + i32.const 104 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 54 + i32.const 15 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 100 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + i32.const 1 + call $~lib/string/String#codePointAt + i32.const 105 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 55 + i32.const 16 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + memory.size $0 + 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 $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 5 - i32.const 1248 + i32.const 15 + call $~lib/string/String#at local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 local.get $55 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1488 + i32.const 15 + call $~lib/string/String#charAt local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10147,31 +12326,40 @@ if i32.const 0 i32.const 96 - i32.const 56 + i32.const 17 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 6 - i32.const 1312 + i32.const -1 + call $~lib/string/String#at local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 local.get $55 - call $~lib/string/String#padEnd + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1520 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + call $~lib/string/String#get:length + i32.const 1 + i32.sub + call $~lib/string/String#charAt local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10182,31 +12370,33 @@ if i32.const 0 i32.const 96 - i32.const 57 + i32.const 18 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 8 - i32.const 1312 + i32.const 0 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=12 local.get $55 - call $~lib/string/String#padEnd + call $~lib/string/String#get:length + i32.sub + call $~lib/string/String#at local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1552 + i32.const 720 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10217,7 +12407,7 @@ if i32.const 0 i32.const 96 - i32.const 58 + i32.const 19 i32.const 1 call $~lib/builtins/abort unreachable @@ -10228,46 +12418,34 @@ local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - i32.const 0 - call $~lib/string/String#indexOf + call $~lib/string/String.__not + i32.eqz i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 60 + i32.const 21 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1152 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 + call $~lib/string/String.__not + i32.eqz + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 61 + i32.const 22 i32.const 1 call $~lib/builtins/abort unreachable @@ -10278,310 +12456,310 @@ local.get $55 i32.store $0 local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 + call $~lib/string/String.__not + i32.eqz + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 62 + i32.const 23 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - global.get $std/string/str + i32.const 752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 63 + i32.const 25 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 65600 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 64 + i32.const 26 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 54 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 65 + i32.const 27 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + 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 $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1632 + i32.const 848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 66 + i32.const 28 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 55296 + i32.const 57088 + call $~lib/string/String.fromCharCode local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 2 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 67 + i32.const 29 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 2 + i32.const 2 + i32.const 4 + i32.const 912 + call $~lib/rt/__newArray + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String.fromCharCodes local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 944 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 3 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 68 + i32.const 30 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 3 + i32.const 2 + i32.const 4 + i32.const 976 + call $~lib/rt/__newArray + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String.fromCharCodes local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1664 + i32.const 1008 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const -1 - call $~lib/string/String#indexOf - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 69 + i32.const 31 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 5 + i32.const 2 + i32.const 4 + i32.const 1040 + call $~lib/rt/__newArray + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String.fromCharCodes local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1088 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 71 + i32.const 32 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 0 + call $~lib/string/String.fromCodePoint local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1152 + i32.const 752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 72 + i32.const 34 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 54 + call $~lib/string/String.fromCodePoint local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - 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 35 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 119558 + call $~lib/string/String.fromCodePoint local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 1120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - i32.const 2 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 74 + i32.const 36 i32.const 1 call $~lib/builtins/abort unreachable @@ -10592,23 +12770,19 @@ local.get $55 i32.store $0 local.get $55 - i32.const 1632 + i32.const 1152 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - i32.const -1 - i32.eq + call $~lib/string/String#startsWith i32.eqz if i32.const 0 i32.const 96 - i32.const 75 + i32.const 38 i32.const 1 call $~lib/builtins/abort unreachable @@ -10619,7 +12793,7 @@ local.get $55 i32.store $0 local.get $55 - i32.const 1696 + i32.const 1184 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10628,14 +12802,12 @@ i32.const 1 global.set $~argumentsLength i32.const 0 - call $~lib/string/String#lastIndexOf@varargs - i32.const 15 - i32.eq + call $~lib/string/String#endsWith@varargs i32.eqz if i32.const 0 i32.const 96 - i32.const 76 + i32.const 39 i32.const 1 call $~lib/builtins/abort unreachable @@ -10646,21 +12818,19 @@ local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 1216 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 2 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq + i32.const 0 + call $~lib/string/String#includes i32.eqz if i32.const 0 i32.const 96 - i32.const 77 + i32.const 40 i32.const 1 call $~lib/builtins/abort unreachable @@ -10669,48 +12839,33 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1600 + i32.const 0 + i32.const 1248 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - i32.const 3 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 78 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1664 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - 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 42 i32.const 1 call $~lib/builtins/abort unreachable @@ -10719,48 +12874,68 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 15 + i32.const 1248 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padStart + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 i32.store $0 local.get $55 - i32.const 1728 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - 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 80 + i32.const 43 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 3 + i32.const 1248 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1152 + i32.const 1280 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - 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 81 + i32.const 44 i32.const 1 call $~lib/builtins/abort unreachable @@ -10769,27 +12944,16 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 + i32.const 10 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 83 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 784 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -10801,62 +12965,47 @@ local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 84 + i32.const 45 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 784 + i32.const 100 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 85 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1760 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1760 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const 0 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 86 + i32.const 46 i32.const 1 call $~lib/builtins/abort unreachable @@ -10865,190 +13014,173 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1792 + i32.const 5 + i32.const 1248 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 87 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1312 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1824 + i32.const 1344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 88 + i32.const 47 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1792 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1312 + i32.const 6 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 89 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1856 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 1408 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 90 + i32.const 48 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1888 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1312 + i32.const 8 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 91 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1856 + call $~lib/string/String#padStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1920 + i32.const 1440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 92 + i32.const 49 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const 1248 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1888 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 93 + i32.const 51 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1920 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 15 + i32.const 1248 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1856 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 94 + i32.const 52 i32.const 1 call $~lib/builtins/abort unreachable @@ -11057,46 +13189,33 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 1280 + i32.const 3 + i32.const 1248 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - call $~lib/string/String#localeCompare - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 752 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1280 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String#localeCompare - i32.const 1 - i32.eq + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 96 + i32.const 53 i32.const 1 call $~lib/builtins/abort unreachable @@ -11107,7 +13226,14 @@ local.get $55 i32.store $0 offset=8 local.get $55 - call $~lib/string/String#trimStart + i32.const 10 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -11124,24 +13250,31 @@ if i32.const 0 i32.const 96 - i32.const 98 + i32.const 54 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1952 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - call $~lib/string/String#trimStart + i32.const 100 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1952 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -11152,24 +13285,31 @@ if i32.const 0 i32.const 96 - i32.const 99 + i32.const 55 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1984 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - call $~lib/string/String#trimStart + i32.const 5 + i32.const 1248 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2032 + i32.const 1488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -11180,24 +13320,31 @@ if i32.const 0 i32.const 96 - i32.const 100 + i32.const 56 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - call $~lib/string/String#trimEnd + i32.const 6 + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -11208,24 +13355,31 @@ if i32.const 0 i32.const 96 - i32.const 102 + i32.const 57 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1952 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - call $~lib/string/String#trimEnd + i32.const 8 + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#padEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1952 + i32.const 1552 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -11236,35 +13390,32 @@ if i32.const 0 i32.const 96 - i32.const 103 + i32.const 58 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String#trimEnd + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2080 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - 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 104 + i32.const 60 i32.const 1 call $~lib/builtins/abort unreachable @@ -11273,3032 +13424,3345 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 - call $~lib/string/String#trim + i32.const 1152 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 61 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - 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 106 + i32.const 62 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1952 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 - call $~lib/string/String#trim + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 0 + call $~lib/string/String#indexOf + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 63 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1952 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - 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 107 + i32.const 64 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1984 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String#trim + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - block $~lib/builtins/bool.parse|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2128 - local.tee $6 - i32.store $0 offset=20 - local.get $6 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.0 - end i32.const 0 - i32.ne - i32.const 1 + call $~lib/string/String#indexOf + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 111 + i32.const 65 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.1 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2176 - local.tee $7 - i32.store $0 offset=24 - local.get $7 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.1 - end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1632 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 i32.const 0 - i32.ne - i32.const 1 + call $~lib/string/String#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 112 + i32.const 66 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.2 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2224 - local.tee $8 - i32.store $0 offset=28 - local.get $8 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.2 - end - i32.const 0 - i32.ne - i32.const 0 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1600 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 2 + call $~lib/string/String#indexOf + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 113 + i32.const 67 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.3 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 688 - local.tee $9 - i32.store $0 offset=32 - local.get $9 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.3 - end - i32.const 0 - i32.ne - i32.const 0 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1600 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 3 + call $~lib/string/String#indexOf + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 114 + i32.const 68 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.4 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2272 - local.tee $10 - i32.store $0 offset=36 - local.get $10 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.4 - end - i32.const 0 - i32.ne - i32.const 0 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1664 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const -1 + call $~lib/string/String#indexOf + i32.const 2 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 115 + i32.const 69 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.5 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2304 - local.tee $11 - i32.store $0 offset=40 - local.get $11 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.5 - end + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.ne + call $~lib/string/String#lastIndexOf@varargs i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 116 + i32.const 71 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/bool.parse|inlined.6 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 2336 - local.tee $12 - i32.store $0 offset=44 - local.get $12 - call $~lib/util/string/strtob - br $~lib/builtins/bool.parse|inlined.6 - end - i32.const 0 - i32.ne + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1152 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 + call $~lib/string/String#lastIndexOf@varargs + i32.const -1 i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 117 + i32.const 72 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2368 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + call $~lib/string/String#lastIndexOf@varargs + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/string/String#get:length + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 119 + i32.const 73 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2400 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1600 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + call $~lib/string/String#lastIndexOf@varargs + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 120 + i32.const 74 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2432 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1632 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + call $~lib/string/String#lastIndexOf@varargs + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 121 + i32.const 75 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2464 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1696 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 1 + global.set $~argumentsLength i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + call $~lib/string/String#lastIndexOf@varargs + i32.const 15 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 122 + i32.const 76 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2496 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 5 - f64.eq + i32.const 1600 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 2 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 123 + i32.const 77 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2528 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 455 - f64.eq + i32.const 1600 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const 3 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 124 + i32.const 78 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2560 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 3855 - f64.eq + i32.const 1664 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + i32.const -1 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 125 + i32.const 79 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2592 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1728 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 i32.const 0 - call $~lib/string/parseInt - f64.const 3855 - f64.eq + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 126 + i32.const 80 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2624 + global.get $std/string/str local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1152 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 i32.const 0 - call $~lib/string/parseInt - f64.const 11 - f64.eq + call $~lib/string/String#lastIndexOf + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 127 + i32.const 81 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2656 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 128 + i32.const 83 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const -123 - f64.eq + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 129 + i32.const 84 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2720 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 123 - f64.eq + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 130 + i32.const 85 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2752 + i32.const 1760 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 + i32.const 1760 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare i32.const 0 - call $~lib/string/parseInt - f64.const -12 - f64.eq + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 131 + i32.const 86 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2368 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + i32.const 1792 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 132 + i32.const 87 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2784 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + i32.const 1824 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 133 + i32.const 88 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2816 + i32.const 1792 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16 - call $~lib/string/parseInt - f64.const 2833 - f64.eq + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 134 + i32.const 89 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2848 + i32.const 1856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 135 + i32.const 90 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2880 + i32.const 1888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 136 + i32.const 91 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2912 + i32.const 1856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 1920 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 137 + i32.const 92 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/math/NativeMath.signbit|inlined.0 (result i32) - i32.const 2944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 0 - call $~lib/string/parseInt - local.set $13 - local.get $13 - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.const 0 - i64.ne - br $~lib/math/NativeMath.signbit|inlined.0 - end - i32.const 0 - i32.ne + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 1888 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 138 + i32.const 93 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2976 + i32.const 1920 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - i32.const 3024 + i32.const 1856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=4 local.get $55 - i32.const 16 - call $~lib/string/parseInt - f64.eq + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 139 + i32.const 94 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3056 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 36893488147419103232 - f64.eq + i32.const 1280 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const -1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 140 + i32.const 95 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3056 + i32.const 752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13 - call $~lib/string/parseInt - f64.const 5135857308667095285760 - f64.eq + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String#localeCompare + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 141 + i32.const 96 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3120 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 10 - call $~lib/string/parseInt - f64.const -1.e+24 - f64.eq + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 142 + i32.const 98 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3200 + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16 - call $~lib/string/parseInt - f64.const 75557863725914323419136 - f64.eq + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 143 + i32.const 99 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3264 + i32.const 1984 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimStart local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 2032 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 144 + i32.const 100 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3296 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 2 - f64.eq + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 145 + i32.const 102 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3344 + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 147 + i32.const 103 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3376 + i32.const 1984 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trimEnd local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 2 - f64.eq + i32.const 2080 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 148 + i32.const 104 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3424 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trim local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 149 + i32.const 106 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3456 + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trim local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 1 - f64.eq + i32.const 1952 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 150 + i32.const 107 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3488 + i32.const 1984 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + call $~lib/string/String#trim local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/parseInt - f64.const 0 - f64.eq + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 151 + i32.const 108 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + block $~lib/builtins/bool.parse|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2128 + local.tee $6 + i32.store $0 offset=20 + local.get $6 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.0 + end i32.const 0 - call $~lib/string/parseInt - local.tee $14 - local.get $14 - f64.ne + i32.ne + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 152 + i32.const 111 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + block $~lib/builtins/bool.parse|inlined.1 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2176 + local.tee $7 + i32.store $0 offset=24 + local.get $7 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.1 + end i32.const 0 - call $~lib/string/parseInt - local.tee $15 - local.get $15 - f64.ne + i32.ne + i32.const 1 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 153 + i32.const 112 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + block $~lib/builtins/bool.parse|inlined.2 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2224 + local.tee $8 + i32.store $0 offset=28 + local.get $8 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.2 + end i32.const 0 - call $~lib/string/parseInt - local.tee $16 - local.get $16 - f64.ne + i32.ne + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 154 + i32.const 113 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 37 - call $~lib/string/parseInt - local.tee $17 - local.get $17 - f64.ne + block $~lib/builtins/bool.parse|inlined.3 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 688 + local.tee $9 + i32.store $0 offset=32 + local.get $9 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.3 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 155 + i32.const 114 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3600 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + block $~lib/builtins/bool.parse|inlined.4 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2272 + local.tee $10 + i32.store $0 offset=36 + local.get $10 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.4 + end i32.const 0 - call $~lib/string/parseInt - local.tee $18 - local.get $18 - f64.ne + i32.ne + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 156 + i32.const 115 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 + block $~lib/builtins/bool.parse|inlined.5 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2304 + local.tee $11 + i32.store $0 offset=40 + local.get $11 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.5 + end i32.const 0 - call $~lib/string/parseInt - local.tee $19 - local.get $19 - f64.ne + i32.ne + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 157 + i32.const 116 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3632 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/number/F32.parseFloat - local.tee $20 - local.get $20 - f32.ne + block $~lib/builtins/bool.parse|inlined.6 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 2336 + local.tee $12 + i32.store $0 offset=44 + local.get $12 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtob + br $~lib/builtins/bool.parse|inlined.6 + end + i32.const 0 + i32.ne + i32.const 0 + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 158 + i32.const 117 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3632 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/number/F64.parseFloat - local.tee $21 - local.get $21 - f64.ne + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 159 + i32.const 119 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/f32.parse|inlined.0 (result f32) - global.get $~lib/memory/__stack_pointer - i32.const 3632 - local.tee $22 - i32.store $0 offset=48 - local.get $22 - call $~lib/util/string/strtod - f32.demote_f64 - br $~lib/builtins/f32.parse|inlined.0 - end - local.tee $23 - local.get $23 - f32.ne + i32.const 2400 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 160 + i32.const 120 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/f64.parse|inlined.0 (result f64) - global.get $~lib/memory/__stack_pointer - i32.const 3632 - local.tee $24 - i32.store $0 offset=52 - local.get $24 - call $~lib/util/string/strtod - br $~lib/builtins/f64.parse|inlined.0 - end - local.tee $25 - local.get $25 - f64.ne + i32.const 2432 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 161 + i32.const 121 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3856 + i32.const 2464 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 i32.const 0 - call $~lib/number/I32.parseInt - global.get $~lib/number/I32.MAX_VALUE - i32.eq + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 163 + i32.const 122 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/i32.parse|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 3856 - local.tee $26 - i32.store $0 offset=56 - i32.const 0 - local.set $27 - local.get $26 - local.get $27 - call $~lib/util/string/strtol - br $~lib/builtins/i32.parse|inlined.0 - end - global.get $~lib/number/I32.MAX_VALUE - i32.eq + i32.const 2496 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + f64.const 5 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 164 + i32.const 123 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3904 + i32.const 2528 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 i32.const 0 - call $~lib/number/I64.parseInt - global.get $~lib/number/I64.MAX_VALUE - i64.eq + call $~lib/string/parseInt + f64.const 455 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 165 + i32.const 124 i32.const 1 call $~lib/builtins/abort unreachable end - block $~lib/builtins/i64.parse|inlined.0 (result i64) - global.get $~lib/memory/__stack_pointer - i32.const 3904 - local.tee $28 - i32.store $0 offset=60 - i32.const 0 - local.set $29 - local.get $28 - local.get $29 - call $~lib/util/string/strtol - br $~lib/builtins/i64.parse|inlined.0 - end - global.get $~lib/number/I64.MAX_VALUE - i64.eq + i32.const 2560 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 166 + i32.const 125 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2368 + i32.const 2592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0 + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 169 + i32.const 126 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2432 + i32.const 2624 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1 + i32.const 0 + call $~lib/string/parseInt + f64.const 11 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 170 + i32.const 127 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3968 + i32.const 2656 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat + i32.const 0 + call $~lib/string/parseInt f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 171 + i32.const 128 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4000 + i32.const 2688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1 + i32.const 0 + call $~lib/string/parseInt + f64.const -123 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 172 + i32.const 129 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4032 + i32.const 2720 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-05 + i32.const 0 + call $~lib/string/parseInt + f64.const 123 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 173 + i32.const 130 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4064 + i32.const 2752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const -1e-05 + i32.const 0 + call $~lib/string/parseInt + f64.const -12 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 174 + i32.const 131 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4096 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const -3e-23 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 175 + i32.const 132 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4144 + i32.const 2784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 3e21 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 176 + i32.const 133 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4192 + i32.const 2816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0.1 + i32.const 16 + call $~lib/string/parseInt + f64.const 2833 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 177 + i32.const 134 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4224 + i32.const 2848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0.1 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 178 + i32.const 135 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4256 + i32.const 2880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0.1 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 179 + i32.const 136 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4288 + i32.const 2912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0.25 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 180 + i32.const 137 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4320 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 1e3 - f64.eq + block $~lib/math/NativeMath.signbit|inlined.0 (result i32) + i32.const 2944 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 0 + call $~lib/string/parseInt + local.set $13 + local.get $13 + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.const 0 + i64.ne + br $~lib/math/NativeMath.signbit|inlined.0 + end + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 181 + i32.const 138 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4352 + i32.const 2976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-10 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 182 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 4400 + i32.const 0 + call $~lib/string/parseInt + i32.const 3024 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-30 + i32.const 16 + call $~lib/string/parseInt f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 183 + i32.const 139 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4448 + i32.const 3056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-323 + i32.const 0 + call $~lib/string/parseInt + f64.const 36893488147419103232 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 184 + i32.const 140 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4496 + i32.const 3056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0 + i32.const 13 + call $~lib/string/parseInt + f64.const 5135857308667095285760 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 185 + i32.const 141 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4544 + i32.const 3120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1.e+308 + i32.const 10 + call $~lib/string/parseInt + f64.const -1.e+24 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 186 + i32.const 142 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4576 + i32.const 3200 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const inf + i32.const 16 + call $~lib/string/parseInt + f64.const 75557863725914323419136 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 187 + i32.const 143 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 3264 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - local.tee $30 - local.get $30 - f64.ne + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 188 + i32.const 144 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4608 + i32.const 3296 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0.1 + i32.const 0 + call $~lib/string/parseInt + f64.const 2 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 191 + i32.const 145 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4656 + i32.const 3344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-10 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 192 + i32.const 147 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4704 + i32.const 3376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 10 + i32.const 0 + call $~lib/string/parseInt + f64.const 2 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 193 + i32.const 148 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4752 + i32.const 3424 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 194 + i32.const 149 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4784 + i32.const 3456 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat + i32.const 0 + call $~lib/string/parseInt f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 195 + i32.const 150 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4816 + i32.const 3488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 10 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 196 + i32.const 151 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4864 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 123456789 - f64.eq + i32.const 0 + call $~lib/string/parseInt + local.tee $14 + local.get $14 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 197 + i32.const 152 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4912 + i32.const 3536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1 - f64.eq + i32.const 0 + call $~lib/string/parseInt + local.tee $15 + local.get $15 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 198 + i32.const 153 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4960 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1e-60 - f64.eq + i32.const 0 + call $~lib/string/parseInt + local.tee $16 + local.get $16 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 200 + i32.const 154 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4992 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1.e+60 - f64.eq + i32.const 37 + call $~lib/string/parseInt + local.tee $17 + local.get $17 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 201 + i32.const 155 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5024 + i32.const 3600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 123.4 - f64.eq + i32.const 0 + call $~lib/string/parseInt + local.tee $18 + local.get $18 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 204 + i32.const 156 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5056 + i32.const 3632 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 1 - f64.eq + i32.const 0 + call $~lib/string/parseInt + local.tee $19 + local.get $19 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 205 + i32.const 157 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5088 + i32.const 3632 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const -1.1 - f64.eq + call $~lib/number/F32.parseFloat + local.tee $20 + local.get $20 + f32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 206 + i32.const 158 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5136 + i32.const 3632 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 10 - f64.eq + call $~lib/number/F64.parseFloat + local.tee $21 + local.get $21 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 207 + i32.const 159 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5184 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 10 - f64.eq + block $~lib/builtins/f32.parse|inlined.0 (result f32) + global.get $~lib/memory/__stack_pointer + i32.const 3632 + local.tee $22 + i32.store $0 offset=48 + local.get $22 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtod + f32.demote_f64 + br $~lib/builtins/f32.parse|inlined.0 + end + local.tee $23 + local.get $23 + f32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 208 + i32.const 160 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5232 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 0.022 - f64.eq + block $~lib/builtins/f64.parse|inlined.0 (result f64) + global.get $~lib/memory/__stack_pointer + i32.const 3632 + local.tee $24 + i32.store $0 offset=52 + local.get $24 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/util/string/strtod + br $~lib/builtins/f64.parse|inlined.0 + end + local.tee $25 + local.get $25 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 209 + i32.const 161 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5280 + i32.const 3856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 11 - f64.eq + i32.const 0 + 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 210 + i32.const 163 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 0 - f64.eq - i32.eqz - if + block $~lib/builtins/i32.parse|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 3856 + local.tee $26 + i32.store $0 offset=56 i32.const 0 - i32.const 96 - i32.const 211 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $27 + local.get $26 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + local.get $27 + call $~lib/util/string/strtol + br $~lib/builtins/i32.parse|inlined.0 end - i32.const 5312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 0 - f64.eq + global.get $~lib/number/I32.MAX_VALUE + i32.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 212 + i32.const 164 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5344 + i32.const 3904 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/parseFloat - f64.const 0 - f64.eq + i32.const 0 + 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 213 + i32.const 165 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - call $~lib/string/parseFloat - f64.const 1.1 - f64.eq + block $~lib/builtins/i64.parse|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + i32.const 3904 + local.tee $28 + i32.store $0 offset=60 + i32.const 0 + local.set $29 + local.get $28 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + local.get $29 + call $~lib/util/string/strtol + br $~lib/builtins/i64.parse|inlined.0 + end + global.get $~lib/number/I64.MAX_VALUE + i64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 214 + i32.const 166 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5408 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 215 + i32.const 169 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5440 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 216 + i32.const 170 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5472 + i32.const 3968 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 217 + i32.const 171 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5504 + i32.const 4000 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -1.1 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 218 + i32.const 172 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5536 + i32.const 4032 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e-05 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 219 + i32.const 173 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5568 + i32.const 4064 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const -1e-05 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 220 + i32.const 174 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5600 + i32.const 4096 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const -3e-23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 221 + i32.const 175 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5632 + i32.const 4144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 3e21 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 222 + i32.const 176 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5664 + i32.const 4192 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 223 + i32.const 177 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5696 + i32.const 4224 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 10 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 224 + i32.const 178 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5728 + i32.const 4256 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 10 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 225 + i32.const 179 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5776 + i32.const 4288 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.25 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 226 + i32.const 180 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5808 + i32.const 4320 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const 1e3 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 227 + i32.const 181 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5840 + i32.const 4352 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 1e-10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 228 + i32.const 182 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5872 + i32.const 4400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const 1e-30 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 229 + i32.const 183 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5904 + i32.const 4448 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 10 + f64.const 1e-323 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 230 + i32.const 184 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5936 + i32.const 4496 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 231 + i32.const 185 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 5968 + i32.const 4544 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 1.e+308 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 232 + i32.const 186 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6000 + i32.const 4576 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.01 + f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 233 + i32.const 187 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6048 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $30 + local.get $30 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 234 + i32.const 188 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6080 + i32.const 4608 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 235 + i32.const 191 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6112 + i32.const 4656 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1e-10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 236 + i32.const 192 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6144 + i32.const 4704 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 237 + i32.const 193 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6176 + i32.const 4752 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 238 + i32.const 194 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6208 + i32.const 4784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 239 + i32.const 195 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6240 + i32.const 4816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 240 + i32.const 196 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6272 + i32.const 4864 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.1 + f64.const 123456789 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 241 + i32.const 197 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6304 + i32.const 4912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 242 + i32.const 198 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6336 + i32.const 4960 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 - call $~lib/object/Object.is - i32.const 0 - i32.ne + f64.const 1e-60 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 243 + i32.const 200 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6368 + i32.const 4992 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -0 - call $~lib/object/Object.is - i32.const 0 - i32.ne + f64.const 1.e+60 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 244 + i32.const 201 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6400 + i32.const 5024 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 - call $~lib/object/Object.is - i32.const 0 - i32.ne + f64.const 123.4 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 245 + i32.const 204 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2944 + i32.const 5056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -0 - call $~lib/object/Object.is - i32.const 0 - i32.ne + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 246 + i32.const 205 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6432 + i32.const 5088 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const -0 - call $~lib/object/Object.is - i32.const 0 - i32.ne + f64.const -1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 247 + i32.const 206 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 + i32.const 5136 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $31 - local.get $31 - f64.ne + f64.const 10 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 248 + i32.const 207 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3536 + i32.const 5184 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $32 - local.get $32 - f64.ne + f64.const 10 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 249 + i32.const 208 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6480 + i32.const 5232 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $33 - local.get $33 - f64.ne + f64.const 0.022 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 250 + i32.const 209 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6512 + i32.const 5280 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $34 - local.get $34 - f64.ne + f64.const 11 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 251 + i32.const 210 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6544 + i32.const 2784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $35 - local.get $35 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 252 + i32.const 211 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6576 + i32.const 5312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $36 - local.get $36 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 253 + i32.const 212 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6608 + i32.const 5344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $37 - local.get $37 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 254 + i32.const 213 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6640 + i32.const 5376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $38 - local.get $38 - f64.ne + f64.const 1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 255 + i32.const 214 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6672 + i32.const 5408 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $39 - local.get $39 - f64.ne + f64.const -1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 256 + i32.const 215 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6704 + i32.const 5440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $40 - local.get $40 - f64.ne + f64.const -1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 257 + i32.const 216 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6736 + i32.const 5472 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $41 - local.get $41 - f64.ne + f64.const -1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 258 + i32.const 217 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6768 + i32.const 5504 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $42 - local.get $42 - f64.ne + f64.const -1.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 259 + i32.const 218 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6800 + i32.const 5536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $43 - local.get $43 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 260 + i32.const 219 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6832 + i32.const 5568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $44 - local.get $44 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 261 + i32.const 220 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6864 + i32.const 5600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $45 - local.get $45 - f64.ne + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 262 + i32.const 221 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2336 + i32.const 5632 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $46 - local.get $46 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 263 + i32.const 222 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6896 + i32.const 5664 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1e22 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 264 + i32.const 223 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6928 + i32.const 5696 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1e-22 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 265 + i32.const 224 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6960 + i32.const 5728 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1.e+23 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 266 + i32.const 225 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 6992 + i32.const 5776 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1e-23 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 267 + i32.const 226 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7024 + i32.const 5808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1.e+37 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 268 + i32.const 227 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7056 + i32.const 5840 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1e-37 + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 269 + i32.const 228 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7088 + i32.const 5872 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1.e+38 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 270 + i32.const 229 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7120 + i32.const 5904 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1e-38 + f64.const 10 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 271 + i32.const 230 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7152 + i32.const 5936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.EPSILON + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 272 + i32.const 231 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7216 + i32.const 5968 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MAX_VALUE + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 273 + i32.const 232 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7296 + i32.const 6000 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MIN_VALUE + f64.const 0.01 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 274 + i32.const 233 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7328 + i32.const 6048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 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 275 + i32.const 234 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7376 + i32.const 6080 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 276 + i32.const 235 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7520 + i32.const 6112 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -14311,30 +16775,30 @@ if i32.const 0 i32.const 96 - i32.const 277 + i32.const 236 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7568 + i32.const 6144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 278 + i32.const 237 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7616 + i32.const 6176 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -14347,1807 +16811,1608 @@ if i32.const 0 i32.const 96 - i32.const 279 + i32.const 238 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7664 + i32.const 6208 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.neg + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 280 + i32.const 239 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7712 + i32.const 6240 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 281 + i32.const 240 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7760 + i32.const 6272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf + f64.const 0.1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 282 + i32.const 241 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7808 + i32.const 6304 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 283 + i32.const 242 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7840 + i32.const 6336 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.eq + f64.const 0 + call $~lib/object/Object.is + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 284 + i32.const 243 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7888 + i32.const 6368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.eq + f64.const -0 + call $~lib/object/Object.is + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 285 + i32.const 244 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7936 + i32.const 6400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.neg - f64.eq + f64.const 0 + call $~lib/object/Object.is + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 286 + i32.const 245 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7984 + i32.const 2944 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.eq + f64.const -0 + call $~lib/object/Object.is + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 287 + i32.const 246 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8032 + i32.const 6432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const inf - f64.eq + f64.const -0 + call $~lib/object/Object.is + i32.const 0 + i32.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 288 + i32.const 247 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8080 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $47 - local.get $47 + local.tee $31 + local.get $31 f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 289 + i32.const 248 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8112 + i32.const 3536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $48 - local.get $48 + local.tee $32 + local.get $32 f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 290 + i32.const 249 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8160 + i32.const 6480 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $49 - local.get $49 + local.tee $33 + local.get $33 f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 291 + i32.const 250 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8208 + i32.const 6512 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0 - f64.eq + local.tee $34 + local.get $34 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 295 + i32.const 251 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8400 + i32.const 6544 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $std/string/Ox1p_1073 - f64.eq + local.tee $35 + local.get $35 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 308 + i32.const 252 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8592 + i32.const 6576 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $std/string/Ox1_0000000000001p_1022 - f64.eq + local.tee $36 + local.get $36 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 312 + i32.const 253 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=72 - local.get $55 - i32.const 8944 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=76 - local.get $55 - call $~lib/string/String.__concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=64 - local.get $55 - i32.const 9104 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=68 - local.get $55 - call $~lib/string/String.__concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 9264 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String.__concat - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - i32.const 9424 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - call $~lib/string/String.__concat + i32.const 6608 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - global.get $~lib/builtins/f64.MAX_VALUE - f64.eq + local.tee $37 + local.get $37 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 315 + i32.const 254 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9584 + i32.const 6640 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 9.753531888799502e-104 - f64.eq + local.tee $38 + local.get $38 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 333 + i32.const 255 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9696 + i32.const 6672 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.5961860348131807 - f64.eq + local.tee $39 + local.get $39 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 334 + i32.const 256 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9808 + i32.const 6704 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.18150131692180388 - f64.eq + local.tee $40 + local.get $40 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 335 + i32.const 257 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 9920 + i32.const 6736 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.42070823575344535 - f64.eq + local.tee $41 + local.get $41 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 336 + i32.const 258 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10032 + i32.const 6768 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.6654686306516261 - f64.eq + local.tee $42 + local.get $42 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 337 + i32.const 259 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10144 + i32.const 6800 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.6101852922970868 - f64.eq + local.tee $43 + local.get $43 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 338 + i32.const 260 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10256 + i32.const 6832 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.7696695208236968 - f64.eq + local.tee $44 + local.get $44 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 339 + i32.const 261 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10368 + i32.const 6864 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.25050653222286823 - f64.eq + local.tee $45 + local.get $45 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 340 + i32.const 262 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10480 + i32.const 2336 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.2740037230228005 - f64.eq + local.tee $46 + local.get $46 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 341 + i32.const 263 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10592 + i32.const 6896 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.20723093500497428 + f64.const 1e22 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 342 + i32.const 264 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10704 + i32.const 6928 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 7.900280238081605 + f64.const 1e-22 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 343 + i32.const 265 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10816 + i32.const 6960 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 98.22860653737297 + f64.const 1.e+23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 344 + i32.const 266 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10928 + i32.const 6992 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 746.894972319037 + f64.const 1e-23 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 345 + i32.const 267 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11040 + i32.const 7024 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 1630.2683202827284 + f64.const 1.e+37 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 346 + i32.const 268 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11152 + i32.const 7056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 46371.68629719171 + f64.const 1e-37 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 347 + i32.const 269 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11264 + i32.const 7088 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 653780.5944497711 + f64.const 1.e+38 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 348 + i32.const 270 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11376 + i32.const 7120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 234632.43565024371 + f64.const 1e-38 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 349 + i32.const 271 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11488 + i32.const 7152 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 97094817.16420048 + global.get $~lib/builtins/f64.EPSILON f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 350 + i32.const 272 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11600 + i32.const 7216 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 499690852.20518744 + global.get $~lib/builtins/f64.MAX_VALUE f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 351 + i32.const 273 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11712 + i32.const 7296 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 7925201200557245595648 + global.get $~lib/builtins/f64.MIN_VALUE f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 352 + i32.const 274 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11824 + i32.const 7328 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 6096564585983177528398588e5 + f64.const 1.e+308 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 353 + i32.const 275 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 11936 + i32.const 7376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 4800416117477028695992383e42 + f64.const 1 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 354 + i32.const 276 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12048 + i32.const 7520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 8524829079817968137287277e80 + f64.const 0 f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 355 + i32.const 277 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12160 + i32.const 7568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 3271239291709782092398754e243 + f64.const inf f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 356 + i32.const 278 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12272 + i32.const 7616 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - local.tee $50 - local.get $50 - f64.ne + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 359 + i32.const 279 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12304 + i32.const 7664 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 call $~lib/string/parseFloat - f64.const 0.1 + f64.const inf + f64.neg f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 360 + i32.const 280 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 784 + i32.const 7712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__concat - local.tee $51 - i32.store $0 offset=80 - local.get $51 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 364 - i32.const 3 + i32.const 281 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $51 - i32.const 784 + i32.const 7760 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 365 - i32.const 3 + i32.const 282 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 7808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + call $~lib/string/parseFloat + f64.const inf + f64.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 283 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 7840 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 367 + i32.const 284 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr + i32.const 7888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 0 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 369 + i32.const 285 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 7936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - global.get $std/string/nullStr - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + f64.const inf + f64.neg + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 371 + i32.const 286 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/nullStr + i32.const 7984 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 373 + i32.const 287 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 8032 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + f64.const inf + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 375 + i32.const 288 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 + i32.const 8080 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + local.tee $47 + local.get $47 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 376 + i32.const 289 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12400 + i32.const 8112 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + local.tee $48 + local.get $48 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 378 + i32.const 290 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12400 + i32.const 8160 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12400 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + local.tee $49 + local.get $49 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 379 + i32.const 291 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12464 + i32.const 8208 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12496 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + f64.const 0 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 381 + i32.const 295 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12528 + i32.const 8400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12560 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__ne + call $~lib/string/parseFloat + global.get $std/string/Ox1p_1073 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 383 + i32.const 308 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12592 + i32.const 8592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12592 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/string/parseFloat + global.get $std/string/Ox1_0000000000001p_1022 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 384 + i32.const 312 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12592 + i32.const 8784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=72 local.get $55 - i32.const 12640 + i32.const 8944 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=76 local.get $55 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 386 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12688 + call $~lib/string/String.__concat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=64 local.get $55 - i32.const 12736 + i32.const 9104 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=68 local.get $55 - call $~lib/string/String.__ne - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 388 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12336 + call $~lib/string/String.__concat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=12 local.get $55 - i32.const 784 + i32.const 9264 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String.__concat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 390 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12784 + i32.const 9424 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 784 + call $~lib/string/String.__concat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 local.get $55 - call $~lib/string/String.__gt + call $~lib/string/parseFloat + global.get $~lib/builtins/f64.MAX_VALUE + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 391 + i32.const 315 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12784 + i32.const 9584 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte + call $~lib/string/parseFloat + f64.const 9.753531888799502e-104 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 392 + i32.const 333 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12784 + i32.const 9696 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt + call $~lib/string/parseFloat + f64.const 0.5961860348131807 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 393 + i32.const 334 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12784 + i32.const 9808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/parseFloat + f64.const 0.18150131692180388 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 394 + i32.const 335 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 9920 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt + call $~lib/string/parseFloat + f64.const 0.42070823575344535 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 396 + i32.const 336 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10032 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt + call $~lib/string/parseFloat + f64.const 0.6654686306516261 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 397 + i32.const 337 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 10144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte + call $~lib/string/parseFloat + f64.const 0.6101852922970868 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 398 + i32.const 338 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10256 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lte + call $~lib/string/parseFloat + f64.const 0.7696695208236968 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 399 + i32.const 339 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 10368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/parseFloat + f64.const 0.25050653222286823 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 400 + i32.const 340 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10480 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/parseFloat + f64.const 0.2740037230228005 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 401 + i32.const 341 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/parseFloat + f64.const 0.20723093500497428 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 402 + i32.const 342 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10704 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/parseFloat + f64.const 7.900280238081605 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 403 + i32.const 343 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte + call $~lib/string/parseFloat + f64.const 98.22860653737297 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 404 + i32.const 344 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 10928 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lte + call $~lib/string/parseFloat + f64.const 746.894972319037 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 405 + i32.const 345 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2432 + i32.const 11040 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt + call $~lib/string/parseFloat + f64.const 1630.2683202827284 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 407 + i32.const 346 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12848 + i32.const 11152 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt + call $~lib/string/parseFloat + f64.const 46371.68629719171 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 408 + i32.const 347 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 11264 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/parseFloat + f64.const 653780.5944497711 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 409 + i32.const 348 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12848 + i32.const 11376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/parseFloat + f64.const 234632.43565024371 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 410 + i32.const 349 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 11488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt + call $~lib/string/parseFloat + f64.const 97094817.16420048 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 411 + i32.const 350 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12848 + i32.const 11600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt + call $~lib/string/parseFloat + f64.const 499690852.20518744 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 412 + i32.const 351 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 11712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lt - i32.eqz + call $~lib/string/parseFloat + f64.const 7925201200557245595648 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 413 + i32.const 352 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 11824 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gt - i32.eqz + call $~lib/string/parseFloat + f64.const 6096564585983177528398588e5 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 414 + i32.const 353 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 11936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lte + call $~lib/string/parseFloat + f64.const 4800416117477028695992383e42 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 415 + i32.const 354 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12880 + i32.const 12048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte + call $~lib/string/parseFloat + f64.const 8524829079817968137287277e80 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 416 + i32.const 355 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12848 + i32.const 12160 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte - i32.eqz + call $~lib/string/parseFloat + f64.const 3271239291709782092398754e243 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 417 + i32.const 356 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12912 + i32.const 12272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12848 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__gte + call $~lib/string/parseFloat + local.tee $50 + local.get $50 + f64.ne i32.eqz if i32.const 0 i32.const 96 - i32.const 418 + i32.const 359 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12848 + i32.const 12304 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12912 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__lte + call $~lib/string/parseFloat + f64.const 0.1 + f64.eq i32.eqz if i32.const 0 i32.const 96 - i32.const 419 + i32.const 360 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2432 + global.get $~lib/memory/__stack_pointer + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 + i32.const 12336 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 420 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12880 + call $~lib/string/String.__concat + local.tee $51 + i32.store $0 offset=80 + local.get $51 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -16158,84 +18423,79 @@ if i32.const 0 i32.const 96 - i32.const 421 - i32.const 1 + i32.const 364 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1376 + local.get $51 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1376 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 422 - i32.const 1 + i32.const 365 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1376 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12944 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__ne + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 424 + i32.const 367 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12976 + global.get $std/string/nullStr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12976 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 + i32.const 0 call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 425 + i32.const 369 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13008 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12976 + global.get $std/string/nullStr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -16246,78 +18506,62 @@ if i32.const 0 i32.const 96 - i32.const 427 + i32.const 371 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 65377 - call $~lib/string/String.fromCodePoint - local.tee $52 - i32.store $0 offset=84 - global.get $~lib/memory/__stack_pointer - i32.const 55296 - call $~lib/string/String.fromCodePoint + global.get $std/string/nullStr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 56322 - call $~lib/string/String.fromCodePoint + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__concat - local.tee $53 - i32.store $0 offset=88 - local.get $52 - local.get $53 - call $~lib/string/String.__gt + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 432 - i32.const 3 + i32.const 373 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1376 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - call $~lib/string/String#get:length - i32.const 3 - i32.eq + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 435 + i32.const 375 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 100 - call $~lib/string/String#repeat + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -16328,54 +18572,40 @@ if i32.const 0 i32.const 96 - i32.const 437 + i32.const 376 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 0 - call $~lib/string/String#repeat + i32.const 12400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 12432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 438 + i32.const 378 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 1 - call $~lib/string/String#repeat + i32.const 12400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 784 + i32.const 12400 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -16386,83 +18616,62 @@ if i32.const 0 i32.const 96 - i32.const 439 + i32.const 379 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 2 - call $~lib/string/String#repeat + i32.const 12464 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12816 + i32.const 12496 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 440 + i32.const 381 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3 - call $~lib/string/String#repeat + i32.const 12528 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13088 + i32.const 12560 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 441 + i32.const 383 i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 4 - call $~lib/string/String#repeat + call $~lib/builtins/abort + unreachable + end + i32.const 12592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13120 + i32.const 12592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -16473,254 +18682,250 @@ if i32.const 0 i32.const 96 - i32.const 442 + i32.const 384 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 5 - call $~lib/string/String#repeat + i32.const 12592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13168 + i32.const 12640 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 443 + i32.const 386 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 6 - call $~lib/string/String#repeat + i32.const 12688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13200 + i32.const 12736 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 444 + i32.const 388 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 7 - call $~lib/string/String#repeat + i32.const 12336 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13232 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 445 + i32.const 390 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 688 + i32.const 12784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 391 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 12816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 447 + i32.const 392 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 688 + i32.const 12784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 393 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 448 + i32.const 394 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3568 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 396 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lt i32.eqz if i32.const 0 i32.const 96 - i32.const 449 + i32.const 397 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $55 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 398 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replace - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 450 + i32.const 399 i32.const 1 call $~lib/builtins/abort unreachable @@ -16729,427 +18934,436 @@ local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replace - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 451 + i32.const 400 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 401 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 452 + i32.const 402 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 1888 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 403 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 453 + i32.const 404 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replace + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lte i32.eqz if i32.const 0 i32.const 96 - i32.const 454 + i32.const 405 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3536 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 407 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13312 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 455 + i32.const 408 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 688 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 409 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13344 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 456 + i32.const 410 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13376 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 13408 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 411 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13344 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__lt i32.eqz if i32.const 0 i32.const 96 - i32.const 457 + i32.const 412 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 13440 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 13472 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__lt + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 413 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13504 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gt + i32.eqz i32.eqz if i32.const 0 i32.const 96 - i32.const 458 + i32.const 414 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 13440 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 688 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replace + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 415 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12368 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 459 + i32.const 416 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 688 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 1312 + i32.const 12912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String.__gte + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 417 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gte i32.eqz if i32.const 0 i32.const 96 - i32.const 461 + i32.const 418 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 3536 + i32.const 12848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 3568 + i32.const 12912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 419 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17160,36 +19374,18 @@ if i32.const 0 i32.const 96 - i32.const 462 + i32.const 420 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13472 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17200,36 +19396,18 @@ if i32.const 0 i32.const 96 - i32.const 464 + i32.const 421 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 1312 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13584 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17240,36 +19418,40 @@ if i32.const 0 i32.const 96 - i32.const 465 + i32.const 422 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 12368 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 12368 + i32.const 12944 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 424 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1520 + i32.const 12976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17280,116 +19462,110 @@ if i32.const 0 i32.const 96 - i32.const 466 + i32.const 425 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 13584 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 13008 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13664 + i32.const 12976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__ne i32.eqz if i32.const 0 i32.const 96 - i32.const 467 + i32.const 427 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1520 - local.set $55 global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 12368 + i32.const 65377 + call $~lib/string/String.fromCodePoint + local.tee $52 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + i32.const 55296 + call $~lib/string/String.fromCodePoint local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 13472 + i32.const 56322 + call $~lib/string/String.fromCodePoint local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String.__concat + local.tee $53 + i32.store $0 offset=88 + local.get $52 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13712 + local.get $53 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + call $~lib/string/String.__gt i32.eqz if i32.const 0 i32.const 96 - i32.const 468 - i32.const 1 + i32.const 432 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 13744 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 13776 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 local.get $55 - i32.const 13472 + call $~lib/string/String#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 435 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=16 + i32.store $0 offset=8 local.get $55 - call $~lib/string/String#replaceAll + i32.const 100 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13808 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17400,36 +19576,25 @@ if i32.const 0 i32.const 96 - i32.const 469 + i32.const 437 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 1888 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 0 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17440,36 +19605,25 @@ if i32.const 0 i32.const 96 - i32.const 470 + i32.const 438 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1888 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 13840 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 13472 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 1 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1888 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17480,36 +19634,25 @@ if i32.const 0 i32.const 96 - i32.const 471 + i32.const 439 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 13872 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 2 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13904 + i32.const 12816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17520,36 +19663,25 @@ if i32.const 0 i32.const 96 - i32.const 472 + i32.const 440 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 12368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 3 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 13088 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17560,36 +19692,25 @@ if i32.const 0 i32.const 96 - i32.const 473 + i32.const 441 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13280 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 3536 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 4 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13936 + i32.const 13120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17600,36 +19721,25 @@ if i32.const 0 i32.const 96 - i32.const 474 + i32.const 442 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 5 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 13168 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17640,36 +19750,25 @@ if i32.const 0 i32.const 96 - i32.const 476 + i32.const 443 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 6 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 13200 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17680,36 +19779,25 @@ if i32.const 0 i32.const 96 - i32.const 477 + i32.const 444 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 3568 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=16 - local.get $55 - call $~lib/string/String#replaceAll + i32.const 7 + call $~lib/string/String#repeat local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 13232 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17720,12 +19808,12 @@ if i32.const 0 i32.const 96 - i32.const 478 + i32.const 445 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3568 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17743,13 +19831,13 @@ local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3568 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17760,36 +19848,36 @@ if i32.const 0 i32.const 96 - i32.const 479 + i32.const 447 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 3536 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 3536 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17800,36 +19888,36 @@ if i32.const 0 i32.const 96 - i32.const 480 + i32.const 448 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 1792 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 3536 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1312 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17840,12 +19928,12 @@ if i32.const 0 i32.const 96 - i32.const 481 + i32.const 449 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1312 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17857,19 +19945,19 @@ local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 3568 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13968 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17880,7 +19968,7 @@ if i32.const 0 i32.const 96 - i32.const 482 + i32.const 450 i32.const 1 call $~lib/builtins/abort unreachable @@ -17891,19 +19979,19 @@ local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 688 + i32.const 3536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 688 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17920,36 +20008,36 @@ if i32.const 0 i32.const 96 - i32.const 483 + i32.const 451 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 14016 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 784 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 14048 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14080 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -17960,36 +20048,36 @@ if i32.const 0 i32.const 96 - i32.const 486 + i32.const 452 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12368 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 12368 + i32.const 1888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 14128 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14128 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18000,36 +20088,36 @@ if i32.const 0 i32.const 96 - i32.const 487 + i32.const 453 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13088 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 784 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 14160 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14192 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18040,70 +20128,36 @@ if i32.const 0 i32.const 96 - i32.const 488 + i32.const 454 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 13088 + i32.const 13280 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 12816 + i32.const 3536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=12 local.get $55 - i32.const 14048 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=16 local.get $55 - call $~lib/string/String#replaceAll - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 14240 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 489 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14272 - global.set $std/string/str - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#slice@varargs + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 13312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18114,60 +20168,36 @@ if i32.const 0 i32.const 96 - i32.const 493 + i32.const 455 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#slice@varargs - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 14320 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=12 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 494 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $55 - i32.const -5 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#slice@varargs + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14352 + i32.const 13344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18178,26 +20208,36 @@ if i32.const 0 i32.const 96 - i32.const 495 + i32.const 456 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 13376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 2 - i32.const 7 - call $~lib/string/String#slice + i32.const 13408 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14384 + i32.const 13344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18208,26 +20248,36 @@ if i32.const 0 i32.const 96 - i32.const 496 + i32.const 457 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -11 - i32.const -6 - call $~lib/string/String#slice + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 13472 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14416 + i32.const 13504 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18238,56 +20288,36 @@ if i32.const 0 i32.const 96 - i32.const 497 + i32.const 458 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const 3 - call $~lib/string/String#slice + i32.const 13440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=12 local.get $55 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 498 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $std/string/str - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $55 - i32.const 0 - i32.const -1 - call $~lib/string/String#slice + call $~lib/string/String#replace local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14448 + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18298,28 +20328,36 @@ if i32.const 0 i32.const 96 - i32.const 499 + i32.const 459 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substr@varargs + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18330,28 +20368,36 @@ if i32.const 0 i32.const 96 - i32.const 501 + i32.const 461 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substr@varargs + i32.const 3536 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14320 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18362,28 +20408,36 @@ if i32.const 0 i32.const 96 - i32.const 502 + i32.const 462 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -5 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substr@varargs + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14352 + i32.const 13472 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18394,26 +20448,36 @@ if i32.const 0 i32.const 96 - i32.const 503 + i32.const 464 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 13536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 2 - i32.const 7 - call $~lib/string/String#substr + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14496 + i32.const 13584 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18424,26 +20488,36 @@ if i32.const 0 i32.const 96 - i32.const 504 + i32.const 465 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -11 - i32.const -6 - call $~lib/string/String#substr + i32.const 12368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 12368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18454,26 +20528,36 @@ if i32.const 0 i32.const 96 - i32.const 505 + i32.const 466 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 13616 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const 3 - call $~lib/string/String#substr + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 13584 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14544 + i32.const 13664 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18484,26 +20568,36 @@ if i32.const 0 i32.const 96 - i32.const 506 + i32.const 467 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const -1 - call $~lib/string/String#substr + i32.const 12368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 13472 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 13712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18514,26 +20608,36 @@ if i32.const 0 i32.const 96 - i32.const 507 + i32.const 468 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 13744 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 13776 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 13472 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 offset=16 local.get $55 - i32.const 0 - i32.const 100 - call $~lib/string/String#substr + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 13808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18544,26 +20648,36 @@ if i32.const 0 i32.const 96 - i32.const 508 + i32.const 469 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const 4 - call $~lib/string/String#substr + i32.const 1888 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14576 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18574,26 +20688,36 @@ if i32.const 0 i32.const 96 - i32.const 509 + i32.const 470 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const -3 - call $~lib/string/String#substr + i32.const 13840 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 13472 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18604,28 +20728,36 @@ if i32.const 0 i32.const 96 - i32.const 510 + i32.const 471 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substring@varargs + i32.const 13872 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 13904 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18636,28 +20768,36 @@ if i32.const 0 i32.const 96 - i32.const 512 + i32.const 472 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 12368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -1 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substring@varargs + i32.const 12368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18668,28 +20808,36 @@ if i32.const 0 i32.const 96 - i32.const 513 + i32.const 473 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 13280 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -5 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#substring@varargs + i32.const 3536 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 13936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18700,26 +20848,36 @@ if i32.const 0 i32.const 96 - i32.const 514 + i32.const 474 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 2 - i32.const 7 - call $~lib/string/String#substring + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14384 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18730,26 +20888,36 @@ if i32.const 0 i32.const 96 - i32.const 515 + i32.const 476 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const -11 - i32.const -6 - call $~lib/string/String#substring + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18760,26 +20928,36 @@ if i32.const 0 i32.const 96 - i32.const 516 + i32.const 477 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const 3 - call $~lib/string/String#substring + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14608 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18790,29 +20968,39 @@ if i32.const 0 i32.const 96 - i32.const 517 + i32.const 478 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 3568 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const -1 - call $~lib/string/String#substring + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=12 local.get $55 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 i32.store $0 offset=4 local.get $55 call $~lib/string/String.__eq @@ -18820,26 +21008,36 @@ if i32.const 0 i32.const 96 - i32.const 518 + i32.const 479 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const 100 - call $~lib/string/String#substring + i32.const 1312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3536 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14272 + i32.const 3536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18850,26 +21048,36 @@ if i32.const 0 i32.const 96 - i32.const 519 + i32.const 480 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const 4 - call $~lib/string/String#substring + i32.const 1792 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3536 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18880,26 +21088,36 @@ if i32.const 0 i32.const 96 - i32.const 520 + i32.const 481 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $std/string/str + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=8 local.get $55 - i32.const 4 - i32.const -3 - call $~lib/string/String#substring + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 3568 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1888 + i32.const 13968 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -18910,695 +21128,378 @@ if i32.const 0 i32.const 96 - i32.const 521 + i32.const 482 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 688 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 0 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 527 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=12 local.get $55 i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=16 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - 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 529 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 688 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 531 - i32.const 3 + i32.const 483 + i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 14816 + i32.const 14016 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=8 local.get $55 - i32.const 6608 + i32.const 784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 offset=12 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 14816 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 533 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 14816 + i32.const 14048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 + i32.store $0 offset=16 local.get $55 - i32.const 1600 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end + i32.const 14080 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 535 - i32.const 3 + i32.const 486 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 12368 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14848 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 12368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 14128 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 14896 + i32.const 14128 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $54 + i32.const 96 + i32.const 487 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const 13088 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 14160 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14192 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 537 - i32.const 3 + i32.const 488 + i32.const 1 call $~lib/builtins/abort unreachable end + i32.const 13088 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14928 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 12816 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + i32.const 14048 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=16 + local.get $55 + call $~lib/string/String#replaceAll local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 14240 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $54 + i32.const 96 + i32.const 489 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + i32.const 14272 + global.set $std/string/str + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14272 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 539 - i32.const 3 + i32.const 493 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14960 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 14320 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $54 + i32.const 96 + i32.const 494 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -5 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#slice@varargs + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14352 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 541 - i32.const 3 + i32.const 495 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14992 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + i32.const 7 + call $~lib/string/String#slice local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 14384 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 4 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $54 + i32.const 96 + i32.const 496 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 3 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -11 + i32.const -6 + call $~lib/string/String#slice + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14416 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 543 - i32.const 3 + i32.const 497 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 1312 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const 3 + call $~lib/string/String#slice local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -19610,212 +21511,181 @@ local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - end - if (result i32) - local.get $54 + i32.const 96 + i32.const 498 i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 + call $~lib/builtins/abort + unreachable end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const -1 + call $~lib/string/String#slice + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14448 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 545 - i32.const 3 + i32.const 499 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 1312 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 0 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - 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 547 - i32.const 3 + i32.const 501 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 1312 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 14320 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 549 - i32.const 3 + i32.const 502 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14816 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -5 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substr@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 14352 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 1 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 1 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 + i32.const 96 + i32.const 503 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + i32.const 7 + call $~lib/string/String#substr + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14496 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 551 - i32.const 3 + i32.const 504 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 1312 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -11 + i32.const -6 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -19827,263 +21697,91 @@ local.get $55 i32.store $0 offset=4 local.get $55 - i32.const 4 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 553 - i32.const 3 + i32.const 505 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 1312 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const 3 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 14544 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const -1 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 555 - i32.const 3 + i32.const 506 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 14816 + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const -1 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1600 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - i32.const -1 - call $~lib/string/String#split - local.tee $54 - i32.store $0 offset=92 - local.get $54 - call $~lib/array/Array<~lib/string/String>#get:length - i32.const 3 - i32.eq - if (result i32) - local.get $54 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 784 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 1 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 12336 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - else - i32.const 0 - end - if (result i32) - local.get $54 - i32.const 2 - call $~lib/array/Array<~lib/string/String>#__get - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - 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 557 - i32.const 3 + i32.const 507 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 i32.const 0 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 100 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20094,20 +21792,26 @@ if i32.const 0 i32.const 96 - i32.const 562 + i32.const 508 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const 4 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 + i32.const 14576 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20118,20 +21822,26 @@ if i32.const 0 i32.const 96 - i32.const 563 + i32.const 509 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const -3 + call $~lib/string/String#substr local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16768 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20142,20 +21852,28 @@ if i32.const 0 i32.const 96 - i32.const 564 + i32.const 510 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16800 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20166,20 +21884,28 @@ if i32.const 0 i32.const 96 - i32.const 565 + i32.const 512 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -1 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1376 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20190,20 +21916,28 @@ if i32.const 0 i32.const 96 - i32.const 566 + i32.const 513 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1000 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -5 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#substring@varargs local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16832 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20214,20 +21948,26 @@ if i32.const 0 i32.const 96 - i32.const 567 + i32.const 514 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + i32.const 7 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12976 + i32.const 14384 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20238,20 +21978,26 @@ if i32.const 0 i32.const 96 - i32.const 568 + i32.const 515 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const -11 + i32.const -6 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16864 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20262,20 +22008,26 @@ if i32.const 0 i32.const 96 - i32.const 569 + i32.const 516 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const 3 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16896 + i32.const 14608 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20286,20 +22038,26 @@ if i32.const 0 i32.const 96 - i32.const 570 + i32.const 517 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1111111 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const -1 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16928 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20310,20 +22068,26 @@ if i32.const 0 i32.const 96 - i32.const 571 + i32.const 518 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + i32.const 100 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16976 + i32.const 14272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20334,20 +22098,26 @@ if i32.const 0 i32.const 96 - i32.const 572 + i32.const 519 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 12345678 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const 4 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17024 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20358,20 +22128,26 @@ if i32.const 0 i32.const 96 - i32.const 573 + i32.const 520 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $std/string/str + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 4 + i32.const -3 + call $~lib/string/String#substring local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17072 + i32.const 1888 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -20382,716 +22158,1435 @@ if i32.const 0 i32.const 96 - i32.const 574 + i32.const 521 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483646 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $~lib/memory/__stack_pointer + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17120 + i32.const 0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=4 + i32.store $0 local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 575 - i32.const 1 + i32.const 527 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $~lib/memory/__stack_pointer + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17168 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 576 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17216 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + 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 577 - i32.const 1 + i32.const 529 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 10 - call $~lib/util/number/itoa32 + global.get $~lib/memory/__stack_pointer + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17264 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 578 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/i8.MIN_VALUE - i32.const 10 - call $~lib/util/number/itoa32 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17296 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 580 - i32.const 1 + i32.const 531 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i16.MIN_VALUE - i32.const 10 - call $~lib/util/number/itoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17328 + i32.const 6608 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 14816 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 581 - i32.const 1 + i32.const 533 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i32.MIN_VALUE - i32.const 10 - call $~lib/util/number/itoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17216 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 582 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.const 1 + global.set $~argumentsLength i32.const 0 - i32.const 10 - call $~lib/util/number/utoa32 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 584 - i32.const 1 + i32.const 535 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1000 - i32.const 10 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17360 + i32.const 14896 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 585 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - i32.const 10 - call $~lib/util/number/utoa32 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 586 - i32.const 1 + i32.const 537 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 10 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14928 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17392 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 587 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/builtins/u32.MAX_VALUE - i32.const 10 - call $~lib/util/number/utoa32 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 588 - i32.const 1 + i32.const 539 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14960 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 592 - i32.const 1 - call $~lib/builtins/abort - unreachable - end i32.const 1 - i32.const 16 - call $~lib/util/number/utoa32 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 593 - i32.const 1 + i32.const 541 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 8 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14992 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16768 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 4 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 3 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else i32.const 0 - i32.const 96 - i32.const 594 - i32.const 1 - call $~lib/builtins/abort - unreachable end - i32.const 12 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 13440 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 595 - i32.const 1 + i32.const 543 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 123 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17488 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 596 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17520 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq - i32.eqz - if + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 i32.const 0 - i32.const 96 - i32.const 597 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 end - i32.const 12345 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 - local.get $55 - i32.const 17552 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq i32.eqz if i32.const 0 i32.const 96 - i32.const 598 - i32.const 1 + i32.const 545 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 123456 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17584 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 599 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const 0 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17616 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + 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 600 - i32.const 1 + i32.const 547 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1234567 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17648 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 601 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12345678 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const 1 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17680 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 602 - i32.const 1 + i32.const 549 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 123456789 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17712 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 603 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483646 - i32.const 16 - call $~lib/util/number/utoa32 + i32.const 1 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17760 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 1 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 604 - i32.const 1 + i32.const 551 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17808 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + i32.const 4 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 605 - i32.const 1 + i32.const 553 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 1312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17856 + i32.const 688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq + i32.const -1 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 606 - i32.const 1 + i32.const 555 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 16 - call $~lib/util/number/utoa32 + global.get $~lib/memory/__stack_pointer + i32.const 14816 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17904 + i32.const 1600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 offset=4 local.get $55 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 607 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 16 - call $~lib/util/number/itoa32 + i32.const -1 + call $~lib/string/String#split + local.tee $54 + i32.store $0 offset=92 + local.get $54 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=4 - local.get $55 - call $~lib/string/String.__eq + call $~lib/array/Array<~lib/string/String>#get:length + i32.const 3 + i32.eq + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 0 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 784 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 1 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 12336 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + local.get $54 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 2 + call $~lib/array/Array<~lib/string/String>#__get + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 13440 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + else + i32.const 0 + end i32.eqz if i32.const 0 i32.const 96 - i32.const 609 - i32.const 1 + i32.const 557 + i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -4096 - i32.const 16 + i32.const 0 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16832 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21102,20 +23597,20 @@ if i32.const 0 i32.const 96 - i32.const 610 + i32.const 562 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2147483647 - i32.const 16 + i32.const 1 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17808 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21126,20 +23621,20 @@ if i32.const 0 i32.const 96 - i32.const 611 + i32.const 563 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483647 - i32.const 16 + i32.const 8 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17952 + i32.const 16768 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21150,20 +23645,20 @@ if i32.const 0 i32.const 96 - i32.const 612 + i32.const 564 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -268435455 - i32.const 16 + i32.const 12 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18000 + i32.const 16800 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21174,20 +23669,20 @@ if i32.const 0 i32.const 96 - i32.const 613 + i32.const 565 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 + i32.const 123 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18048 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21198,20 +23693,20 @@ if i32.const 0 i32.const 96 - i32.const 614 + i32.const 566 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2147483648 - i32.const 16 + i32.const -1000 + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18048 + i32.const 16832 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21222,20 +23717,20 @@ if i32.const 0 i32.const 96 - i32.const 615 + i32.const 567 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 1234 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 12976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21246,20 +23741,20 @@ if i32.const 0 i32.const 96 - i32.const 619 + i32.const 568 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 12345 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 + i32.const 16864 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21270,20 +23765,20 @@ if i32.const 0 i32.const 96 - i32.const 620 + i32.const 569 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 123456 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12880 + i32.const 16896 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21294,20 +23789,20 @@ if i32.const 0 i32.const 96 - i32.const 621 + i32.const 570 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 7 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 1111111 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18096 + i32.const 16928 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21318,20 +23813,20 @@ if i32.const 0 i32.const 96 - i32.const 622 + i32.const 571 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 14 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 1234567 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18128 + i32.const 16976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21342,20 +23837,20 @@ if i32.const 0 i32.const 96 - i32.const 623 + i32.const 572 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 29 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 12345678 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18160 + i32.const 17024 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21366,20 +23861,20 @@ if i32.const 0 i32.const 96 - i32.const 624 + i32.const 573 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 59 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 123456789 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18192 + i32.const 17072 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21390,20 +23885,20 @@ if i32.const 0 i32.const 96 - i32.const 625 + i32.const 574 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4095 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 2147483646 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18224 + i32.const 17120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21414,20 +23909,20 @@ if i32.const 0 i32.const 96 - i32.const 626 + i32.const 575 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 33554431 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const 2147483647 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18272 + i32.const 17168 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21438,20 +23933,20 @@ if i32.const 0 i32.const 96 - i32.const 627 + i32.const 576 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -12 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const -2147483648 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18352 + i32.const 17216 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21462,20 +23957,20 @@ if i32.const 0 i32.const 96 - i32.const 628 + i32.const 577 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -4 - i32.const 2 - call $~lib/util/number/utoa32 + i32.const -1 + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18448 + i32.const 17264 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21486,20 +23981,20 @@ if i32.const 0 i32.const 96 - i32.const 629 + i32.const 578 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2 - i32.const 2 - call $~lib/util/number/utoa32 + global.get $~lib/builtins/i8.MIN_VALUE + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18544 + i32.const 17296 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21510,20 +24005,20 @@ if i32.const 0 i32.const 96 - i32.const 630 + i32.const 580 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 2 - call $~lib/util/number/utoa32 + global.get $~lib/builtins/i16.MIN_VALUE + i32.const 10 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18640 + i32.const 17328 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21534,20 +24029,20 @@ if i32.const 0 i32.const 96 - i32.const 631 + i32.const 581 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -2047 - i32.const 2 + global.get $~lib/builtins/i32.MIN_VALUE + i32.const 10 call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18736 + i32.const 17216 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21558,20 +24053,20 @@ if i32.const 0 i32.const 96 - i32.const 633 + i32.const 582 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 3 + i32.const 0 + i32.const 10 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18784 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21582,20 +24077,20 @@ if i32.const 0 i32.const 96 - i32.const 637 + i32.const 584 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 4 + i32.const 1000 + i32.const 10 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18848 + i32.const 17360 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21606,20 +24101,20 @@ if i32.const 0 i32.const 96 - i32.const 638 + i32.const 585 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 5 + i32.const 2147483647 + i32.const 10 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18912 + i32.const 17168 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21630,20 +24125,20 @@ if i32.const 0 i32.const 96 - i32.const 639 + i32.const 586 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 8 + i32.const -2147483648 + i32.const 10 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18960 + i32.const 17392 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21654,20 +24149,20 @@ if i32.const 0 i32.const 96 - i32.const 640 + i32.const 587 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 11 + global.get $~lib/builtins/u32.MAX_VALUE + i32.const 10 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19008 + i32.const 17440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21678,20 +24173,20 @@ if i32.const 0 i32.const 96 - i32.const 641 + i32.const 588 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 15 + i32.const 0 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19056 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21702,20 +24197,20 @@ if i32.const 0 i32.const 96 - i32.const 642 + i32.const 592 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 17 + i32.const 1 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19104 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21726,20 +24221,20 @@ if i32.const 0 i32.const 96 - i32.const 643 + i32.const 593 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 21 + i32.const 8 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19152 + i32.const 16768 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21750,20 +24245,20 @@ if i32.const 0 i32.const 96 - i32.const 644 + i32.const 594 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 27 + i32.const 12 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19200 + i32.const 13440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21774,20 +24269,20 @@ if i32.const 0 i32.const 96 - i32.const 645 + i32.const 595 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 32 + i32.const 123 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19248 + i32.const 17488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21798,20 +24293,20 @@ if i32.const 0 i32.const 96 - i32.const 646 + i32.const 596 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - i32.const 36 + i32.const 1234 + i32.const 16 call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19296 + i32.const 17520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21822,20 +24317,20 @@ if i32.const 0 i32.const 96 - i32.const 647 + i32.const 597 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 12345 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 17552 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21846,20 +24341,20 @@ if i32.const 0 i32.const 96 - i32.const 651 + i32.const 598 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 123456 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16800 + i32.const 17584 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21870,20 +24365,20 @@ if i32.const 0 i32.const 96 - i32.const 652 + i32.const 599 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 1111111 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 1376 + i32.const 17616 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21894,20 +24389,20 @@ if i32.const 0 i32.const 96 - i32.const 653 + i32.const 600 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 1234567 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 12976 + i32.const 17648 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21918,20 +24413,20 @@ if i32.const 0 i32.const 96 - i32.const 654 + i32.const 601 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12345 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 12345678 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16864 + i32.const 17680 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21942,20 +24437,20 @@ if i32.const 0 i32.const 96 - i32.const 655 + i32.const 602 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 123456 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 123456789 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16896 + i32.const 17712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21966,20 +24461,20 @@ if i32.const 0 i32.const 96 - i32.const 656 + i32.const 603 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234567 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 2147483646 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 16976 + i32.const 17760 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -21990,20 +24485,20 @@ if i32.const 0 i32.const 96 - i32.const 657 + i32.const 604 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 99999999 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19344 + i32.const 17808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22014,20 +24509,20 @@ if i32.const 0 i32.const 96 - i32.const 658 + i32.const 605 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 100000000 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19392 + i32.const 17856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22038,20 +24533,20 @@ if i32.const 0 i32.const 96 - i32.const 659 + i32.const 606 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 16 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17440 + i32.const 17904 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22062,20 +24557,20 @@ if i32.const 0 i32.const 96 - i32.const 660 + i32.const 607 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 0 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19440 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22086,20 +24581,20 @@ if i32.const 0 i32.const 96 - i32.const 661 + i32.const 609 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -4096 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19488 + i32.const 16832 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22110,20 +24605,20 @@ if i32.const 0 i32.const 96 - i32.const 662 + i32.const 610 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19536 + i32.const 17808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22134,20 +24629,20 @@ if i32.const 0 i32.const 96 - i32.const 663 + i32.const 611 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8687194767350 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -2147483647 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19584 + i32.const 17952 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22158,20 +24653,20 @@ if i32.const 0 i32.const 96 - i32.const 664 + i32.const 612 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 86871947673501 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -268435455 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19632 + i32.const 18000 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22182,20 +24677,20 @@ if i32.const 0 i32.const 96 - i32.const 665 + i32.const 613 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19680 + i32.const 18048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22206,20 +24701,20 @@ if i32.const 0 i32.const 96 - i32.const 666 + i32.const 614 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19744 + i32.const 18048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22230,20 +24725,20 @@ if i32.const 0 i32.const 96 - i32.const 667 + i32.const 615 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 19999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 0 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19808 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22254,20 +24749,20 @@ if i32.const 0 i32.const 96 - i32.const 668 + i32.const 619 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 129999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 1 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19872 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22278,20 +24773,20 @@ if i32.const 0 i32.const 96 - i32.const 669 + i32.const 620 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1239999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 3 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19936 + i32.const 12880 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22302,20 +24797,20 @@ if i32.const 0 i32.const 96 - i32.const 670 + i32.const 621 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/u64.MAX_VALUE - i32.const 10 - call $~lib/util/number/utoa64 + i32.const 7 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20000 + i32.const 18096 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22326,20 +24821,20 @@ if i32.const 0 i32.const 96 - i32.const 671 + i32.const 622 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const 14 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 18128 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22350,20 +24845,20 @@ if i32.const 0 i32.const 96 - i32.const 673 + i32.const 623 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1234 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const 29 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20064 + i32.const 18160 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22374,20 +24869,20 @@ if i32.const 0 i32.const 96 - i32.const 674 + i32.const 624 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const 59 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17440 + i32.const 18192 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22398,20 +24893,20 @@ if i32.const 0 i32.const 96 - i32.const 675 + i32.const 625 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967297 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const 4095 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19440 + i32.const 18224 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22422,20 +24917,20 @@ if i32.const 0 i32.const 96 - i32.const 676 + i32.const 626 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -4294967295 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const 33554431 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20096 + i32.const 18272 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22446,20 +24941,20 @@ if i32.const 0 i32.const 96 - i32.const 677 + i32.const 627 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 68719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -12 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 19488 + i32.const 18352 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22470,20 +24965,20 @@ if i32.const 0 i32.const 96 - i32.const 678 + i32.const 628 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -68719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -4 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20144 + i32.const 18448 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22494,20 +24989,20 @@ if i32.const 0 i32.const 96 - i32.const 679 + i32.const 629 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -2 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20192 + i32.const 18544 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22518,20 +25013,20 @@ if i32.const 0 i32.const 96 - i32.const 680 + i32.const 630 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -1 + i32.const 2 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20240 + i32.const 18640 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22542,20 +25037,20 @@ if i32.const 0 i32.const 96 - i32.const 681 + i32.const 631 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -19999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -2047 + i32.const 2 + call $~lib/util/number/itoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20304 + i32.const 18736 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22566,20 +25061,20 @@ if i32.const 0 i32.const 96 - i32.const 682 + i32.const 633 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MAX_VALUE - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -1 + i32.const 3 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20368 + i32.const 18784 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22590,20 +25085,20 @@ if i32.const 0 i32.const 96 - i32.const 683 + i32.const 637 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/i64.MIN_VALUE - i32.const 10 - call $~lib/util/number/itoa64 + i32.const -1 + i32.const 4 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20432 + i32.const 18848 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22614,20 +25109,20 @@ if i32.const 0 i32.const 96 - i32.const 684 + i32.const 638 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 5 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 18912 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22638,20 +25133,20 @@ if i32.const 0 i32.const 96 - i32.const 688 + i32.const 639 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 8 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 + i32.const 18960 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22662,20 +25157,20 @@ if i32.const 0 i32.const 96 - i32.const 689 + i32.const 640 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 12 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 11 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 13440 + i32.const 19008 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22686,20 +25181,20 @@ if i32.const 0 i32.const 96 - i32.const 690 + i32.const 641 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1234 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 15 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17520 + i32.const 19056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22710,20 +25205,20 @@ if i32.const 0 i32.const 96 - i32.const 691 + i32.const 642 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1111111 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 17 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 17616 + i32.const 19104 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22734,20 +25229,20 @@ if i32.const 0 i32.const 96 - i32.const 692 + i32.const 643 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 8589934591 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 21 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20496 + i32.const 19152 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22758,20 +25253,20 @@ if i32.const 0 i32.const 96 - i32.const 693 + i32.const 644 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 5942249508321 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 27 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20544 + i32.const 19200 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22782,20 +25277,20 @@ if i32.const 0 i32.const 96 - i32.const 694 + i32.const 645 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 76310993685985 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 32 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20592 + i32.const 19248 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22806,20 +25301,20 @@ if i32.const 0 i32.const 96 - i32.const 695 + i32.const 646 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 920735923817967 - i32.const 16 - call $~lib/util/number/utoa64 + i32.const -1 + i32.const 36 + call $~lib/util/number/utoa32 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20640 + i32.const 19296 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22830,20 +25325,20 @@ if i32.const 0 i32.const 96 - i32.const 696 + i32.const 647 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9927935178558959 - i32.const 16 + i64.const 0 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20688 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22854,20 +25349,20 @@ if i32.const 0 i32.const 96 - i32.const 697 + i32.const 651 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 81985529216486895 - i32.const 16 + i64.const 12 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20736 + i32.const 16800 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22878,20 +25373,20 @@ if i32.const 0 i32.const 96 - i32.const 698 + i32.const 652 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1311768467463790320 - i32.const 16 + i64.const 123 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20800 + i32.const 1376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22902,20 +25397,20 @@ if i32.const 0 i32.const 96 - i32.const 699 + i32.const 653 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 9223372036854775807 - i32.const 16 + i64.const 1234 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20864 + i32.const 12976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22926,20 +25421,20 @@ if i32.const 0 i32.const 96 - i32.const 700 + i32.const 654 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 16 + i64.const 12345 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20928 + i32.const 16864 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22950,20 +25445,20 @@ if i32.const 0 i32.const 96 - i32.const 701 + i32.const 655 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775807 - i32.const 16 - call $~lib/util/number/itoa64 + i64.const 123456 + i32.const 10 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 20992 + i32.const 16896 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22974,20 +25469,20 @@ if i32.const 0 i32.const 96 - i32.const 703 + i32.const 656 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + i64.const 1234567 + i32.const 10 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21056 + i32.const 16976 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -22998,20 +25493,20 @@ if i32.const 0 i32.const 96 - i32.const 704 + i32.const 657 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 + i64.const 99999999 + i32.const 10 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21056 + i32.const 19344 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23022,20 +25517,20 @@ if i32.const 0 i32.const 96 - i32.const 705 + i32.const 658 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 0 - i32.const 2 + i64.const 100000000 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2368 + i32.const 19392 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23046,20 +25541,20 @@ if i32.const 0 i32.const 96 - i32.const 709 + i32.const 659 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 1 - i32.const 2 + i64.const 4294967295 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 2432 + i32.const 17440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23070,20 +25565,20 @@ if i32.const 0 i32.const 96 - i32.const 710 + i32.const 660 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 7 - i32.const 2 + i64.const 4294967297 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18096 + i32.const 19440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23094,20 +25589,20 @@ if i32.const 0 i32.const 96 - i32.const 711 + i32.const 661 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 14 - i32.const 2 + i64.const 68719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18128 + i32.const 19488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23118,20 +25613,20 @@ if i32.const 0 i32.const 96 - i32.const 712 + i32.const 662 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 59 - i32.const 2 + i64.const 868719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18192 + i32.const 19536 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23142,20 +25637,20 @@ if i32.const 0 i32.const 96 - i32.const 713 + i32.const 663 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4095 - i32.const 2 + i64.const 8687194767350 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18224 + i32.const 19584 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23166,20 +25661,20 @@ if i32.const 0 i32.const 96 - i32.const 714 + i32.const 664 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 4294967295 - i32.const 2 + i64.const 86871947673501 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 18640 + i32.const 19632 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23190,20 +25685,20 @@ if i32.const 0 i32.const 96 - i32.const 715 + i32.const 665 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const 562949953421311 - i32.const 2 + i64.const 999868719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21120 + i32.const 19680 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23214,20 +25709,20 @@ if i32.const 0 i32.const 96 - i32.const 716 + i32.const 666 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 2 + i64.const 9999868719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21248 + i32.const 19744 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23238,20 +25733,20 @@ if i32.const 0 i32.const 96 - i32.const 717 + i32.const 667 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -8589934591 - i32.const 2 - call $~lib/util/number/itoa64 + i64.const 19999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21408 + i32.const 19808 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23262,20 +25757,20 @@ if i32.const 0 i32.const 96 - i32.const 719 + i32.const 668 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 3 + i64.const 129999868719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21504 + i32.const 19872 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23286,20 +25781,20 @@ if i32.const 0 i32.const 96 - i32.const 723 + i32.const 669 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 4 + i64.const 1239999868719476735 + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21616 + i32.const 19936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23310,20 +25805,20 @@ if i32.const 0 i32.const 96 - i32.const 724 + i32.const 670 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 5 + global.get $~lib/builtins/u64.MAX_VALUE + i32.const 10 call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21712 + i32.const 20000 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23334,20 +25829,20 @@ if i32.const 0 i32.const 96 - i32.const 725 + i32.const 671 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 8 - call $~lib/util/number/utoa64 + i64.const 0 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21792 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23358,20 +25853,20 @@ if i32.const 0 i32.const 96 - i32.const 726 + i32.const 673 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 11 - call $~lib/util/number/utoa64 + i64.const -1234 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21856 + i32.const 20064 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23382,20 +25877,20 @@ if i32.const 0 i32.const 96 - i32.const 727 + i32.const 674 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 15 - call $~lib/util/number/utoa64 + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21920 + i32.const 17440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23406,20 +25901,20 @@ if i32.const 0 i32.const 96 - i32.const 728 + i32.const 675 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 17 - call $~lib/util/number/utoa64 + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 21984 + i32.const 19440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23430,20 +25925,20 @@ if i32.const 0 i32.const 96 - i32.const 729 + i32.const 676 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 21 - call $~lib/util/number/utoa64 + i64.const -4294967295 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22048 + i32.const 20096 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23454,20 +25949,20 @@ if i32.const 0 i32.const 96 - i32.const 730 + i32.const 677 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 27 - call $~lib/util/number/utoa64 + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22112 + i32.const 19488 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23478,20 +25973,20 @@ if i32.const 0 i32.const 96 - i32.const 731 + i32.const 678 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 32 - call $~lib/util/number/utoa64 + i64.const -68719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22160 + i32.const 20144 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23502,20 +25997,20 @@ if i32.const 0 i32.const 96 - i32.const 732 + i32.const 679 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 36 - call $~lib/util/number/utoa64 + i64.const -868719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22208 + i32.const 20192 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23526,19 +26021,20 @@ if i32.const 0 i32.const 96 - i32.const 733 + i32.const 680 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - call $~lib/util/number/dtoa + i64.const -999868719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22256 + i32.const 20240 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23549,19 +26045,20 @@ if i32.const 0 i32.const 96 - i32.const 736 + i32.const 681 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0 - call $~lib/util/number/dtoa + i64.const -19999868719476735 + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22256 + i32.const 20304 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23572,19 +26069,20 @@ if i32.const 0 i32.const 96 - i32.const 737 + i32.const 682 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa + global.get $~lib/builtins/i64.MAX_VALUE + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 6672 + i32.const 20368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23595,19 +26093,20 @@ if i32.const 0 i32.const 96 - i32.const 738 + i32.const 683 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - call $~lib/util/number/dtoa + global.get $~lib/builtins/i64.MIN_VALUE + i32.const 10 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22288 + i32.const 20432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23618,20 +26117,20 @@ if i32.const 0 i32.const 96 - i32.const 739 + i32.const 684 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - f64.neg - call $~lib/util/number/dtoa + i64.const 0 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 7936 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23642,19 +26141,20 @@ if i32.const 0 i32.const 96 - i32.const 740 + i32.const 688 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON - call $~lib/util/number/dtoa + i64.const 1 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 7152 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23665,20 +26165,20 @@ if i32.const 0 i32.const 96 - i32.const 741 + i32.const 689 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.EPSILON - f64.neg - call $~lib/util/number/dtoa + i64.const 12 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23312 + i32.const 13440 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23689,19 +26189,20 @@ if i32.const 0 i32.const 96 - i32.const 742 + i32.const 690 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - call $~lib/util/number/dtoa + i64.const 1234 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 7216 + i32.const 17520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23712,20 +26213,20 @@ if i32.const 0 i32.const 96 - i32.const 743 + i32.const 691 i32.const 1 call $~lib/builtins/abort unreachable end - global.get $~lib/builtins/f64.MAX_VALUE - f64.neg - call $~lib/util/number/dtoa + i64.const 1111111 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23376 + i32.const 17616 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23736,19 +26237,20 @@ if i32.const 0 i32.const 96 - i32.const 744 + i32.const 692 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa + i64.const 8589934591 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23456 + i32.const 20496 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23759,19 +26261,20 @@ if i32.const 0 i32.const 96 - i32.const 745 + i32.const 693 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa + i64.const 5942249508321 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23520 + i32.const 20544 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23782,19 +26285,20 @@ if i32.const 0 i32.const 96 - i32.const 746 + i32.const 694 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 - call $~lib/util/number/dtoa + i64.const 76310993685985 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23600 + i32.const 20592 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23805,19 +26309,20 @@ if i32.const 0 i32.const 96 - i32.const 749 + i32.const 695 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9060801153433600 - call $~lib/util/number/dtoa + i64.const 920735923817967 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23648 + i32.const 20640 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23828,19 +26333,20 @@ if i32.const 0 i32.const 96 - i32.const 750 + i32.const 696 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 - call $~lib/util/number/dtoa + i64.const 9927935178558959 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23712 + i32.const 20688 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23851,19 +26357,20 @@ if i32.const 0 i32.const 96 - i32.const 751 + i32.const 697 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 9409340012568248320 - call $~lib/util/number/dtoa + i64.const 81985529216486895 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23776 + i32.const 20736 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23874,19 +26381,20 @@ if i32.const 0 i32.const 96 - i32.const 752 + i32.const 698 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 - call $~lib/util/number/dtoa + i64.const 1311768467463790320 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 7296 + i32.const 20800 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23897,19 +26405,20 @@ if i32.const 0 i32.const 96 - i32.const 753 + i32.const 699 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - call $~lib/util/number/dtoa + i64.const 9223372036854775807 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23840 + i32.const 20864 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23920,19 +26429,20 @@ if i32.const 0 i32.const 96 - i32.const 759 + i32.const 700 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.1 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 16 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 4256 + i32.const 20928 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23943,19 +26453,20 @@ if i32.const 0 i32.const 96 - i32.const 760 + i32.const 701 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1 - call $~lib/util/number/dtoa + i64.const -9223372036854775807 + i32.const 16 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23872 + i32.const 20992 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23966,19 +26477,20 @@ if i32.const 0 i32.const 96 - i32.const 761 + i32.const 703 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.1 - call $~lib/util/number/dtoa + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23904 + i32.const 21056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -23989,19 +26501,20 @@ if i32.const 0 i32.const 96 - i32.const 762 + i32.const 704 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e6 - call $~lib/util/number/dtoa + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23936 + i32.const 21056 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24012,19 +26525,20 @@ if i32.const 0 i32.const 96 - i32.const 764 + i32.const 705 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-06 - call $~lib/util/number/dtoa + i64.const 0 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23984 + i32.const 2368 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24035,19 +26549,20 @@ if i32.const 0 i32.const 96 - i32.const 765 + i32.const 709 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e6 - call $~lib/util/number/dtoa + i64.const 1 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24032 + i32.const 2432 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24058,19 +26573,20 @@ if i32.const 0 i32.const 96 - i32.const 766 + i32.const 710 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-06 - call $~lib/util/number/dtoa + i64.const 7 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24080 + i32.const 18096 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24081,19 +26597,20 @@ if i32.const 0 i32.const 96 - i32.const 767 + i32.const 711 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e7 - call $~lib/util/number/dtoa + i64.const 14 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24128 + i32.const 18128 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24104,19 +26621,20 @@ if i32.const 0 i32.const 96 - i32.const 768 + i32.const 712 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-07 - call $~lib/util/number/dtoa + i64.const 59 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24176 + i32.const 18192 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24127,19 +26645,20 @@ if i32.const 0 i32.const 96 - i32.const 769 + i32.const 713 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.e+308 - call $~lib/util/number/dtoa + i64.const 4095 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 4544 + i32.const 18224 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24150,19 +26669,20 @@ if i32.const 0 i32.const 96 - i32.const 771 + i32.const 714 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1.e+308 - call $~lib/util/number/dtoa + i64.const 4294967295 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24208 + i32.const 18640 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24173,19 +26693,20 @@ if i32.const 0 i32.const 96 - i32.const 772 + i32.const 715 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - call $~lib/util/number/dtoa + i64.const 562949953421311 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22288 + i32.const 21120 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24196,19 +26717,20 @@ if i32.const 0 i32.const 96 - i32.const 773 + i32.const 716 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -inf - call $~lib/util/number/dtoa + i64.const -1 + i32.const 2 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 7936 + i32.const 21248 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24219,19 +26741,20 @@ if i32.const 0 i32.const 96 - i32.const 774 + i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-308 - call $~lib/util/number/dtoa + i64.const -8589934591 + i32.const 2 + call $~lib/util/number/itoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24256 + i32.const 21408 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24242,19 +26765,20 @@ if i32.const 0 i32.const 96 - i32.const 775 + i32.const 719 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-308 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 3 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24288 + i32.const 21504 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24265,19 +26789,20 @@ if i32.const 0 i32.const 96 - i32.const 776 + i32.const 723 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-323 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 4 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24336 + i32.const 21616 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24288,19 +26813,20 @@ if i32.const 0 i32.const 96 - i32.const 777 + i32.const 724 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-323 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 5 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24368 + i32.const 21712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24311,19 +26837,20 @@ if i32.const 0 i32.const 96 - i32.const 778 + i32.const 725 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 8 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 22256 + i32.const 21792 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24334,19 +26861,20 @@ if i32.const 0 i32.const 96 - i32.const 779 + i32.const 726 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4294967272 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 11 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24416 + i32.const 21856 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24357,19 +26885,20 @@ if i32.const 0 i32.const 96 - i32.const 781 + i32.const 727 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 15 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24464 + i32.const 21920 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24380,19 +26909,20 @@ if i32.const 0 i32.const 96 - i32.const 782 + i32.const 728 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 17 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24528 + i32.const 21984 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24403,19 +26933,20 @@ if i32.const 0 i32.const 96 - i32.const 784 + i32.const 729 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 21 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24592 + i32.const 22048 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24426,19 +26957,20 @@ if i32.const 0 i32.const 96 - i32.const 785 + i32.const 730 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 27 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 23840 + i32.const 22112 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24449,19 +26981,20 @@ if i32.const 0 i32.const 96 - i32.const 786 + i32.const 731 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 12.34 - call $~lib/util/number/dtoa + i64.const -1 + i32.const 32 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24656 + i32.const 22160 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24472,21 +27005,20 @@ if i32.const 0 i32.const 96 - i32.const 787 + i32.const 732 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - f64.const 3 - f64.div - call $~lib/util/number/dtoa + i64.const -1 + i32.const 36 + call $~lib/util/number/utoa64 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24688 + i32.const 22208 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24497,19 +27029,19 @@ if i32.const 0 i32.const 96 - i32.const 789 + i32.const 733 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1234e17 + f64.const 0 call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24752 + i32.const 22256 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24520,19 +27052,19 @@ if i32.const 0 i32.const 96 - i32.const 790 + i32.const 736 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1234e18 + f64.const -0 call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24832 + i32.const 22256 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24543,19 +27075,19 @@ if i32.const 0 i32.const 96 - i32.const 791 + i32.const 737 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.71828 + f64.const nan:0x8000000000000 call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24880 + i32.const 6672 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24566,19 +27098,19 @@ if i32.const 0 i32.const 96 - i32.const 792 + i32.const 738 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.0271828 + f64.const inf call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24928 + i32.const 22288 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24589,19 +27121,20 @@ if i32.const 0 i32.const 96 - i32.const 793 + i32.const 739 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 271.828 + f64.const inf + f64.neg call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 24976 + i32.const 7936 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24612,19 +27145,19 @@ if i32.const 0 i32.const 96 - i32.const 794 + i32.const 740 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1e+128 + global.get $~lib/builtins/f64.EPSILON call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25024 + i32.const 7152 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24635,19 +27168,20 @@ if i32.const 0 i32.const 96 - i32.const 795 + i32.const 741 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1e-64 + global.get $~lib/builtins/f64.EPSILON + f64.neg call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25072 + i32.const 23312 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24658,19 +27192,19 @@ if i32.const 0 i32.const 96 - i32.const 796 + i32.const 742 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.000035689 + global.get $~lib/builtins/f64.MAX_VALUE call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25120 + i32.const 7216 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24681,30 +27215,20 @@ if i32.const 0 i32.const 96 - i32.const 797 + i32.const 743 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25168 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 25200 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - call $~lib/string/String#concat + global.get $~lib/builtins/f64.MAX_VALUE + f64.neg + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25232 + i32.const 23376 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24715,30 +27239,19 @@ if i32.const 0 i32.const 96 - i32.const 802 + i32.const 744 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=8 - local.get $55 - i32.const 25280 - local.set $55 - global.get $~lib/memory/__stack_pointer - local.get $55 - i32.store $0 offset=12 - local.get $55 - call $~lib/string/String#concat + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25280 + i32.const 23456 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24749,30 +27262,42 @@ if i32.const 0 i32.const 96 - i32.const 803 + i32.const 745 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25280 + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 - i32.const 688 + i32.const 23520 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#concat + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 746 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 4.940656e-318 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25280 + i32.const 23600 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24783,30 +27308,42 @@ if i32.const 0 i32.const 96 - i32.const 804 + i32.const 749 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 688 + f64.const 9060801153433600 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=8 + i32.store $0 local.get $55 - i32.const 688 + i32.const 23648 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 - i32.store $0 offset=12 + i32.store $0 offset=4 local.get $55 - call $~lib/string/String#concat + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 750 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 688 + i32.const 23712 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24817,18 +27354,19 @@ if i32.const 0 i32.const 96 - i32.const 805 + i32.const 751 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25312 + f64.const 9409340012568248320 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25312 + i32.const 23776 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24839,18 +27377,19 @@ if i32.const 0 i32.const 96 - i32.const 816 + i32.const 752 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25312 + f64.const 5e-324 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25312 + i32.const 7296 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24861,18 +27400,19 @@ if i32.const 0 i32.const 96 - i32.const 817 + i32.const 753 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25344 + f64.const 1 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25344 + i32.const 23840 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24883,18 +27423,19 @@ if i32.const 0 i32.const 96 - i32.const 818 + i32.const 759 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 25376 + f64.const 0.1 + call $~lib/util/number/dtoa local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 i32.store $0 local.get $55 - i32.const 25376 + i32.const 4256 local.set $55 global.get $~lib/memory/__stack_pointer local.get $55 @@ -24905,1515 +27446,1014 @@ if i32.const 0 i32.const 96 - i32.const 819 + i32.const 760 i32.const 1 call $~lib/builtins/abort unreachable 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 - global.get $~lib/memory/__stack_pointer - i32.const 96 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String#charAt (type $i32_i32_=>_i32) (param $this i32) (param $pos i32) (result i32) - (local $out 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 $0 - local.get $pos - local.get $this - 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 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $pos - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $out - 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/string/String.fromCharCode (type $i32_i32_=>_i32) (param $unit i32) (param $surr i32) (result i32) - (local $hasSur i32) - (local $out 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 $0 - local.get $surr - i32.const 0 - i32.gt_s - local.set $hasSur - global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $hasSur - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $unit - i32.store16 $0 - local.get $hasSur - if - local.get $out - local.get $surr - i32.store16 $0 offset=2 - end - local.get $out - 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/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) - (local $bufferSize i32) - (local $buffer i32) - (local $array 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 $0 - local.get $length - local.get $alignLog2 - i32.shl - local.set $bufferSize - global.get $~lib/memory/__stack_pointer - local.get $bufferSize - i32.const 1 - local.get $data - call $~lib/rt/__newBuffer - local.tee $buffer - i32.store $0 - i32.const 16 - local.get $id - call $~lib/rt/itcms/__new - local.set $array - local.get $array - local.get $buffer - i32.store $0 - local.get $array - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - local.get $array - local.get $buffer - i32.store $0 offset=4 - local.get $array - local.get $bufferSize - i32.store $0 offset=8 - local.get $array - local.get $length - i32.store $0 offset=12 - local.get $array - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - ) - (func $~lib/string/String.fromCharCodes (type $i32_=>_i32) (param $units i32) (result i32) - (local $length i32) - (local $out i32) - (local $ptr i32) - (local $i 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 $0 - local.get $units - call $~lib/array/Array#get:length - local.set $length + f64.const -1 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $units - call $~lib/array/Array#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $out - local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + local.get $55 + i32.const 23872 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + 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 - local.get $out - local.set $5 + f64.const -0.1 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - ) - (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) - (local $hasSur i32) - (local $out i32) - (local $hi i32) - (local $lo i32) - (local $5 i32) + local.get $55 + i32.store $0 + local.get $55 + i32.const 23904 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 762 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e6 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $code - i32.const 65535 - i32.gt_u - local.set $hasSur + local.get $55 + i32.const 23936 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 2 - local.get $hasSur - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $hasSur + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if - local.get $out - local.get $code - i32.store16 $0 - else - local.get $code - i32.const 1114111 - i32.le_u - i32.eqz - if - i32.const 0 - i32.const 304 - i32.const 39 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $code - i32.const 65536 - i32.sub - local.set $code - local.get $code - i32.const 1023 - i32.and - i32.const 56320 - i32.or - local.set $hi - local.get $code - i32.const 10 - i32.shr_u - i32.const 55296 - i32.or - local.set $lo - local.get $out - local.get $lo - local.get $hi - i32.const 16 - i32.shl - i32.or - i32.store $0 + i32.const 0 + i32.const 96 + i32.const 764 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $out - local.set $5 + f64.const 1e-06 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - ) - (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) - (local $thisSize i32) - (local $targetSize i32) - (local $padSize i32) - (local $prependSize i32) - (local $out i32) - (local $repeatCount i32) - (local $restBase i32) - (local $restSize i32) - (local $11 i32) + local.get $55 + i32.store $0 + local.get $55 + i32.const 23984 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + 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 -1e6 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $length - i32.const 1 - i32.shl - local.set $targetSize - local.get $pad - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $padSize - local.get $targetSize - local.get $thisSize - i32.lt_u - if (result i32) + local.get $55 + i32.const 24032 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 766 i32.const 1 - else - local.get $padSize - i32.eqz + call $~lib/builtins/abort + unreachable end + f64.const -1e-06 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24080 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $this - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 96 + i32.const 767 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $targetSize - local.get $thisSize - i32.sub - local.set $prependSize + f64.const 1e7 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $targetSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $prependSize - local.get $padSize - i32.gt_u + local.get $55 + i32.const 24128 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $prependSize - i32.const 2 - i32.sub - local.get $padSize - i32.div_u - local.set $repeatCount - local.get $repeatCount - local.get $padSize - i32.mul - local.set $restBase - local.get $prependSize - local.get $restBase - i32.sub - local.set $restSize - local.get $out - local.get $pad - local.get $padSize - local.get $repeatCount - call $~lib/memory/memory.repeat - local.get $out - local.get $restBase - i32.add - local.get $pad - local.get $restSize - memory.copy $0 $0 - else - local.get $out - local.get $pad - local.get $prependSize - memory.copy $0 $0 + i32.const 0 + i32.const 96 + i32.const 768 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $out - local.get $prependSize - i32.add - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.set $11 + f64.const 1e-07 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - ) - (func $~lib/string/String#padEnd (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $pad i32) (result i32) - (local $thisSize i32) - (local $targetSize i32) - (local $padSize i32) - (local $appendSize i32) - (local $out i32) - (local $repeatCount i32) - (local $restBase i32) - (local $restSize i32) - (local $11 i32) + local.get $55 + i32.store $0 + local.get $55 + i32.const 24176 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + 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 + end + f64.const 1.e+308 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $length - i32.const 1 - i32.shl - local.set $targetSize - local.get $pad - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $padSize - local.get $targetSize - local.get $thisSize - i32.lt_u - if (result i32) + local.get $55 + i32.const 4544 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 771 i32.const 1 - else - local.get $padSize - i32.eqz + call $~lib/builtins/abort + unreachable end + f64.const -1.e+308 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24208 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $this - local.set $11 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return + i32.const 0 + i32.const 96 + i32.const 772 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $targetSize - local.get $thisSize - i32.sub - local.set $appendSize + f64.const inf + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $targetSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $appendSize - local.get $padSize - i32.gt_u - if - local.get $appendSize - i32.const 2 - i32.sub - local.get $padSize - i32.div_u - local.set $repeatCount - local.get $repeatCount - local.get $padSize - i32.mul - local.set $restBase - local.get $appendSize - local.get $restBase - i32.sub - local.set $restSize - local.get $out - local.get $thisSize - i32.add - local.get $pad - local.get $padSize - local.get $repeatCount - call $~lib/memory/memory.repeat - local.get $out - local.get $thisSize - i32.add - local.get $restBase - i32.add - local.get $pad - local.get $restSize - memory.copy $0 $0 - else - local.get $out - local.get $thisSize - i32.add - local.get $pad - local.get $appendSize - memory.copy $0 $0 + local.get $55 + i32.const 22288 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + 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 - local.get $out - local.set $11 + f64.const -inf + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $11 - return - ) - (func $~lib/string/String#trimStart (type $i32_=>_i32) (param $this i32) (result i32) - (local $size i32) - (local $offset i32) - (local $out i32) - (local $4 i32) + local.get $55 + i32.store $0 + local.get $55 + i32.const 7936 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 774 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-308 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $size - i32.const 0 - local.set $offset - loop $while-continue|0 - local.get $offset - local.get $size - i32.lt_u - if (result i32) - local.get $this - local.get $offset - i32.add - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $offset - i32.const 2 - i32.add - local.set $offset - br $while-continue|0 - end - end - local.get $offset + local.get $55 + i32.const 24256 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + i32.const 0 + i32.const 96 + i32.const 775 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $size - local.get $offset - i32.sub - local.set $size - local.get $size + f64.const -1e-308 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24288 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz 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 + i32.const 0 + i32.const 96 + i32.const 776 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 1e-323 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $offset - i32.add - local.get $size - memory.copy $0 $0 - local.get $out - 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/string/String#trimEnd (type $i32_=>_i32) (param $this i32) (result i32) - (local $originalSize i32) - (local $size i32) - (local $out i32) - (local $4 i32) + local.get $55 + i32.const 24336 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 777 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $originalSize - local.get $originalSize - local.set $size - loop $while-continue|0 - local.get $size - if (result i32) - local.get $this - local.get $size - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $size - i32.const 2 - i32.sub - local.set $size - br $while-continue|0 - end - end - local.get $size + local.get $55 + i32.const 24368 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz 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 + i32.const 0 + i32.const 96 + i32.const 778 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $size - local.get $originalSize - i32.eq + f64.const 0 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 22256 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + i32.const 0 + i32.const 96 + i32.const 779 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 4294967272 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $size - memory.copy $0 $0 - local.get $out - 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/string/String#trim (type $i32_=>_i32) (param $this i32) (result i32) - (local $len i32) - (local $size i32) - (local $offset i32) - (local $out i32) - (local $5 i32) + local.get $55 + i32.const 24416 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 781 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2312145673456234e-08 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $len - i32.const 1 - i32.shl - local.set $size - loop $while-continue|0 - local.get $size - if (result i32) - local.get $this - local.get $size - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $size - i32.const 2 - i32.sub - local.set $size - br $while-continue|0 - end - end - i32.const 0 - local.set $offset - loop $while-continue|1 - local.get $offset - local.get $size - i32.lt_u - if (result i32) - local.get $this - local.get $offset - i32.add - i32.load16_u $0 - call $~lib/util/string/isSpace - else - i32.const 0 - end - if - local.get $offset - i32.const 2 - i32.add - local.set $offset - local.get $size - i32.const 2 - i32.sub - local.set $size - br $while-continue|1 - end - end - local.get $size + local.get $55 + i32.const 24464 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if - 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 + i32.const 0 + i32.const 96 + i32.const 782 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $offset + f64.const 555555555.5555556 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24528 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz - if (result i32) - local.get $size - local.get $len - i32.const 1 - i32.shl - i32.eq - else + if i32.const 0 + i32.const 96 + i32.const 784 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 0.9999999999999999 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24592 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $this - 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 0 + i32.const 96 + i32.const 785 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 1 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $offset - i32.add - local.get $size - memory.copy $0 $0 - local.get $out - local.set $5 + local.get $55 + i32.const 23840 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - return - ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out i32) - (local $6 i32) + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 786 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 12.34 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24656 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 787 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + f64.const 3 + f64.div + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize - i32.const 0 - i32.eq + local.get $55 + i32.const 24688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - 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 + i32.const 0 + i32.const 96 + i32.const 789 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 1234e17 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 + local.get $55 + i32.const 24752 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - return - ) - (func $~lib/string/String#repeat (type $i32_i32_=>_i32) (param $this i32) (param $count i32) (result i32) - (local $length i32) - (local $out i32) - (local $4 i32) + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 790 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e18 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 + local.get $55 + i32.const 24832 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 791 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2.71828 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $length - local.get $count - i32.const 0 - i32.lt_s - if (result i32) + local.get $55 + i32.const 24880 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 792 i32.const 1 - else - local.get $length - i64.extend_i32_s - local.get $count - i64.extend_i32_s - i64.mul - i64.const 1 - i64.const 28 - i64.shl - i64.gt_u + call $~lib/builtins/abort + unreachable end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24928 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - i32.const 13040 - i32.const 304 - i32.const 334 - i32.const 7 + i32.const 0 + i32.const 96 + i32.const 793 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $count - i32.const 0 - i32.eq - if (result i32) + f64.const 271.828 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 24976 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 794 i32.const 1 - else - local.get $length - i32.eqz + call $~lib/builtins/abort + unreachable end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25024 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz 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 + i32.const 0 + i32.const 96 + i32.const 795 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $count - i32.const 1 - i32.eq + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25072 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $this - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return + i32.const 0 + i32.const 96 + i32.const 796 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.set $55 global.get $~lib/memory/__stack_pointer - local.get $length - local.get $count - i32.mul - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $55 i32.store $0 - local.get $out - local.get $this - local.get $length - i32.const 1 - i32.shl - local.get $count - call $~lib/memory/memory.repeat - local.get $out - local.set $4 + local.get $55 + i32.const 25120 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $~lib/string/String#replace (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) - (local $len i32) - (local $slen i32) - (local $index i32) - (local $rlen i32) - (local $olen i32) - (local $out i32) - (local $9 i32) + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 797 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 25168 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 25200 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 + i32.store $0 offset=12 + local.get $55 + call $~lib/string/String#concat + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $search - call $~lib/string/String#get:length - local.set $slen - local.get $len - local.get $slen - i32.le_u - if - local.get $len - local.get $slen - i32.lt_u - if (result i32) - local.get $this - else - local.get $replacement - local.get $this - local.get $search - local.get $this - 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 - local.get $this - local.get $search - i32.const 0 - call $~lib/string/String#indexOf - local.set $index - local.get $index - i32.const -1 - i32.xor + local.get $55 + i32.const 25232 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $replacement - call $~lib/string/String#get:length - local.set $rlen - local.get $len - local.get $slen - i32.sub - local.set $len - local.get $len - local.get $rlen - i32.add - local.set $olen - local.get $olen - if - global.get $~lib/memory/__stack_pointer - local.get $olen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $index - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $out - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $replacement - local.get $rlen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $out - local.get $index - local.get $rlen - i32.add - i32.const 1 - i32.shl - i32.add - local.get $this - local.get $index - local.get $slen - i32.add - i32.const 1 - i32.shl - i32.add - local.get $len - local.get $index - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $out - 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 0 + i32.const 96 + i32.const 802 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $this - local.set $9 + i32.const 688 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $9 - return - ) - (func $~lib/string/String#replaceAll (type $i32_i32_i32_=>_i32) (param $this i32) (param $search i32) (param $replacement i32) (result i32) - (local $thisLen i32) - (local $searchLen i32) - (local $replaceLen i32) - (local $out i32) - (local $offset i32) - (local $i i32) - (local $9 i32) - (local $prev i32) - (local $next i32) - (local $outSize i32) - (local $out|13 i32) - (local $out|14 i32) - (local $offset|15 i32) - (local $outSize|16 i32) - (local $chunk i32) - (local $rest i32) - (local $19 i32) + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 25280 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + call $~lib/string/String#concat + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $55 + i32.store $0 + local.get $55 + i32.const 25280 + local.set $55 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 803 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 25280 + local.set $55 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $55 i32.store $0 offset=8 - local.get $this - call $~lib/string/String#get:length - local.set $thisLen - local.get $search - call $~lib/string/String#get:length - local.set $searchLen - local.get $thisLen - local.get $searchLen - i32.le_u + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + call $~lib/string/String#concat + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25280 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $thisLen - local.get $searchLen - i32.lt_u - if (result i32) - local.get $this - else - local.get $replacement - local.get $this - local.get $search - local.get $this - call $~lib/string/String.__eq - select - end - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return + i32.const 0 + i32.const 96 + i32.const 804 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $replacement - call $~lib/string/String#get:length - local.set $replaceLen - local.get $searchLen + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=8 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=12 + local.get $55 + call $~lib/string/String#concat + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 688 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq i32.eqz if - local.get $replaceLen - i32.eqz - if - local.get $this - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - end - global.get $~lib/memory/__stack_pointer - local.get $thisLen - local.get $thisLen - i32.const 1 - i32.add - local.get $replaceLen - i32.mul - i32.add + i32.const 0 + i32.const 96 + i32.const 805 i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $replacement - local.get $replaceLen + call $~lib/builtins/abort + unreachable + end + i32.const 25312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 816 i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $replaceLen - local.set $offset + call $~lib/builtins/abort + unreachable + end + i32.const 25312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25312 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $thisLen - i32.lt_u - if - local.get $out - local.get $offset - local.tee $9 - i32.const 1 - i32.add - local.set $offset - local.get $9 - i32.const 1 - i32.shl - i32.add - local.get $this - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $out - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $replacement - local.get $replaceLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $replaceLen - i32.add - local.set $offset - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return + i32.const 96 + i32.const 817 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $prev - i32.const 0 - local.set $next - local.get $searchLen - local.get $replaceLen - i32.eq + i32.const 25344 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25344 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $thisLen + i32.const 0 + i32.const 96 + i32.const 818 i32.const 1 - i32.shl - local.set $outSize - global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out|13 - i32.store $0 offset=4 - local.get $out|13 - local.get $this - local.get $outSize - memory.copy $0 $0 - loop $while-continue|1 - local.get $this - local.get $search - local.get $prev - call $~lib/string/String#indexOf - local.tee $next - i32.const -1 - i32.xor - if - local.get $out|13 - local.get $next - i32.const 1 - i32.shl - i32.add - local.get $replacement - local.get $replaceLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $next - local.get $searchLen - i32.add - local.set $prev - br $while-continue|1 - end - end - local.get $out|13 - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - end - i32.const 0 - local.set $out|14 - i32.const 0 - local.set $offset|15 - local.get $thisLen - local.set $outSize|16 - loop $while-continue|2 - local.get $this - local.get $search - local.get $prev - call $~lib/string/String#indexOf - local.tee $next - i32.const -1 - i32.xor - if - local.get $out|14 - call $~lib/string/String.__not - if - global.get $~lib/memory/__stack_pointer - local.get $thisLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out|14 - i32.store $0 offset=8 - end - local.get $next - local.get $prev - i32.sub - local.set $chunk - local.get $offset|15 - local.get $chunk - i32.add - local.get $replaceLen - i32.add - local.get $outSize|16 - i32.gt_u - if - local.get $outSize|16 - i32.const 1 - i32.shl - local.set $outSize|16 - global.get $~lib/memory/__stack_pointer - local.get $out|14 - local.get $outSize|16 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $out|14 - i32.store $0 offset=8 - end - local.get $out|14 - local.get $offset|15 - i32.const 1 - i32.shl - i32.add - local.get $this - local.get $prev - i32.const 1 - i32.shl - i32.add - local.get $chunk - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset|15 - local.get $chunk - i32.add - local.set $offset|15 - local.get $out|14 - local.get $offset|15 - i32.const 1 - i32.shl - i32.add - local.get $replacement - local.get $replaceLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset|15 - local.get $replaceLen - i32.add - local.set $offset|15 - local.get $next - local.get $searchLen - i32.add - local.set $prev - br $while-continue|2 - end + call $~lib/builtins/abort + unreachable end - local.get $out|14 + i32.const 25376 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 + local.get $55 + i32.const 25376 + local.set $55 + global.get $~lib/memory/__stack_pointer + local.get $55 + i32.store $0 offset=4 + local.get $55 + call $~lib/string/String.__eq + i32.eqz if - local.get $thisLen - local.get $prev - i32.sub - local.set $rest - local.get $offset|15 - local.get $rest - i32.add - local.get $outSize|16 - i32.gt_u - if - local.get $outSize|16 - i32.const 1 - i32.shl - local.set $outSize|16 - global.get $~lib/memory/__stack_pointer - local.get $out|14 - local.get $outSize|16 - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $out|14 - i32.store $0 offset=8 - end - local.get $rest - if - local.get $out|14 - local.get $offset|15 - i32.const 1 - i32.shl - i32.add - local.get $this - local.get $prev - i32.const 1 - i32.shl - i32.add - local.get $rest - i32.const 1 - i32.shl - memory.copy $0 $0 - end - local.get $rest - local.get $offset|15 - i32.add - local.set $rest - local.get $outSize|16 - local.get $rest - i32.gt_u - if - global.get $~lib/memory/__stack_pointer - local.get $out|14 - local.get $rest - i32.const 1 - i32.shl - call $~lib/rt/itcms/__renew - local.tee $out|14 - i32.store $0 offset=8 - end - local.get $out|14 - local.set $19 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return + i32.const 0 + i32.const 96 + i32.const 819 + i32.const 1 + call $~lib/builtins/abort + unreachable 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 + global.get $~lib/memory/__stack_pointer + i32.const 96 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + i32.const 0 + drop local.get $this - local.set $19 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) + (func $~lib/array/Array<~lib/string/String>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $cur i32) + (local $end i32) + (local $val i32) (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $out i32) - (local $13 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26422,116 +28462,67 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 + i32.const 1 + drop local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $start - local.get $len - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $start - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $start - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $end - local.get $len - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $end - local.get $end - local.get $start - i32.sub - local.set $len - local.get $len - i32.const 0 - i32.le_s - if - i32.const 688 - 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 $5 global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $5 i32.store $0 - local.get $out + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:dataStart + local.set $cur + local.get $cur local.get $this - local.get $start - i32.const 1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:length_ + i32.const 2 i32.shl i32.add - local.get $len - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $out - local.set $13 + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u + if + local.get $cur + i32.load $0 + local.set $val + local.get $val + if + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + end + local.get $cur + i32.const 4 + i32.add + local.set $cur + br $while-continue|0 + end + end + local.get $this + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/array/Array<~lib/string/String>#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - return ) - (func $~lib/string/String#substr (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $length i32) (result i32) - (local $intStart i32) - (local $end i32) - (local $len i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $size i32) + (func $~lib/string/String.fromCharCode (type $i32_i32_=>_i32) (param $unit i32) (param $surr i32) (result i32) + (local $hasSur i32) (local $out i32) - (local $14 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26540,106 +28531,41 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $start - local.set $intStart - local.get $length - local.set $end - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $intStart - i32.const 0 - i32.lt_s - if - local.get $len - local.get $intStart - i32.add - local.tee $6 - i32.const 0 - local.tee $7 - local.get $6 - local.get $7 - i32.gt_s - select - local.set $intStart - end - local.get $end - local.tee $8 + local.get $surr i32.const 0 - local.tee $9 - local.get $8 - local.get $9 i32.gt_s - select - local.tee $10 - local.get $len - local.get $intStart - i32.sub - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $size - local.get $size - i32.const 0 - i32.le_s - if - i32.const 688 - local.set $14 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - end + local.set $hasSur global.get $~lib/memory/__stack_pointer - local.get $size + i32.const 2 + local.get $hasSur + i32.shl i32.const 2 call $~lib/rt/itcms/__new local.tee $out i32.store $0 local.get $out - local.get $this - local.get $intStart - i32.const 1 - i32.shl - i32.add - local.get $size - memory.copy $0 $0 + local.get $unit + i32.store16 $0 + local.get $hasSur + if + local.get $out + local.get $surr + i32.store16 $0 offset=2 + end local.get $out - local.set $14 + local.set $4 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $14 + local.get $4 return ) - (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array i32) (local $7 i32) - (local $finalStart i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $finalEnd i32) - (local $14 i32) - (local $15 i32) - (local $fromPos i32) - (local $17 i32) - (local $18 i32) - (local $toPos i32) - (local $size i32) - (local $out i32) - (local $22 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26648,124 +28574,52 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $finalStart - local.get $end - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_s - select - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - local.set $finalEnd - local.get $finalStart - local.tee $14 - local.get $finalEnd - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $fromPos - local.get $finalStart - local.tee $17 - local.get $finalEnd - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - i32.const 1 + local.get $length + local.get $alignLog2 i32.shl - local.set $toPos - local.get $toPos - local.get $fromPos - i32.sub - local.set $size - local.get $size - i32.eqz - if - i32.const 688 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $fromPos - i32.eqz - if (result i32) - local.get $toPos - local.get $len - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end + local.set $bufferSize global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 + local.get $bufferSize + i32.const 1 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store $0 + i32.const 16 + local.get $id call $~lib/rt/itcms/__new - local.tee $out + local.set $array + local.get $array + local.get $buffer i32.store $0 - local.get $out - local.get $this - local.get $fromPos - i32.add - local.get $size - memory.copy $0 $0 - local.get $out - local.set $22 + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store $0 offset=4 + local.get $array + local.get $bufferSize + i32.store $0 offset=8 + local.get $array + local.get $length + i32.store $0 offset=12 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 + local.get $7 return ) - (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - (local $3 i32) + (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $code i32) (result i32) + (local $hasSur i32) + (local $out i32) + (local $hi i32) + (local $lo i32) + (local $5 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26774,50 +28628,68 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $index - local.get $this - call $~lib/array/Array<~lib/string/String>#get:length_ - i32.ge_u - if - i32.const 240 - i32.const 14640 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + local.get $code + i32.const 65535 + i32.gt_u + local.set $hasSur global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/array/Array<~lib/string/String>#get:dataStart - local.get $index i32.const 2 + local.get $hasSur i32.shl - i32.add - i32.load $0 - local.tee $value + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out i32.store $0 - i32.const 1 - drop - i32.const 0 - i32.eqz - drop - local.get $value + local.get $hasSur i32.eqz if - i32.const 14688 - i32.const 14640 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable + local.get $out + local.get $code + i32.store16 $0 + else + local.get $code + i32.const 1114111 + i32.le_u + i32.eqz + if + i32.const 0 + i32.const 304 + i32.const 39 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.get $code + i32.const 65536 + i32.sub + local.set $code + local.get $code + i32.const 1023 + i32.and + i32.const 56320 + i32.or + local.set $hi + local.get $code + i32.const 10 + i32.shr_u + i32.const 55296 + i32.or + local.set $lo + local.get $out + local.get $lo + local.get $hi + i32.const 16 + i32.shl + i32.or + i32.store $0 end - local.get $value - local.set $3 + local.get $out + local.set $5 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $5 return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) diff --git a/tests/compiler/std/string.release.wat b/tests/compiler/std/string.release.wat index 7cbca52e0c..003faf7104 100644 --- a/tests/compiler/std/string.release.wat +++ b/tests/compiler/std/string.release.wat @@ -8,16 +8,16 @@ (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) + (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) + (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) - (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) (type $f64_i32_=>_f64 (func_subtype (param f64 i32) (result f64) func)) - (type $i32_=>_f64 (func_subtype (param i32) (result f64) func)) - (type $none_=>_i64 (func_subtype (result i64) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i64 i64 i32 i64 i32) (result i32) func)) + (type $none_=>_i64 (func_subtype (result i64) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $std/string/str (mut i32) (i32.const 1056)) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) @@ -1052,49 +1052,6 @@ end i32.const 0 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 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/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -2575,46 +2532,6 @@ memory.fill $0 local.get $1 ) - (func $~lib/string/String#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 0 - local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1264 - i32.const 1328 - i32.const 57 - i32.const 31 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $2 - ) (func $~lib/string/String.fromCharCode@varargs (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) block $1of1 @@ -2634,4063 +2551,2721 @@ local.get $1 call $~lib/string/String.fromCharCode ) - (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (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 $0 offset=16 + (func $~lib/math/ipow32 (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + i32.const 5 + local.set $1 i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - if - i32.const 0 - return - end + local.set $2 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - 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 $4 - local.get $2 - local.get $4 - i32.lt_s - select - local.set $2 - local.get $4 - local.get $3 - i32.sub - local.set $4 - loop $for-loop|0 - local.get $2 - local.get $4 - i32.le_s - if - local.get $0 - local.get $2 - local.get $1 - local.get $3 - 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/string/String#lastIndexOf (type $i32_i32_i32_=>_i32) (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 $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz + i32.le_s if local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.eqz - if - i32.const -1 + i32.eqz return - end - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $4 - local.get $3 - i32.sub - local.tee $4 - local.get $2 - local.get $4 - i32.lt_s - select - local.set $2 - loop $for-loop|0 - local.get $2 - i32.const 0 - i32.ge_s + else + local.get $0 + i32.const 1 + i32.eq if + i32.const 5 + return + else local.get $0 - local.get $2 - local.get $1 - local.get $3 - call $~lib/util/string/compareImpl - i32.eqz + i32.const 2 + i32.eq if - local.get $2 + i32.const 25 return - end - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $for-loop|0 - end - end - i32.const -1 - ) - (func $~lib/string/String#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/string/String#lastIndexOf + else + local.get $0 + i32.const 32 + i32.lt_s + if + block $break|0 + block $case4|0 + block $case3|0 + block $case2|0 + block $case1|0 + block $case0|0 + i32.const 31 + local.get $0 + i32.clz + i32.sub + br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + end + i32.const 5 + i32.const 1 + local.get $0 + i32.const 1 + i32.and + select + local.set $2 + local.get $0 + i32.const 1 + i32.shr_u + local.set $0 + i32.const 25 + local.set $1 + end + 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 + end + 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 + end + 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 + end + local.get $1 + local.get $2 + i32.mul + local.get $2 + local.get $0 + i32.const 1 + i32.and + select + local.set $2 + end + local.get $2 + return + end + end + end + end + loop $while-continue|1 + 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|1 + end + end + local.get $2 ) - (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 + (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (param $0 f64) (param $1 i32) (result f64) local.get $1 - i32.eq - if - i32.const 0 - return + 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 1023 + i32.sub + local.tee $1 + i32.const 1023 + i32.gt_s + if (result f64) + i32.const 1023 + local.get $1 + i32.const 1023 + i32.sub + local.tee $1 + local.get $1 + i32.const 1023 + i32.ge_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) + 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) + i32.const -1022 + local.get $1 + i32.const 969 + i32.add + local.tee $1 + local.get $1 + i32.const -1022 + i32.le_s + select + local.set $1 + local.get $0 + f64.const 2.004168360008973e-292 + f64.mul + else + local.get $0 + end + else + local.get $0 + end end - local.get $0 - i32.const 0 + local.get $1 + i64.extend_i32_s + i64.const 1023 + i64.add + i64.const 52 + i64.shl + f64.reinterpret_i64 + f64.mul + ) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (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 - i32.load $0 offset=16 - i32.const 1 - i32.shr_u + local.tee $3 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if + local.get $3 + local.get $1 + i32.store $0 offset=16 + local.get $0 + return + end + local.get $1 + local.get $3 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new local.tee $2 + local.get $0 local.get $1 - i32.const 20 - i32.sub + local.get $3 i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - call $~lib/util/string/compareImpl local.tee $0 - local.get $2 - local.get $1 - i32.sub local.get $0 + local.get $1 + i32.gt_u select - local.tee $0 - i32.const 0 - i32.gt_s - local.get $0 - i32.const 0 - i32.lt_s - i32.sub + memory.copy $0 $0 + local.get $2 ) - (func $~lib/util/string/strtob (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $1 - i32.const 8 - i32.gt_u - if (result i32) - loop $while-continue|0 - local.get $1 - if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - local.tee $3 - i32.const 5760 - i32.lt_u - if - local.get $3 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $3 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 1 - local.get $3 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $3 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - 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|0 local.get $1 - i32.const 8 - i32.gt_u - if (result i32) - loop $while-continue|1 - local.get $1 - local.get $2 - i32.gt_u - if (result i32) - block $__inlined_func$~lib/util/string/isSpace0 (result i32) - local.get $0 - local.get $2 - i32.add - i32.load16_u $0 - local.tee $3 - i32.const 5760 - i32.lt_u - if - local.get $3 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $3 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace0 - end - i32.const 1 - local.get $3 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace0 - drop - block $break|01 - block $case6|02 - local.get $3 - i32.const 5760 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 8232 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 8233 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 8239 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 8287 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 12288 - i32.eq - br_if $case6|02 - local.get $3 - i32.const 65279 - i32.eq - br_if $case6|02 - br $break|01 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace0 - end - i32.const 0 - end - else - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|1 - end - end + i32.const 10000 + i32.ge_u + if + local.get $1 + i32.const 10000 + i32.rem_u + local.set $3 local.get $1 + i32.const 10000 + i32.div_u + local.set $1 + local.get $0 local.get $2 + i32.const 4 i32.sub - else - local.get $1 + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end - else - local.get $1 end - i32.const 8 - i32.ne + local.get $1 + i32.const 100 + i32.ge_u if - i32.const 0 - return + local.get $0 + local.get $2 + i32.const 2 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i32.load $0 + i32.store $0 + local.get $1 + i32.const 100 + i32.div_u + local.set $1 + end + local.get $1 + i32.const 10 + i32.ge_u + if + local.get $0 + local.get $2 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i32.load $0 + i32.store $0 + else + local.get $0 + local.get $2 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.add + i32.store16 $0 end - local.get $0 - local.get $2 - i32.add - i64.load $0 - i64.const 28429475166421108 - i64.eq ) - (func $~lib/util/string/strtol (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (local $5 f64) - (local $6 i32) - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 + (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (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 $5 + local.get $3 + local.get $3 i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz + i32.sub + i32.and if - f64.const nan:0x8000000000000 - return - end - local.get $0 - local.tee $3 - i32.load16_u $0 - local.set $0 - loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - i32.const 128 - i32.or - i32.const 160 - i32.eq + loop $do-loop|1 local.get $0 - i32.const 9 + local.get $2 + i32.const 1 i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $0 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop + local.tee $2 i32.const 1 - local.get $0 - i32.const -8192 + i32.shl i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $0 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $0 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - if - local.get $3 - i32.const 2 + local.get $1 + local.get $1 + local.get $5 + i64.div_u + local.tee $1 + local.get $5 + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.const 17696 i32.add - local.tee $3 i32.load16_u $0 - local.set $0 + i32.store16 $0 + local.get $1 + i64.const 0 + i64.ne + br_if $do-loop|1 + end + else + local.get $3 + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $4 + local.get $5 + i64.const 1 + i64.sub + local.set $5 + loop $do-loop|0 + local.get $0 local.get $2 i32.const 1 i32.sub - local.set $2 - br $while-continue|0 - end - end - f64.const 1 - local.set $4 - local.get $0 - i32.const 43 - i32.eq - local.get $0 - i32.const 45 - i32.eq - i32.or - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.eqz - if - f64.const nan:0x8000000000000 - return + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $5 + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.const 17696 + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $1 + local.get $4 + i64.shr_u + local.tee $1 + i64.const 0 + i64.ne + br_if $do-loop|0 end - f64.const -1 - f64.const 1 - local.get $0 - i32.const 45 - i32.eq - select - local.set $4 - local.get $3 - i32.const 2 - i32.add - local.tee $3 - i32.load16_u $0 - local.set $0 end - local.get $1 - if - local.get $1 - i32.const 2 - i32.lt_s - local.get $1 - i32.const 36 - i32.gt_s - i32.or - if - f64.const nan:0x8000000000000 - return - end + ) + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i32) + loop $while-continue|0 local.get $1 - i32.const 16 - i32.eq + i64.const 100000000 + i64.ge_u if local.get $0 - i32.const 48 - i32.eq local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $1 + i64.const 100000000 + i64.div_u + local.tee $1 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.tee $3 + i32.const 10000 + i32.rem_u + local.tee $4 + i32.const 100 + i32.div_u i32.const 2 - i32.gt_s - i32.and - if (result i32) - local.get $3 - i32.load16_u $0 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 $0 - i32.const 48 - i32.eq - local.get $2 - i32.const 2 - i32.gt_s - i32.and - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $3 - i32.load16_u $0 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 $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 - end + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + local.get $4 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 16220 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end - local.get $1 - i32.const 10 - local.get $1 - select - local.set $1 end + local.get $0 + local.get $1 + i32.wrap_i64 local.get $2 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|2 - local.get $2 - local.tee $0 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - if - block $while-break|2 - local.get $3 - i32.load16_u $0 - 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 65 - i32.sub - i32.const 25 - i32.le_u - if (result i32) - local.get $0 - i32.const 55 - i32.sub - else - 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 - end - end - local.tee $0 - local.get $1 - i32.ge_u - if - local.get $2 - local.get $6 - i32.eq - 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 $0 - f64.convert_i32_u - f64.add - local.set $5 - local.get $3 - i32.const 2 - i32.add - local.set $3 - br $while-continue|2 - end - end - end - local.get $4 - local.get $5 - f64.mul + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/math/ipow32 (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - i32.const 5 - local.set $1 - i32.const 1 - local.set $2 + (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_i32_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) + (local $8 i32) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + local.get $1 local.get $0 + i64.sub + local.set $10 + i64.const 1 i32.const 0 - i32.le_s - if - local.get $0 - i32.eqz - return - else - local.get $0 - i32.const 1 - i32.eq - if - i32.const 5 - return + local.get $2 + i32.sub + local.tee $11 + i64.extend_i32_s + local.tee $0 + i64.shl + local.tee $7 + i64.const 1 + i64.sub + local.tee $12 + local.get $1 + i64.and + local.set $9 + local.get $1 + local.get $0 + i64.shr_u + i32.wrap_i64 + local.tee $5 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $5 + i32.const 100 + i32.lt_u + if (result i32) + local.get $5 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add else - local.get $0 - i32.const 2 - i32.eq - if - i32.const 25 - return - else - local.get $0 - i32.const 32 - i32.lt_s - if - block $break|0 - block $case4|0 - block $case3|0 - block $case2|0 - block $case1|0 - block $case0|0 - i32.const 31 - local.get $0 - i32.clz - i32.sub - br_table $case4|0 $case3|0 $case2|0 $case1|0 $case0|0 $break|0 + local.get $5 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $5 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $5 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $5 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $5 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $5 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.set $8 + loop $while-continue|0 + local.get $8 + 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 $8 + 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 $5 + i32.const 1000000000 + i32.div_u + local.set $6 + local.get $5 + i32.const 1000000000 + i32.rem_u + local.set $5 + br $break|1 + end + local.get $5 + i32.const 100000000 + i32.div_u + local.set $6 + local.get $5 + i32.const 100000000 + i32.rem_u + local.set $5 + br $break|1 + end + local.get $5 + i32.const 10000000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000000 + i32.rem_u + local.set $5 + br $break|1 + end + local.get $5 + i32.const 1000000 + i32.div_u + local.set $6 + local.get $5 + i32.const 1000000 + i32.rem_u + local.set $5 + br $break|1 end - i32.const 5 - i32.const 1 - local.get $0 - i32.const 1 - i32.and - select - local.set $2 - local.get $0 - i32.const 1 - i32.shr_u - local.set $0 - i32.const 25 - local.set $1 + local.get $5 + i32.const 100000 + i32.div_u + local.set $6 + local.get $5 + i32.const 100000 + i32.rem_u + local.set $5 + br $break|1 end - 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 + local.get $5 + i32.const 10000 + i32.div_u + local.set $6 + local.get $5 + i32.const 10000 + i32.rem_u + local.set $5 + br $break|1 end - 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 + local.get $5 + i32.const 1000 + i32.div_u + local.set $6 + local.get $5 + i32.const 1000 + i32.rem_u + local.set $5 + br $break|1 end - 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 + local.get $5 + i32.const 100 + i32.div_u + local.set $6 + local.get $5 + i32.const 100 + i32.rem_u + local.set $5 + br $break|1 end - 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 $5 + i32.const 10 + i32.div_u + local.set $6 + local.get $5 + i32.const 10 + i32.rem_u + local.set $5 + br $break|1 end - local.get $2 - return + local.get $5 + local.set $6 + i32.const 0 + local.set $5 + br $break|1 end + i32.const 0 + local.set $6 end - end - end - loop $while-continue|1 - 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|1 - end - end - local.get $2 - ) - (func $~lib/math/NativeMath.scalbn (type $f64_i32_=>_f64) (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 1023 - i32.sub - local.tee $1 - i32.const 1023 - i32.gt_s - if (result f64) - i32.const 1023 - local.get $1 - i32.const 1023 - i32.sub - local.tee $1 - local.get $1 - i32.const 1023 - i32.ge_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) - 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) - i32.const -1022 - local.get $1 - i32.const 969 - i32.add - local.tee $1 - local.get $1 - i32.const -1022 - i32.le_s - select - local.set $1 - 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 (type $i32_=>_f64) (param $0 i32) (result f64) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i64) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 f64) - (local $12 i32) - (local $13 i64) - (local $14 i32) - block $folding-inner0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $12 - i32.eqz - br_if $folding-inner0 - local.get $0 - i32.load16_u $0 - local.set $14 - f64.const 1 - local.set $10 - loop $while-continue|0 - local.get $12 - if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $14 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $14 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $14 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - i32.const 1 - local.get $14 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $14 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $14 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - else - i32.const 0 - end + local.get $4 + local.get $6 + i32.or if - local.get $0 - i32.const 2 + local.get $4 + local.tee $2 + i32.const 1 i32.add - local.tee $0 - i32.load16_u $0 - local.set $14 - local.get $12 + local.set $4 + local.get $2 i32.const 1 - i32.sub - local.set $12 - br $while-continue|0 + i32.shl + i32.const 23344 + i32.add + local.get $6 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 $0 end - end - local.get $12 - i32.eqz - br_if $folding-inner0 - local.get $14 - i32.const 45 - i32.eq - if (result i32) - local.get $12 + local.get $8 i32.const 1 i32.sub - local.tee $12 - i32.eqz - br_if $folding-inner0 - f64.const -1 - local.set $10 - local.get $0 - i32.const 2 - i32.add + local.set $8 + local.get $3 + local.get $5 + i64.extend_i32_u + local.get $11 + i64.extend_i32_s + i64.shl + local.get $9 + i64.add local.tee $0 - i32.load16_u $0 - else - local.get $14 - i32.const 43 - i32.eq - if (result i32) - local.get $12 - i32.const 1 - i32.sub - local.tee $12 - i32.eqz - br_if $folding-inner0 - local.get $0 + i64.ge_u + if + global.get $~lib/util/number/_K + local.get $8 + i32.add + global.set $~lib/util/number/_K + local.get $8 i32.const 2 + i32.shl + i32.const 24272 i32.add - local.tee $0 + i64.load32_u $0 + local.get $11 + i64.extend_i32_s + i64.shl + local.set $7 + local.get $4 + i32.const 1 + i32.shl + i32.const 23342 + i32.add + local.tee $2 i32.load16_u $0 - else - local.get $14 - end - end - local.tee $14 - i32.const 73 - i32.eq - local.get $12 - i32.const 8 - i32.ge_s - i32.and - if - local.get $0 - i64.load $0 - i64.const 29555310648492105 - i64.eq - if (result i32) - local.get $0 - i64.load $0 offset=8 - i64.const 34058970405077102 - i64.eq - else - i32.const 0 - end - if - local.get $10 - f64.const inf - f64.mul + local.set $6 + loop $while-continue|3 + local.get $0 + local.get $10 + i64.lt_u + local.get $3 + local.get $0 + i64.sub + local.get $7 + i64.ge_u + i32.and + if (result i32) + local.get $10 + local.get $0 + local.get $7 + i64.add + local.tee $1 + i64.gt_u + local.get $10 + local.get $0 + i64.sub + local.get $1 + local.get $10 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $6 + i32.const 1 + i32.sub + local.set $6 + local.get $0 + local.get $7 + i64.add + local.set $0 + br $while-continue|3 + end + end + local.get $2 + local.get $6 + i32.store16 $0 + local.get $4 return end - br $folding-inner0 + br $while-continue|0 end - local.get $14 - i32.const 46 - i32.ne - local.get $14 - i32.const 48 + end + loop $while-continue|4 + local.get $3 + i64.const 10 + i64.mul + local.set $3 + local.get $9 + i64.const 10 + i64.mul + local.tee $1 + local.get $11 + i64.extend_i32_s + i64.shr_u + local.tee $0 + local.get $4 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne + if + local.get $4 + local.tee $2 + i32.const 1 + i32.add + local.set $4 + local.get $2 + i32.const 1 + i32.shl + i32.const 23344 + i32.add + local.get $0 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 $0 + end + local.get $8 + i32.const 1 i32.sub - i32.const 10 - i32.ge_u + local.set $8 + local.get $1 + local.get $12 + i64.and + local.tee $9 + local.get $3 + i64.ge_u + br_if $while-continue|4 + end + global.get $~lib/util/number/_K + local.get $8 + i32.add + global.set $~lib/util/number/_K + local.get $10 + i32.const 0 + local.get $8 + i32.sub + i32.const 2 + i32.shl + i32.const 24272 + i32.add + i64.load32_u $0 + i64.mul + local.set $1 + local.get $4 + i32.const 1 + i32.shl + i32.const 23342 + i32.add + local.tee $2 + i32.load16_u $0 + local.set $6 + loop $while-continue|6 + local.get $1 + local.get $9 + i64.gt_u + local.get $3 + local.get $9 + i64.sub + local.get $7 + i64.ge_u i32.and - br_if $folding-inner0 + if (result i32) + local.get $1 + local.get $7 + local.get $9 + i64.add + local.tee $0 + i64.gt_u + local.get $1 + local.get $9 + i64.sub + local.get $0 + local.get $1 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $6 + i32.const 1 + i32.sub + local.set $6 + local.get $7 + local.get $9 + i64.add + local.set $9 + br $while-continue|6 + end + end + local.get $2 + local.get $6 + i32.store16 $0 + local.get $4 + ) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (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 - local.set $1 - loop $while-continue|1 - local.get $14 - i32.const 48 - i32.eq + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store $0 + 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 + local.get $1 + local.get $3 + i32.le_s + i32.and + if (result i32) + loop $for-loop|0 + local.get $1 + local.get $3 + i32.lt_s if local.get $0 - i32.const 2 + local.get $1 + i32.const 1 + i32.shl i32.add - local.tee $0 - i32.load16_u $0 - local.set $14 - local.get $12 + i32.const 48 + i32.store16 $0 + local.get $1 i32.const 1 - i32.sub - local.set $12 - br $while-continue|1 + i32.add + local.set $1 + br $for-loop|0 end end - local.get $12 - i32.const 0 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store $0 + local.get $3 + i32.const 2 + i32.add + else + local.get $3 + i32.const 21 i32.le_s - if - local.get $10 - f64.const 0 - f64.mul - return - end - local.get $14 - i32.const 46 - i32.eq - if - local.get $0 - local.get $1 - i32.eq - local.set $1 + local.get $3 + i32.const 0 + i32.gt_s + i32.and + 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.set $0 - local.get $1 - local.get $12 - i32.const 1 - i32.sub - local.tee $12 - i32.eqz - i32.and - br_if $folding-inner0 - i32.const 1 - local.set $8 - loop $for-loop|2 - local.get $0 - i32.load16_u $0 - local.tee $14 - i32.const 48 - i32.eq - if - local.get $12 - i32.const 1 - i32.sub - local.set $12 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - local.get $0 - i32.const 2 - i32.add - local.set $0 - br $for-loop|2 - end - end - local.get $12 + local.get $0 i32.const 0 - i32.le_s - if - local.get $10 - f64.const 0 - f64.mul - return - end - local.get $1 local.get $2 - i32.eqz - i32.and - local.get $14 - i32.const 48 i32.sub - i32.const 10 - i32.ge_u - i32.and - br_if $folding-inner0 - end - local.get $14 - i32.const 48 - i32.sub - local.set $1 - loop $for-loop|3 - local.get $8 - i32.eqz - local.get $14 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $0 i32.const 46 - i32.eq - i32.and + i32.store16 $0 local.get $1 - i32.const 10 - i32.lt_u - i32.or - if - block $for-break3 - local.get $1 - i32.const 10 - i32.lt_u + i32.const 1 + i32.add + else + local.get $3 + i32.const 0 + i32.le_s + local.get $3 + i32.const -6 + i32.gt_s + i32.and + 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 + memory.copy $0 $0 + local.get $0 + i32.const 3014704 + i32.store $0 + i32.const 2 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $3 + i32.lt_s if - local.get $3 - i32.const 19 - i32.lt_s - if (result i64) - local.get $1 - i64.extend_i32_u - local.get $13 - i64.const 10 - i64.mul - i64.add - else - local.get $13 - local.get $1 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.or - end - local.set $13 - local.get $3 + local.get $0 + local.get $2 i32.const 1 + i32.shl i32.add - local.set $3 - else - local.get $3 - local.set $2 + i32.const 48 + i32.store16 $0 + local.get $2 i32.const 1 - local.set $8 + i32.add + local.set $2 + br $for-loop|1 end - local.get $12 - i32.const 1 - i32.sub - local.tee $12 - i32.eqz - br_if $for-break3 - local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u $0 - local.tee $14 - i32.const 48 - i32.sub - local.set $1 - br $for-loop|3 end - end - end - local.get $2 - local.get $3 - local.get $8 - select - i32.const 19 - local.get $3 - local.get $3 - i32.const 19 - i32.gt_s - select - i32.sub - local.set $8 - block $~lib/util/string/scientific|inlined.0 - local.get $13 - i64.eqz - block $~lib/util/string/parseExp|inlined.0 (result i32) - i32.const 1 - local.set $14 - i32.const 0 - local.get $0 - i32.load16_u $0 - i32.const 32 - i32.or - i32.const 101 - i32.ne - br_if $~lib/util/string/parseExp|inlined.0 - drop - i32.const 0 - local.get $12 - i32.const 1 - i32.sub - local.tee $3 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $0 - i32.const 2 + local.get $1 + local.get $3 i32.add - local.tee $0 - i32.load16_u $0 - local.tee $1 - i32.const 45 + else + local.get $1 + i32.const 1 i32.eq - if (result i32) - i32.const 0 + if + local.get $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $2 local.get $3 i32.const 1 i32.sub - local.tee $3 - i32.eqz - br_if $~lib/util/string/parseExp|inlined.0 - drop - i32.const -1 - local.set $14 - local.get $0 - i32.const 2 - i32.add local.tee $0 - i32.load16_u $0 - else - local.get $1 - i32.const 43 - i32.eq - if (result i32) - i32.const 0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - 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 $0 - else - local.get $1 - end - end - local.set $2 - loop $while-continue|4 - local.get $2 - i32.const 48 - i32.eq + i32.const 0 + i32.lt_s + local.tee $3 if i32.const 0 - local.get $3 - i32.const 1 - i32.sub - local.tee $3 - 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 $0 - local.set $2 - br $while-continue|4 + i32.sub + local.set $0 end - end - local.get $2 - i32.const 48 - i32.sub - local.set $12 - loop $for-loop|5 - local.get $12 - i32.const 10 + local.get $0 + local.get $0 + i32.const 100000 i32.lt_u - i32.const 0 + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + i32.const 1 + i32.add + local.tee $1 + call $~lib/util/number/utoa32_dec_lut + local.get $2 + i32.const 45 + i32.const 43 local.get $3 select + i32.store16 $0 + 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 + memory.copy $0 $0 + local.get $0 + i32.const 46 + i32.store16 $0 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $4 + local.get $3 + i32.const 1 + i32.sub + local.tee $0 + i32.const 0 + i32.lt_s + local.tee $2 if - local.get $14 - i32.const 3200 - i32.mul - local.get $9 - i32.const 3200 - i32.ge_s - br_if $~lib/util/string/parseExp|inlined.0 - drop - local.get $9 - i32.const 10 - i32.mul - local.get $12 - i32.add - local.set $9 - local.get $3 - i32.const 1 - i32.sub - local.set $3 + i32.const 0 local.get $0 - i32.const 2 - i32.add - local.tee $0 - i32.load16_u $0 - i32.const 48 i32.sub - local.set $12 - br $for-loop|5 + local.set $0 end - end - local.get $9 - local.get $14 - i32.mul - end - local.get $8 - i32.add - local.tee $0 - i32.const -342 - i32.lt_s - i32.or - br_if $~lib/util/string/scientific|inlined.0 - f64.const inf - local.set $11 - local.get $0 - i32.const 308 - i32.gt_s - br_if $~lib/util/string/scientific|inlined.0 - local.get $13 - f64.convert_i64_u - local.set $11 - local.get $0 - i32.eqz - br_if $~lib/util/string/scientific|inlined.0 - local.get $0 - i32.const 37 - i32.le_s - local.get $0 - i32.const 22 - i32.gt_s - i32.and - if - local.get $11 - local.get $0 - i32.const 3 - i32.shl - i32.const 4496 - i32.add - f64.load $0 - f64.mul - local.set $11 - i32.const 22 - local.set $0 - end - local.get $13 - i64.const 9007199254740991 - i64.le_u - if (result i32) - local.get $0 - i32.const 31 - i32.shr_s - local.tee $1 - local.get $0 - local.get $1 - i32.add - i32.xor - i32.const 22 - i32.le_s - else - i32.const 0 - end - if (result f64) - local.get $0 - i32.const 0 - i32.gt_s - if - local.get $11 local.get $0 - i32.const 3 - i32.shl - i32.const 4672 - i32.add - f64.load $0 - f64.mul - local.set $11 - br $~lib/util/string/scientific|inlined.0 - end - local.get $11 - i32.const 0 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.const 4672 - i32.add - f64.load $0 - f64.div - else - local.get $0 - i32.const 0 - i32.lt_s - if (result f64) - local.get $13 - local.get $13 - i64.clz - local.tee $4 - i64.shl - local.set $13 local.get $0 - i64.extend_i32_s - local.get $4 - i64.sub - local.set $7 - loop $for-loop|6 + i32.const 100000 + i32.lt_u + if (result i32) local.get $0 - i32.const -14 - i32.le_s - if - local.get $13 - i64.const 6103515625 - i64.rem_u - local.get $13 - i64.const 6103515625 - i64.div_u - local.tee $5 - i64.clz - local.tee $4 - i64.const 18 - i64.sub - i64.shl - f64.convert_i64_u - f64.const 0.00004294967296 - f64.mul - f64.nearest - i64.trunc_sat_f64_u - local.get $5 - local.get $4 - i64.shl - i64.add - local.set $13 - local.get $7 - local.get $4 - i64.sub - local.set $7 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else local.get $0 - i32.const 14 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $0 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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.set $0 - br $for-loop|6 end end - local.get $13 - i32.const 0 + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa32_dec_lut + local.get $4 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 $0 local.get $0 - i32.sub - call $~lib/math/ipow32 - i64.extend_i32_s - local.tee $5 - i64.div_u - local.tee $4 - i64.clz - local.set $6 - local.get $13 - local.get $5 - i64.rem_u - f64.convert_i64_u - i64.reinterpret_f64 - local.get $6 - i64.const 52 - i64.shl - i64.add - f64.reinterpret_i64 - local.get $5 - f64.convert_i64_u - f64.div - i64.trunc_sat_f64_u - local.get $4 - local.get $6 - i64.shl - i64.add - f64.convert_i64_u - local.get $7 - local.get $6 - i64.sub - i32.wrap_i64 - call $~lib/math/NativeMath.scalbn - else - local.get $13 - local.get $13 - i64.ctz - local.tee $4 - i64.shr_u - local.set $13 - local.get $4 - local.get $0 - i64.extend_i32_s - i64.add - global.set $~lib/util/string/__fixmulShift - loop $for-loop|7 - local.get $0 - i32.const 13 - i32.ge_s - if - i64.const 32 - local.get $13 - i64.const 32 - i64.shr_u - i64.const 1220703125 - i64.mul - local.get $13 - i64.const 4294967295 - i64.and - i64.const 1220703125 - i64.mul - local.tee $7 - i64.const 32 - i64.shr_u - i64.add - local.tee $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.clz - i64.extend_i32_u - local.tee $5 - i64.sub - local.tee $4 - global.get $~lib/util/string/__fixmulShift - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $7 - local.get $5 - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - local.get $6 - local.get $5 - i64.shl - local.get $7 - i64.const 4294967295 - i64.and - local.get $4 - i64.shr_u - i64.or - i64.add - local.set $13 - local.get $0 - i32.const 13 - i32.sub - local.set $0 - br $for-loop|7 - end - end - local.get $0 - call $~lib/math/ipow32 - i64.extend_i32_u - local.tee $4 - local.get $13 - i64.const 4294967295 - i64.and - i64.mul - local.set $7 - i64.const 32 - local.get $13 - i64.const 32 - i64.shr_u - local.get $4 - i64.mul - local.get $7 - i64.const 32 - i64.shr_u - i64.add - local.tee $6 - i64.const 32 - i64.shr_u - i32.wrap_i64 - i32.clz - i64.extend_i32_u - local.tee $5 - i64.sub - local.tee $4 - global.get $~lib/util/string/__fixmulShift - i64.add - global.set $~lib/util/string/__fixmulShift - local.get $7 - local.get $5 - i64.shl - i64.const 31 - i64.shr_u - i64.const 1 - i64.and - local.get $6 - local.get $5 - i64.shl - local.get $7 - i64.const 4294967295 - i64.and - local.get $4 - 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 + local.get $1 + i32.add + local.set $1 end + local.get $1 + i32.const 2 + i32.add end - local.set $11 end - local.get $11 - local.get $10 - f64.copysign - return end - f64.const nan:0x8000000000000 ) - (func $~lib/util/string/strtol (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/util/number/dtoa_core (type $f64_=>_i32) (param $0 f64) (result i32) + (local $1 i64) (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - i32.const 4876 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - if - i32.const 0 - return - end - i32.const 4880 - local.set $2 - i32.const 4880 - i32.load16_u $0 - local.set $1 - loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $1 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $1 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $1 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - i32.const 1 - local.get $1 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $1 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0 - end + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + local.get $0 + f64.const 0 + f64.lt + local.tee $2 + if (result f64) + i32.const 23344 + i32.const 45 + i32.store16 $0 + local.get $0 + f64.neg + else + local.get $0 end + i64.reinterpret_f64 + local.tee $1 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $7 i32.const 1 - local.set $3 + local.get $7 + select + i32.const 1075 + i32.sub + local.tee $8 + i32.const 1 + i32.sub local.get $1 - i32.const 43 - i32.eq + i64.const 4503599627370495 + i64.and + local.get $7 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + i64.add + local.tee $1 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $3 + i64.clz + i32.wrap_i64 + local.tee $7 + i32.sub + local.set $9 + local.get $3 + local.get $7 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus local.get $1 - i32.const 45 - i32.eq - i32.or - if (result i32) - local.get $0 - i32.const 1 - i32.sub - local.tee $0 - i32.eqz - if - i32.const 0 - return - end - i32.const -1 - i32.const 1 - local.get $1 - i32.const 45 - i32.eq - select - local.set $3 - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - else - local.get $1 - end - i32.const 48 - i32.eq - local.get $0 - i32.const 2 - i32.gt_s - i32.and - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $2 - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.tee $1 - i32.const 98 - i32.ne - if - local.get $1 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $1 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 2 - local.set $4 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 8 - local.set $4 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 16 - local.set $4 - end - end - local.get $4 - i32.const 10 - local.get $4 - select - local.set $4 + 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 $8 + local.get $7 + i32.sub + local.get $9 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $9 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp + local.tee $7 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.tee $0 + i32.trunc_sat_f64_s + local.tee $8 + local.get $8 + f64.convert_i32_s local.get $0 + f64.ne + i32.add + i32.const 3 + i32.shr_s i32.const 1 + i32.add + local.tee $8 + i32.const 3 + i32.shl + local.tee $9 i32.sub - local.set $6 - loop $while-continue|2 - local.get $0 - local.tee $1 - i32.const 1 - i32.sub - local.set $0 - local.get $1 - if - block $while-break|2 - local.get $4 - local.get $2 - i32.load16_u $0 - local.tee $1 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - local.get $1 - i32.const 48 - i32.sub - else - local.get $1 - i32.const 65 - i32.sub - i32.const 25 - i32.le_u - if (result i32) - local.get $1 - i32.const 55 - i32.sub - else - local.get $1 - i32.const 87 - i32.sub - local.get $1 - local.get $1 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select - end - end - local.tee $1 - i32.le_u - if - local.get $0 - local.get $6 - i32.eq - if - i32.const 0 - return - end - br $while-break|2 - end - local.get $4 - local.get $5 - i32.mul - local.get $1 - i32.add - local.set $5 - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|2 - end - end - end - local.get $3 - local.get $5 - i32.mul - ) - (func $~lib/util/string/strtol (type $none_=>_i64) (result i64) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i32) - i32.const 4924 - i32.load $0 + global.set $~lib/util/number/_K + local.get $9 + i32.const 23400 + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + local.get $8 i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - if - i64.const 0 - return - end - i32.const 4928 - local.set $2 - i32.const 4928 - i32.load16_u $0 - local.set $1 - loop $while-continue|0 - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $1 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $1 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - local.get $1 - i32.const 5760 - i32.lt_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - i32.const 1 - local.get $1 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $1 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $1 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - if - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - local.set $1 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|0 - end - end - i64.const 1 - local.set $4 + i32.shl + i32.const 24096 + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow local.get $1 - i32.const 43 - i32.eq local.get $1 - i32.const 45 - i32.eq - i32.or - if (result i32) - local.get $0 - i32.const 1 - i32.sub - local.tee $0 - i32.eqz - if - i64.const 0 - return - end - i64.const -1 - i64.const 1 - local.get $1 - i32.const 45 - i32.eq - select - local.set $4 - local.get $2 - i32.const 2 - i32.add - local.tee $2 - i32.load16_u $0 - else - local.get $1 - end - i32.const 48 - i32.eq - local.get $0 - i32.const 2 - i32.gt_s - i32.and - if - block $break|1 - block $case2|1 - block $case1|1 - local.get $2 - i32.load16_u $0 offset=2 - i32.const 32 - i32.or - local.tee $1 - i32.const 98 - i32.ne - if - local.get $1 - i32.const 111 - i32.eq - br_if $case1|1 - local.get $1 - i32.const 120 - i32.eq - br_if $case2|1 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 2 - local.set $3 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 8 - local.set $3 - br $break|1 - end - local.get $2 - i32.const 4 - i32.add - local.set $2 - local.get $0 - i32.const 2 - i32.sub - local.set $0 - i32.const 16 - local.set $3 - end - end - local.get $3 - i32.const 10 + i64.clz + i64.shl + local.tee $1 + i64.const 4294967295 + i64.and + local.set $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 + local.get $1 + i64.const 32 + i64.shr_u + local.tee $1 + i64.mul + local.get $4 + local.get $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $5 + global.get $~lib/util/number/_frc_plus + local.tee $3 + i64.const 4294967295 + i64.and + local.set $12 local.get $3 - select + i64.const 32 + i64.shr_u + local.tee $3 + local.get $11 + i64.mul + local.get $11 + local.get $12 + i64.mul + i64.const 32 + i64.shr_u + i64.add local.set $6 - local.get $0 + global.get $~lib/util/number/_frc_minus + local.tee $13 + i64.const 4294967295 + i64.and + local.set $14 + local.get $13 + i64.const 32 + i64.shr_u + local.tee $13 + local.get $11 + i64.mul + local.get $11 + local.get $14 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $11 + local.get $2 i32.const 1 - i32.sub - local.set $3 - loop $while-continue|2 - local.get $0 - local.tee $1 - i32.const 1 - i32.sub - local.set $0 - local.get $1 - if - block $while-break|2 - local.get $6 - local.get $2 - i32.load16_u $0 - local.tee $1 - i32.const 48 - i32.sub - i32.const 10 - i32.lt_u - if (result i32) - local.get $1 - i32.const 48 - i32.sub - else - local.get $1 - i32.const 65 - i32.sub - i32.const 25 - i32.le_u - if (result i32) - local.get $1 - i32.const 55 - i32.sub - else - local.get $1 - i32.const 87 - i32.sub - local.get $1 - local.get $1 - i32.const 97 - i32.sub - i32.const 25 - i32.le_u - select - end - end - local.tee $1 - i32.le_u - if - local.get $0 - local.get $3 - i32.eq - if - i64.const 0 - return - end - br $while-break|2 - end - local.get $1 - i64.extend_i32_u - local.get $5 - local.get $6 - i64.extend_i32_s - i64.mul - i64.add - local.set $5 - local.get $2 - i32.const 2 - i32.add - local.set $2 - br $while-continue|2 - end - end - end - local.get $4 + i32.shl + i32.const 23344 + i32.add + local.get $1 + local.get $10 + i64.const 32 + i64.shr_u + local.tee $1 + i64.mul local.get $5 + i64.const 32 + i64.shr_u + i64.add + local.get $1 + local.get $4 i64.mul - ) - (func $~lib/string/String.__gt (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 + local.get $5 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add local.get $1 - i32.eq - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz - if - i32.const 0 - return - end + local.get $3 + i64.mul + local.get $6 + i64.const 32 + i64.shr_u + i64.add local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u + local.get $12 + i64.mul + local.get $6 + 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 $3 - i32.eqz - if - i32.const 1 - return - end - local.get $0 - i32.const 0 + local.get $7 + global.get $~lib/util/number/_exp_pow + i32.add + i32.const -64 + i32.sub + local.get $3 + local.get $1 + local.get $13 + i64.mul + local.get $11 + i64.const 32 + i64.shr_u + i64.add local.get $1 + local.get $14 + i64.mul + local.get $11 + 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 $2 - local.get $3 + call $~lib/util/number/genDigits local.get $2 - local.get $3 - i32.lt_s - select - call $~lib/util/string/compareImpl - local.tee $0 - i32.const 0 - i32.gt_s + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify local.get $2 - local.get $3 - i32.gt_s - local.get $0 - select + i32.add ) - (func $~lib/string/String.__lt (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/string/getString (type $none_=>_i32) (result i32) + global.get $std/string/str + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) (local $2 i32) (local $3 i32) + block $folding-inner1 + block $folding-inner0 + 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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $~lib/arraybuffer/ArrayBufferView $~lib/array/Array $~lib/array/Array<~lib/string/String> $invalid + end + return + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + 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 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + br $folding-inner1 + end + 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 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $1 + i32.const 4 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner1 + end + unreachable + end + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.eq + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 if - i32.const 0 - return + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end - local.get $1 - i32.const 20 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~start (type $none_=>_none) + call $start:std/string + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - return + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz + 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 - 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 $0 - select - call $~lib/util/string/compareImpl - local.tee $1 - i32.const 0 - i32.lt_s - local.get $0 - local.get $1 - select - ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (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 $3 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $3 + block $folding-inner0 local.get $1 - i32.store $0 offset=16 + i32.eqz local.get $0 - return - end - local.get $1 - local.get $3 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $0 - local.get $1 - local.get $3 - i32.load $0 offset=16 - local.tee $0 - local.get $0 - local.get $1 - i32.gt_u - select - memory.copy $0 $0 - local.get $2 - ) - (func $~lib/string/String#slice@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/string/String#slice - ) - (func $~lib/string/String#substr@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/string/String#substr - ) - (func $~lib/string/String#substring@varargs (type $i32_i32_=>_i32) (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 - i32.const 2147483647 - local.set $2 - end - local.get $0 - local.get $1 - local.get $2 - call $~lib/string/String#substring - ) - (func $~lib/array/ensureCapacity (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.shr_u - i32.gt_u - if - local.get $1 - i32.const 268435455 - i32.gt_u - if - i32.const 14064 - i32.const 15664 - i32.const 19 - i32.const 48 - call $~lib/builtins/abort - unreachable - end + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.load $0 - local.tee $2 - i32.const 1073741820 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $2 local.get $3 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - i32.shl + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $3 + local.get $0 + i32.store $0 local.get $3 - i32.const 1073741820 - i32.ge_u - select - local.tee $3 - i32.const 8 - local.get $1 local.get $1 - i32.const 8 - i32.le_u - select - i32.const 2 - i32.shl - local.tee $1 + i32.store $0 offset=4 + local.get $0 + i32.const 0 local.get $1 - local.get $3 - i32.lt_u - select - local.tee $1 - call $~lib/rt/itcms/__renew - local.tee $3 local.get $2 - i32.ne - if - local.get $0 - local.get $3 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 offset=4 - local.get $3 - if - local.get $0 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - end + 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 local.get $0 - local.get $1 - i32.store $0 offset=8 + return end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/string/String#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 + i32.store $0 + local.get $1 local.get $0 - i32.load $0 offset=12 - local.tee $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 + i32.shr_u + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select i32.add - local.tee $3 - call $~lib/array/ensureCapacity - local.get $0 - i32.load $0 offset=4 + local.tee $1 local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store $0 - local.get $1 + i32.ge_u if - local.get $0 - local.get $1 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1264 + i32.const 1328 + i32.const 57 + i32.const 31 + call $~lib/builtins/abort + unreachable end + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 local.get $0 - local.get $3 - i32.store $0 offset=12 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#charAt (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 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 - i32.const 2147483647 - local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - call $~lib/string/String#split - ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - if - local.get $1 - i32.const 10000 - i32.rem_u - local.set $3 - local.get $1 - i32.const 10000 - i32.div_u - local.set $1 - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 16220 - i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 16220 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end + local.get $0 + i32.store $0 local.get $1 - i32.const 100 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u i32.ge_u if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 16220 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load $0 - i32.store $0 - local.get $1 - i32.const 100 - i32.div_u - local.set $1 + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return end + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 local.get $1 - i32.const 10 - i32.ge_u + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + 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 (type $i32_=>_i32) (param $0 i32) (result 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 26444 + i32.lt_s if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $0 + if (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $2 - i32.const 2 + i32.store $0 + local.get $0 + i32.const 20 i32.sub + i32.load $0 offset=16 i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 2 - i32.shl - i32.const 16220 - i32.add - i32.load $0 - i32.store $0 + i32.shr_u else - local.get $0 - local.get $2 + i32.const 0 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 i32.const 1 - i32.sub i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 48 - i32.add - i32.store16 $0 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (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 $5 - local.get $3 - local.get $3 - i32.const 1 + (func $~lib/string/String.fromCharCodes (type $i32_=>_i32) (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 - i32.and + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - loop $do-loop|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 $1 - local.get $5 - i64.div_u - local.tee $1 - local.get $5 - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.const 17696 - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $1 - i64.const 0 - i64.ne - br_if $do-loop|1 - end - else - local.get $3 - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $4 - local.get $5 - i64.const 1 - i64.sub - local.set $5 - loop $do-loop|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 - local.get $5 - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.const 17696 - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $1 - local.get $4 - i64.shr_u - local.tee $1 - i64.const 0 - i64.ne - br_if $do-loop|0 - end + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) - (local $3 i32) - (local $4 i32) - loop $while-continue|0 - local.get $1 - i64.const 100000000 - i64.ge_u + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s if - local.get $0 local.get $2 - i32.const 4 - i32.sub - local.tee $2 + local.get $0 i32.const 1 i32.shl i32.add local.get $1 - local.get $1 - i64.const 100000000 - i64.div_u - local.tee $1 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.tee $3 - i32.const 10000 - i32.rem_u - local.tee $4 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 16220 - i32.add - i64.load32_u $0 - local.get $4 - i32.const 100 - i32.rem_u + local.get $0 i32.const 2 i32.shl - i32.const 16220 i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 + i32.load $0 + i32.store16 $0 local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 10000 - i32.div_u - local.tee $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 16220 - i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 16220 i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 + local.set $0 + br $for-loop|0 end end - local.get $0 - local.get $1 - i32.wrap_i64 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_i32_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) + (func $~lib/string/String#indexOf (type $i32_i32_i32_=>_i32) (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 i64) - (local $8 i32) - (local $9 i64) - (local $10 i64) - (local $11 i32) - (local $12 i64) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $1 + i32.store $0 local.get $1 + i32.const 20 + i32.sub + i32.load $0 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 - i64.sub - local.set $10 - i64.const 1 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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.tee $11 - i64.extend_i32_s - local.tee $0 - i64.shl - local.tee $7 - i64.const 1 - i64.sub - local.tee $12 - local.get $1 - i64.and - local.set $9 - local.get $1 - local.get $0 - i64.shr_u - i32.wrap_i64 - local.tee $5 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $5 - i32.const 100 - i32.lt_u - if (result i32) - local.get $5 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $5 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $5 - i32.const 1000 - i32.ge_u - i32.add - end - else + local.set $5 + loop $for-loop|0 + local.get $2 local.get $5 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $5 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $5 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $5 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $8 - loop $while-continue|0 - local.get $8 - i32.const 0 - i32.gt_s + i32.le_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 $8 - 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 $5 - i32.const 1000000000 - i32.div_u - local.set $6 - local.get $5 - i32.const 1000000000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 100000000 - i32.div_u - local.set $6 - local.get $5 - i32.const 100000000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 10000000 - i32.div_u - local.set $6 - local.get $5 - i32.const 10000000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 1000000 - i32.div_u - local.set $6 - local.get $5 - i32.const 1000000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 100000 - i32.div_u - local.set $6 - local.get $5 - i32.const 100000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 10000 - i32.div_u - local.set $6 - local.get $5 - i32.const 10000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 1000 - i32.div_u - local.set $6 - local.get $5 - i32.const 1000 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 100 - i32.div_u - local.set $6 - local.get $5 - i32.const 100 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - i32.const 10 - i32.div_u - local.set $6 - local.get $5 - i32.const 10 - i32.rem_u - local.set $5 - br $break|1 - end - local.get $5 - local.set $6 - i32.const 0 - local.set $5 - br $break|1 - end - i32.const 0 - local.set $6 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $2 + local.get $1 local.get $4 - local.get $6 - i32.or + call $~lib/util/string/compareImpl + i32.eqz if - local.get $4 - local.tee $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $4 + global.set $~lib/memory/__stack_pointer local.get $2 - i32.const 1 - i32.shl - i32.const 23344 - i32.add - local.get $6 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 $0 + return end - local.get $8 + local.get $2 i32.const 1 - i32.sub - local.set $8 - local.get $3 - local.get $5 - i64.extend_i32_u - local.get $11 - i64.extend_i32_s - i64.shl - local.get $9 - i64.add - local.tee $0 - i64.ge_u - if - global.get $~lib/util/number/_K - local.get $8 - i32.add - global.set $~lib/util/number/_K - local.get $8 - i32.const 2 - i32.shl - i32.const 24272 - i32.add - i64.load32_u $0 - local.get $11 - i64.extend_i32_s - i64.shl - local.set $7 - local.get $4 - i32.const 1 - i32.shl - i32.const 23342 - i32.add - local.tee $2 - i32.load16_u $0 - local.set $6 - loop $while-continue|3 - local.get $0 - local.get $10 - i64.lt_u - local.get $3 - local.get $0 - i64.sub - local.get $7 - i64.ge_u - i32.and - if (result i32) - local.get $10 - local.get $0 - local.get $7 - i64.add - local.tee $1 - i64.gt_u - local.get $10 - local.get $0 - i64.sub - local.get $1 - local.get $10 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $6 - i32.const 1 - i32.sub - local.set $6 - local.get $0 - local.get $7 - i64.add - local.set $0 - br $while-continue|3 - end - end - local.get $2 - local.get $6 - i32.store16 $0 - local.get $4 - return - end - br $while-continue|0 - end - end - loop $while-continue|4 - local.get $3 - i64.const 10 - i64.mul - local.set $3 - local.get $9 - i64.const 10 - i64.mul - local.tee $1 - local.get $11 - i64.extend_i32_s - i64.shr_u - local.tee $0 - local.get $4 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $4 - local.tee $2 - i32.const 1 - i32.add - local.set $4 - local.get $2 - i32.const 1 - i32.shl - i32.const 23344 - i32.add - local.get $0 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 i32.add - i32.store16 $0 + local.set $2 + br $for-loop|0 end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - local.get $1 - local.get $12 - i64.and - local.tee $9 - local.get $3 - i64.ge_u - br_if $while-continue|4 end - global.get $~lib/util/number/_K - local.get $8 - i32.add - global.set $~lib/util/number/_K - local.get $10 - i32.const 0 - local.get $8 - i32.sub - i32.const 2 - i32.shl - i32.const 24272 - i32.add - i64.load32_u $0 - i64.mul - local.set $1 - local.get $4 - i32.const 1 - i32.shl - i32.const 23342 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $2 - i32.load16_u $0 - local.set $6 - loop $while-continue|6 - local.get $1 - local.get $9 - i64.gt_u - local.get $3 - local.get $9 - i64.sub - local.get $7 - i64.ge_u - i32.and - if (result i32) - local.get $1 - local.get $7 - local.get $9 - i64.add - local.tee $0 - i64.gt_u - local.get $1 - local.get $9 - i64.sub - local.get $0 - local.get $1 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $6 - i32.const 1 - i32.sub - local.set $6 - local.get $7 - local.get $9 - i64.add - local.set $9 - br $while-continue|6 - end - end - local.get $2 - local.get $6 - i32.store16 $0 - local.get $4 + global.set $~lib/memory/__stack_pointer + i32.const -1 ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#padStart (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $3 + local.get $5 + local.get $2 + i32.store $0 local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $5 i32.eqz + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + local.get $3 + i32.lt_u + i32.or if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store $0 - local.get $1 - i32.const 2 + 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 - local.get $2 - i32.add - local.tee $3 - i32.const 21 - i32.le_s + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=4 local.get $1 local.get $3 - i32.le_s - i32.and - 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 $0 - 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 $0 - local.get $3 + i32.sub + local.tee $8 + local.get $5 + i32.gt_u + if + local.get $8 + local.get $8 i32.const 2 + i32.sub + local.get $5 + i32.div_u + local.get $5 + i32.mul + local.tee $6 + i32.sub + local.set $1 + loop $while-continue|0 + local.get $4 + local.get $6 + i32.lt_u + if + local.get $4 + local.get $7 + i32.add + local.get $2 + local.get $5 + memory.copy $0 $0 + local.get $4 + local.get $5 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $6 + local.get $7 i32.add + local.get $2 + local.get $1 + memory.copy $0 $0 else + local.get $7 + local.get $2 + local.get $8 + memory.copy $0 $0 + end + local.get $7 + local.get $8 + i32.add + local.get $0 + local.get $3 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + ) + (func $~lib/string/String#padEnd (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $3 + local.get $4 + local.get $2 + i32.store $0 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $4 + i32.eqz + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + local.get $3 + i32.lt_u + i32.or + 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 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=4 + local.get $6 + local.get $0 + local.get $3 + memory.copy $0 $0 + local.get $1 + local.get $3 + i32.sub + local.tee $0 + local.get $4 + i32.gt_u + if + local.get $0 + local.get $0 + i32.const 2 + i32.sub + local.get $4 + i32.div_u + local.get $4 + i32.mul + local.tee $5 + i32.sub + local.set $7 local.get $3 - i32.const 21 - i32.le_s - local.get $3 + local.get $6 + i32.add + local.set $1 i32.const 0 - i32.gt_s - i32.and - 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 - memory.copy $0 $0 + local.set $0 + loop $while-continue|0 local.get $0 - i32.const 46 - i32.store16 $0 - local.get $1 - i32.const 1 - i32.add - else - local.get $3 - i32.const 0 - i32.le_s - local.get $3 - i32.const -6 - i32.gt_s - i32.and - 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 $5 + i32.lt_u + if local.get $0 local.get $1 - i32.const 1 - i32.shl + i32.add + local.get $2 + local.get $4 memory.copy $0 $0 local.get $0 - i32.const 3014704 - i32.store $0 - 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 $0 - 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 - local.get $0 - i32.const 101 - i32.store16 $0 offset=2 - local.get $0 - i32.const 4 - i32.add - local.tee $2 - 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 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end - end - i32.const 1 - i32.add - local.tee $1 - call $~lib/util/number/utoa32_dec_lut - local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 $0 - 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 - memory.copy $0 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $0 - i32.const 101 - i32.store16 $0 offset=2 - local.get $0 - i32.const 4 - i32.add - local.tee $4 - 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 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end - end - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $4 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 $0 - local.get $0 - local.get $1 - i32.add - local.set $1 - end - local.get $1 - i32.const 2 + local.get $4 i32.add + local.set $0 + br $while-continue|0 end end - end - ) - (func $~lib/util/number/dtoa_core (type $f64_=>_i32) (param $0 f64) (result i32) - (local $1 i64) - (local $2 i32) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - (local $11 i64) - (local $12 i64) - (local $13 i64) - (local $14 i64) - local.get $0 - f64.const 0 - f64.lt - local.tee $2 - if (result f64) - i32.const 23344 - i32.const 45 - i32.store16 $0 - local.get $0 - f64.neg + local.get $3 + local.get $6 + i32.add + local.get $5 + i32.add + local.get $2 + local.get $7 + memory.copy $0 $0 else + local.get $3 + local.get $6 + i32.add + local.get $2 local.get $0 + memory.copy $0 $0 end - i64.reinterpret_f64 - local.tee $1 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 1 - local.get $7 - select - i32.const 1075 - i32.sub - local.tee $8 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + ) + (func $~lib/string/String#lastIndexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $1 - i64.const 4503599627370495 - i64.and - local.get $7 - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - i64.add - local.tee $1 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $3 - i64.clz - i32.wrap_i64 - local.tee $7 - i32.sub - local.set $9 - local.get $3 - local.get $7 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus - local.get $1 + i32.store $0 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 $8 - local.get $7 - i32.sub - local.get $9 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $9 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp - local.tee $7 + i32.const 20 i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.tee $0 - i32.trunc_sat_f64_s - local.tee $8 - local.get $8 - f64.convert_i32_s - local.get $0 - f64.ne - i32.add - i32.const 3 - i32.shr_s + i32.load $0 offset=16 i32.const 1 - i32.add - local.tee $8 - i32.const 3 - i32.shl - local.tee $9 + i32.shr_u + local.tee $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $0 + local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 i32.sub - global.set $~lib/util/number/_K - local.get $9 - i32.const 23400 - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - local.get $8 + i32.load $0 offset=16 i32.const 1 - i32.shl - i32.const 24096 - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $1 - local.get $1 - i64.clz - i64.shl - local.tee $1 - i64.const 4294967295 - i64.and - local.set $4 - global.get $~lib/util/number/_frc_pow - local.tee $10 - i64.const 4294967295 - i64.and - local.tee $11 - local.get $1 - i64.const 32 - i64.shr_u - local.tee $1 - i64.mul - local.get $4 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $5 - global.get $~lib/util/number/_frc_plus - local.tee $3 - i64.const 4294967295 - i64.and - local.set $12 - local.get $3 - i64.const 32 - i64.shr_u - local.tee $3 - local.get $11 - i64.mul - local.get $11 - local.get $12 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $6 - global.get $~lib/util/number/_frc_minus - local.tee $13 - i64.const 4294967295 - i64.and - local.set $14 - local.get $13 - i64.const 32 - i64.shr_u - local.tee $13 - local.get $11 - i64.mul - local.get $11 - local.get $14 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $11 + 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 -1 + return + end local.get $2 - i32.const 1 - i32.shl - i32.const 23344 - i32.add - local.get $1 - local.get $10 - i64.const 32 - i64.shr_u - local.tee $1 - i64.mul - local.get $5 - i64.const 32 - i64.shr_u - i64.add - local.get $1 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 local.get $4 - 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 - local.get $1 local.get $3 - i64.mul - local.get $6 - i64.const 32 - i64.shr_u - i64.add - local.get $1 - local.get $12 - i64.mul - local.get $6 - 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 $3 - local.get $7 - global.get $~lib/util/number/_exp_pow - i32.add - i32.const -64 i32.sub - local.get $3 - local.get $1 - local.get $13 - i64.mul - local.get $11 - i64.const 32 - i64.shr_u - i64.add - local.get $1 - local.get $14 - i64.mul - local.get $11 - 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.tee $4 local.get $2 - call $~lib/util/number/genDigits - local.get $2 - i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.get $2 - i32.add - ) - (func $std/string/getString (type $none_=>_i32) (result i32) - global.get $std/string/str - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - block $folding-inner0 - block $invalid - block $~lib/array/Array<~lib/string/String> - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner0 $folding-inner0 $~lib/array/Array<~lib/string/String> $invalid - end - return - end - return - end - return - end + local.get $4 + 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.tee $4 local.get $0 - i32.load $0 offset=4 - local.tee $1 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=12 - i32.const 2 - i32.shl - i32.add - local.set $2 - loop $while-continue|0 - local.get $1 + local.get $2 + local.get $1 + 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 - i32.lt_u - if - local.get $1 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $1 - i32.const 4 - i32.add - local.set $1 - br $while-continue|0 - end + return end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - return + unreachable end + i32.const 2147483647 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String#localeCompare (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.load $0 - local.tee $0 + local.get $1 + i32.eq if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + 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.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $4 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + local.get $3 + local.get $4 + local.get $3 + local.get $4 + i32.lt_s + select + call $~lib/util/string/compareImpl + local.tee $0 + local.get $3 + local.get $4 + i32.sub + local.get $0 + select + 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.gt_s + local.get $0 + i32.const 0 + i32.lt_s + i32.sub ) - (func $~start (type $none_=>_none) - call $start:std/string - ) - (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String#trimStart (type $i32_=>_i32) (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 36 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -6705,295 +5280,149 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 36 - memory.fill $0 - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - local.get $2 - i32.eqz - br_if $folding-inner0 - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.load $0 offset=4 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=12 - i32.eqz - if - local.get $2 - i32.const 1 - call $~lib/array/ensureCapacity - local.get $2 - i32.const 1 - i32.store $0 offset=12 - end - local.get $2 - i32.load $0 offset=4 - local.get $0 - i32.store $0 - local.get $0 - if - local.get $2 - local.get $0 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - br $folding-inner1 - end + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $2 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.lt_u + if (result i32) + block $__inlined_func$~lib/util/string/isSpace (result i32) local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.set $7 - i32.const 2147483647 - local.get $2 - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $9 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 + i32.add + i32.load16_u $0 + local.tee $3 + i32.const 5760 + i32.lt_u if - local.get $7 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 1 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=16 - local.get $2 - i32.load $0 offset=4 - i32.const 1712 - i32.store $0 - br $folding-inner1 - end - else - local.get $7 - i32.eqz - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.get $7 - local.get $9 - local.get $7 - local.get $9 - i32.lt_s - select - local.tee $1 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $2 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.set $4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $5 - i32.store $0 offset=12 - local.get $5 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $4 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 - local.get $5 - if - local.get $2 - local.get $5 - i32.const 1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - 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 0 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.tee $8 - i32.store $0 offset=20 - loop $while-continue|1 - local.get $0 - local.get $1 local.get $3 - call $~lib/string/String#indexOf - local.tee $10 - i32.const -1 - i32.xor - if - local.get $10 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $3 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 1 + local.get $3 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 local.get $3 - i32.sub - local.tee $2 - i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - i32.shl - local.tee $5 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=24 - local.get $2 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $5 - memory.copy $0 $0 - else - i32.const 1712 - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=28 - end - local.get $8 - local.get $2 - call $~lib/array/Array<~lib/string/String>#push - local.get $6 - i32.const 1 - i32.add - local.tee $6 - local.get $9 + i32.const 5760 i32.eq - br_if $folding-inner2 - local.get $4 - local.get $10 - i32.add - local.set $3 - br $while-continue|1 + br_if $case6|0 + local.get $3 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace end - local.get $3 - i32.eqz - if - local.get $8 - local.get $0 - call $~lib/array/Array<~lib/string/String>#push - br $folding-inner2 - end - local.get $7 - local.get $3 - i32.sub - local.tee $1 i32.const 0 - i32.gt_s - if - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=32 - local.get $2 - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $1 - memory.copy $0 $0 - local.get $8 - local.get $2 - call $~lib/array/Array<~lib/string/String>#push - else - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=28 - local.get $8 - i32.const 1712 - call $~lib/array/Array<~lib/string/String>#push - end - global.get $~lib/memory/__stack_pointer - i32.const 36 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - return end + else i32.const 0 - i32.const 5 - i32.const 0 - call $~lib/rt/__newArray - local.set $2 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 36 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + 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 - i32.const 36 + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $1 + i32.add + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 + local.get $3 ) - (func $start:std/string (type $none_=>_none) - (local $0 i32) - (local $1 f64) - (local $2 f32) + (func $~lib/string/String#trimEnd (type $i32_=>_i32) (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 96 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -7008,14287 +5437,4591 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 96 - memory.fill $0 - global.get $std/string/str - i32.const 1056 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 8 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1168 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 i32.store $0 local.get $0 - i32.const 1168 - i32.store $0 offset=4 - i32.const 1168 - i32.const 1168 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $3 + local.set $1 + loop $while-continue|0 + local.get $1 + if (result i32) + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + local.tee $2 + i32.const 5760 + i32.lt_u + if + local.get $2 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $2 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 1 + local.get $2 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $2 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + 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 10 - 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 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1200 - i32.store $0 - local.get $0 - i32.const 1200 - i32.store $0 offset=4 - i32.const 1200 - i32.const 1200 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + local.get $3 + i32.eq if - i32.const 0 - i32.const 1120 - i32.const 11 - 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 + local.get $0 + return end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1232 - i32.store $0 - local.get $0 - i32.const 1232 + local.get $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $2 i32.store $0 offset=4 - i32.const 1232 - i32.const 1232 - call $~lib/string/String.__eq - i32.eqz + local.get $2 + local.get $0 + local.get $1 + memory.copy $0 $0 + 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 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 12 + i32.const 59232 + i32.const 59280 + i32.const 1 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 $0 - local.get $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - i32.const 16 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 14 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.tee $3 + i32.const 1 + i32.shl + local.set $1 + loop $while-continue|0 + local.get $1 + if (result i32) + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + local.tee $4 + i32.const 5760 + i32.lt_u + if + local.get $4 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $4 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 1 + local.get $4 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $4 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $4 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + 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) + block $__inlined_func$~lib/util/string/isSpace0 (result i32) + local.get $0 + local.get $2 + i32.add + i32.load16_u $0 + local.tee $4 + i32.const 5760 + i32.lt_u + if + local.get $4 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $4 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace0 + end + i32.const 1 + local.get $4 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace0 + drop + block $break|01 + block $case6|02 + local.get $4 + i32.const 5760 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 8232 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 8233 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 8239 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 8287 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 12288 + i32.eq + br_if $case6|02 + local.get $4 + i32.const 65279 + i32.eq + br_if $case6|02 + br $break|01 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace0 + end + i32.const 0 + end + 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 - block $__inlined_func$~lib/string/String#charCodeAt (result i32) + local.get $1 + i32.eqz + if global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $0 - i32.store $0 - i32.const -1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.eqz - br_if $__inlined_func$~lib/string/String#charCodeAt - drop - local.get $0 - i32.load16_u $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1712 + return end - i32.const 104 - i32.ne + local.get $2 + i32.eqz + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.eq + i32.and if - i32.const 0 - i32.const 1120 - i32.const 15 - 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 + local.get $0 + return end global.get $~lib/memory/__stack_pointer - global.get $std/string/str + local.get $1 + i32.const 2 + call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 - i32.const -1 - local.set $0 - block $__inlined_func$~lib/string/String#codePointAt - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 1 - i32.le_u - br_if $__inlined_func$~lib/string/String#codePointAt - local.get $4 - i32.const 2 - i32.eq - local.get $3 - i32.load16_u $0 offset=2 - local.tee $0 - i32.const 64512 - i32.and - i32.const 55296 - i32.ne - i32.or - br_if $__inlined_func$~lib/string/String#codePointAt - local.get $3 - i32.load16_u $0 offset=4 - local.tee $3 - i32.const 64512 - i32.and - i32.const 56320 - i32.ne - br_if $__inlined_func$~lib/string/String#codePointAt - local.get $0 - i32.const 10 - i32.shl - local.get $3 - i32.add - i32.const 56613888 - i32.sub - local.set $0 - end - local.get $0 - i32.const 105 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 16 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - memory.size $0 - i32.const 16 - i32.shl - i32.const 59212 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1492 - i32.const 1488 - i32.store $0 - i32.const 1496 - i32.const 1488 - i32.store $0 - i32.const 1488 - global.set $~lib/rt/itcms/pinSpace - i32.const 1524 - i32.const 1520 - i32.store $0 - i32.const 1528 - i32.const 1520 - i32.store $0 - i32.const 1520 - global.set $~lib/rt/itcms/toSpace - i32.const 1604 - i32.const 1600 - i32.store $0 - i32.const 1608 - i32.const 1600 - i32.store $0 - i32.const 1600 - global.set $~lib/rt/itcms/fromSpace - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $0 - i32.store $0 offset=8 - local.get $0 - i32.const 15 - call $~lib/string/String#at - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $3 - i32.const 15 - call $~lib/string/String#charAt - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 i32.store $0 offset=4 - local.get $0 local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 17 - 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 $0 offset=8 - local.get $0 - i32.const -1 - call $~lib/string/String#at - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $4 - i32.store $0 offset=12 - local.get $3 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - call $~lib/string/String#charAt - local.set $3 + local.get $2 + i32.add + local.get $1 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.store $0 offset=4 - local.get $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 18 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + ) + (func $~lib/util/string/strtob (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=12 - local.get $3 - i32.const 0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u + i32.const 4 i32.sub - call $~lib/string/String#at - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1744 - i32.store $0 offset=4 - local.get $0 - i32.const 1744 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 19 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 - i32.const 1708 - i32.load $0 - i32.const 1 - i32.shr_u + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 21 + i32.const 59232 + i32.const 59280 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1776 - i32.store $0 - i32.const 1772 - i32.load $0 - i32.const 1 - i32.shr_u - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 22 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 - i32.const 1804 - i32.load $0 - i32.const 1 - i32.shr_u - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 23 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength + local.tee $1 i32.const 0 - call $~lib/string/String.fromCharCode@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1776 - i32.store $0 offset=4 - local.get $0 - i32.const 1776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 25 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const 65600 - call $~lib/string/String.fromCharCode@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1840 - i32.store $0 offset=4 - local.get $0 - i32.const 1840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 26 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const 54 - call $~lib/string/String.fromCharCode@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1872 - i32.store $0 offset=4 - local.get $0 - i32.const 1872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 27 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const 65590 - call $~lib/string/String.fromCharCode@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 i32.store $0 - local.get $3 - i32.const 1872 - i32.store $0 offset=4 - local.get $0 - i32.const 1872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 28 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 55296 - i32.const 57088 - call $~lib/string/String.fromCharCode - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $1 local.get $0 i32.store $0 - local.get $3 - i32.const 1904 - i32.store $0 offset=4 local.get $0 - i32.const 1904 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $1 + i32.const 8 + i32.gt_u + if (result i32) + loop $while-continue|0 + local.get $1 + if (result i32) + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $0 + local.get $1 + i32.add + i32.const 2 + i32.sub + i32.load16_u $0 + local.tee $3 + i32.const 5760 + i32.lt_u + if + local.get $3 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $3 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 1 + local.get $3 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $3 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $3 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + 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.const 8 + i32.gt_u + if (result i32) + loop $while-continue|1 + local.get $1 + local.get $2 + i32.gt_u + if (result i32) + block $__inlined_func$~lib/util/string/isSpace0 (result i32) + local.get $0 + local.get $2 + i32.add + i32.load16_u $0 + local.tee $3 + i32.const 5760 + i32.lt_u + if + local.get $3 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $3 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + br $__inlined_func$~lib/util/string/isSpace0 + end + i32.const 1 + local.get $3 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace0 + drop + block $break|01 + block $case6|02 + local.get $3 + i32.const 5760 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 8232 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 8233 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 8239 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 8287 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 12288 + i32.eq + br_if $case6|02 + local.get $3 + i32.const 65279 + i32.eq + br_if $case6|02 + br $break|01 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace0 + end + i32.const 0 + end + else + i32.const 0 + end + if + local.get $2 + i32.const 2 + i32.add + local.set $2 + br $while-continue|1 + end + end + local.get $1 + local.get $2 + i32.sub + else + local.get $1 + end + else + local.get $1 + end + i32.const 8 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer i32.const 0 - i32.const 1120 - i32.const 29 - i32.const 1 - call $~lib/builtins/abort - unreachable + return end - i32.const 2 - i32.const 4 - i32.const 1936 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/string/String.fromCharCodes + local.get $2 + i32.add + i64.load $0 + i64.const 28429475166421108 + i64.eq 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 $0 + ) + (func $~lib/util/string/strtol (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 f64) + (local $6 i32) global.get $~lib/memory/__stack_pointer - i32.const 1968 - i32.store $0 offset=4 - local.get $0 - i32.const 1968 - call $~lib/string/String.__eq - i32.eqz + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 30 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - i32.const 4 - i32.const 2000 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/string/String.fromCharCodes - local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $2 + i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2032 - i32.store $0 offset=4 - local.get $0 - i32.const 2032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 31 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 5 - i32.const 4 - i32.const 2064 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=8 - local.get $0 - call $~lib/string/String.fromCharCodes - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2112 - i32.store $0 offset=4 - local.get $0 - i32.const 2112 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 32 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - call $~lib/string/String.fromCodePoint - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1776 - i32.store $0 offset=4 - local.get $0 - i32.const 1776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 34 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 54 - call $~lib/string/String.fromCodePoint - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1872 - i32.store $0 offset=4 - local.get $0 - i32.const 1872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 35 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 119558 - call $~lib/string/String.fromCodePoint - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $2 local.get $0 i32.store $0 - local.get $3 - i32.const 2144 - i32.store $0 offset=4 - local.get $0 - i32.const 2144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 36 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - block $__inlined_func$~lib/string/String#startsWith (result i32) - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 + block $folding-inner0 local.get $0 - i32.const 2176 - i32.store $0 offset=4 - i32.const 0 - i32.const 2172 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $0 - local.get $3 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - i32.gt_s - br_if $__inlined_func$~lib/string/String#startsWith - drop - local.get $3 - i32.const 0 - i32.const 2176 - local.get $0 - call $~lib/util/string/compareImpl + local.tee $3 i32.eqz - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 38 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2208 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - i32.const 536870910 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $0 - local.get $0 - i32.const 536870910 - i32.gt_u - select - i32.const 2204 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $0 - i32.sub - local.tee $4 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $3 - local.get $4 - i32.const 2208 + br_if $folding-inner0 local.get $0 - call $~lib/util/string/compareImpl - end - 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.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2240 - i32.store $0 offset=4 - local.get $3 - i32.const 2240 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.eq - if - i32.const 0 - i32.const 1120 - i32.const 40 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $3 - i32.const 0 - i32.const 2272 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=4 - local.get $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 42 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $3 - i32.const 15 - i32.const 2272 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=4 - local.get $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 43 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - i32.const 1712 - i32.const 3 - i32.const 2272 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2304 - i32.store $0 offset=4 - local.get $0 - i32.const 2304 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 44 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1712 - i32.const 10 - i32.const 1712 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 + i32.load16_u $0 + local.set $2 + loop $while-continue|0 + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $2 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $2 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + local.get $2 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + i32.const 1 + local.get $2 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $2 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $2 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + if + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + 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 + local.get $2 + i32.const 43 + i32.eq + local.get $2 i32.const 45 + i32.eq + i32.or + 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 $0 + local.set $2 + end + local.get $1 + if + local.get $1 + i32.const 2 + i32.lt_s + local.get $1 + i32.const 36 + i32.gt_s + i32.or + br_if $folding-inner0 + local.get $1 + i32.const 16 + i32.eq + if + local.get $2 + i32.const 48 + i32.eq + local.get $3 + i32.const 2 + i32.gt_s + i32.and + if (result i32) + local.get $0 + i32.load16_u $0 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 $2 + i32.const 48 + i32.eq + local.get $3 + i32.const 2 + i32.gt_s + i32.and + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $0 + i32.load16_u $0 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 + local.get $3 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1808 - i32.const 100 - i32.const 1712 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 46 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - i32.const 2336 - i32.const 5 - i32.const 2272 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2368 - i32.store $0 offset=4 - local.get $0 - i32.const 2368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 47 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2400 - i32.store $0 offset=16 - i32.const 2336 - i32.const 6 - i32.const 2400 - call $~lib/string/String#padStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2432 - i32.store $0 offset=4 - local.get $0 - i32.const 2432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 48 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.sub + local.set $6 + loop $while-continue|2 + local.get $3 + local.tee $2 + i32.const 1 + i32.sub + local.set $3 + local.get $2 + if + block $while-break|2 + local.get $0 + i32.load16_u $0 + 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 65 + i32.sub + i32.const 25 + i32.le_u + if (result i32) + local.get $2 + i32.const 55 + i32.sub + else + 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 + end + end + local.tee $2 + local.get $1 + i32.ge_u + if + local.get $3 + local.get $6 + i32.eq + 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 - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2400 - i32.store $0 offset=16 - i32.const 2336 - i32.const 8 - i32.const 2400 - call $~lib/string/String#padStart - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + f64.const nan:0x8000000000000 + ) + (func $~lib/string/parseInt (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 i32) + (local $3 f64) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2464 - i32.store $0 offset=4 - local.get $0 - i32.const 2464 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 49 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $3 + local.tee $2 i32.const 0 - i32.const 2272 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=4 - local.get $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 51 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - local.get $3 - i32.const 15 - i32.const 2272 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $2 local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 offset=4 local.get $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 52 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + local.get $1 + call $~lib/util/string/strtol + local.set $3 global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - i32.const 1712 - i32.const 3 - i32.const 2272 - call $~lib/string/String#padEnd - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/util/string/strtod (type $i32_=>_f64) (param $0 i32) (result f64) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i64) + (local $8 f64) + (local $9 i32) + (local $10 f64) + (local $11 i64) + (local $12 i32) + (local $13 i32) global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 2304 - i32.store $0 offset=4 - local.get $0 - i32.const 2304 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 53 + i32.const 59232 + i32.const 59280 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1712 - i32.const 10 - i32.const 1712 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 54 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1808 - i32.const 100 - i32.const 1712 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $1 + i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 55 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2272 - i32.store $0 offset=16 - i32.const 2336 - i32.const 5 - i32.const 2272 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $1 local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2512 - i32.store $0 offset=4 - local.get $0 - i32.const 2512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 56 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 - i32.const 2336 - i32.const 6 - i32.const 2336 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2544 - i32.store $0 offset=4 - local.get $0 - i32.const 2544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 57 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 - i32.const 2336 - i32.const 8 - i32.const 2336 - call $~lib/string/String#padEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2576 - i32.store $0 offset=4 - local.get $0 - i32.const 2576 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 58 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 1120 - i32.const 60 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 - i32.const 1712 - i32.const 2176 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 61 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 - i32.const 1808 - i32.const 1808 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 1120 - i32.const 62 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 offset=4 - local.get $3 - local.get $3 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 1120 - i32.const 63 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $3 - i32.const 1712 - i32.const 0 - call $~lib/string/String#indexOf - if - i32.const 0 - i32.const 1120 - i32.const 64 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $3 - i32.const 2624 - i32.const 0 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 65 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2656 - i32.store $0 offset=4 - local.get $3 - i32.const 2656 - i32.const 0 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 66 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $3 - i32.const 2624 - i32.const 2 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 67 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $3 - i32.const 2624 - i32.const 3 - call $~lib/string/String#indexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 68 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2688 - i32.store $0 offset=4 - local.get $3 - i32.const 2688 - i32.const -1 - call $~lib/string/String#indexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 69 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - i32.const 1712 - i32.const 1712 - call $~lib/string/String#lastIndexOf@varargs - if - i32.const 0 - i32.const 1120 - i32.const 71 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - i32.const 1712 - i32.const 2176 - call $~lib/string/String#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 72 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 1712 - call $~lib/string/String#lastIndexOf@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 73 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 2624 - call $~lib/string/String#lastIndexOf@varargs - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 74 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2656 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 2656 - call $~lib/string/String#lastIndexOf@varargs - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 75 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2720 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 2720 - call $~lib/string/String#lastIndexOf@varargs - i32.const 15 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 76 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $3 - i32.const 2624 - i32.const 2 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 77 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $3 - i32.const 2624 - i32.const 3 - call $~lib/string/String#lastIndexOf - i32.const 2 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 78 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2688 - i32.store $0 offset=4 - local.get $3 - i32.const 2688 - i32.const -1 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 79 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2752 - i32.store $0 offset=4 - local.get $3 - i32.const 2752 - i32.const 0 - call $~lib/string/String#lastIndexOf - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 80 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $std/string/str - local.tee $3 - i32.store $0 - local.get $0 - i32.const 2176 - i32.store $0 offset=4 - local.get $3 - i32.const 2176 - i32.const 0 - call $~lib/string/String#lastIndexOf - if - i32.const 0 - i32.const 1120 - i32.const 81 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#localeCompare - if - i32.const 0 - i32.const 1120 - i32.const 83 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1808 - i32.const 1712 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 84 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1808 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 85 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2784 - i32.store $0 - local.get $0 - i32.const 2784 - i32.store $0 offset=4 - i32.const 2784 - i32.const 2784 - call $~lib/string/String#localeCompare - if - i32.const 0 - i32.const 1120 - i32.const 86 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2816 - i32.store $0 offset=4 - i32.const 2336 - i32.const 2816 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 87 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2848 - i32.store $0 offset=4 - i32.const 2336 - i32.const 2848 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 88 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2816 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 2816 - i32.const 2336 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 89 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2880 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 2880 - i32.const 2336 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 90 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2912 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 2912 - i32.const 2336 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 91 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2880 - i32.store $0 - local.get $0 - i32.const 2944 - i32.store $0 offset=4 - i32.const 2880 - i32.const 2944 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 92 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 2912 - i32.store $0 offset=4 - i32.const 2336 - i32.const 2912 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 93 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2944 - i32.store $0 - local.get $0 - i32.const 2880 - i32.store $0 offset=4 - i32.const 2944 - i32.const 2880 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 94 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2304 - i32.store $0 offset=4 - i32.const 1712 - i32.const 2304 - call $~lib/string/String#localeCompare - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 95 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1776 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1776 - i32.const 1712 - call $~lib/string/String#localeCompare - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 96 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 - i32.const 1712 - call $~lib/string/String#trimStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 98 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 - i32.const 2976 - call $~lib/string/String#trimStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 - local.get $0 - i32.const 2976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 99 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 - i32.const 3008 - call $~lib/string/String#trimStart - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3056 - i32.store $0 offset=4 - local.get $0 - i32.const 3056 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 100 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 - i32.const 1712 - call $~lib/string/String#trimEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 102 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 - i32.const 2976 - call $~lib/string/String#trimEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 - local.get $0 - i32.const 2976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 103 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 - i32.const 3008 - call $~lib/string/String#trimEnd - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 3104 - i32.store $0 offset=4 - local.get $0 - i32.const 3104 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 104 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 - i32.const 1712 - call $~lib/string/String#trim - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 106 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=8 - i32.const 2976 - call $~lib/string/String#trim - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2976 - i32.store $0 offset=4 - local.get $0 - i32.const 2976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 107 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3008 - i32.store $0 offset=8 - i32.const 3008 - call $~lib/string/String#trim - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 108 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=20 - i32.const 3152 - call $~lib/util/string/strtob - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 111 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3200 - i32.store $0 offset=24 - i32.const 3200 - call $~lib/util/string/strtob - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 112 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3248 - i32.store $0 offset=28 - i32.const 3248 - call $~lib/util/string/strtob - if - i32.const 0 - i32.const 1120 - i32.const 113 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=32 - i32.const 1712 - call $~lib/util/string/strtob - if - i32.const 0 - i32.const 1120 - i32.const 114 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3296 - i32.store $0 offset=36 - i32.const 3296 - call $~lib/util/string/strtob - if - i32.const 0 - i32.const 1120 - i32.const 115 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3328 - i32.store $0 offset=40 - i32.const 3328 - call $~lib/util/string/strtob - if - i32.const 0 - i32.const 1120 - i32.const 116 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3360 - i32.store $0 offset=44 - i32.const 3360 - call $~lib/util/string/strtob - if - i32.const 0 - i32.const 1120 - i32.const 117 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 - i32.const 3392 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 119 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3424 - i32.store $0 - i32.const 3424 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 120 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 - i32.const 3456 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 121 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3488 - i32.store $0 - i32.const 3488 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 122 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3520 - i32.store $0 - i32.const 3520 - i32.const 0 - call $~lib/util/string/strtol - f64.const 5 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 123 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3552 - i32.store $0 - i32.const 3552 - i32.const 0 - call $~lib/util/string/strtol - f64.const 455 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 124 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3584 - i32.store $0 - i32.const 3584 - i32.const 0 - call $~lib/util/string/strtol - f64.const 3855 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 125 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3616 - i32.store $0 - i32.const 3616 - i32.const 0 - call $~lib/util/string/strtol - f64.const 3855 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 126 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3648 - i32.store $0 - i32.const 3648 - i32.const 0 - call $~lib/util/string/strtol - f64.const 11 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 127 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3680 - i32.store $0 - i32.const 3680 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 128 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3712 - i32.store $0 - i32.const 3712 - i32.const 0 - call $~lib/util/string/strtol - f64.const -123 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 129 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3744 - i32.store $0 - i32.const 3744 - i32.const 0 - call $~lib/util/string/strtol - f64.const 123 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 130 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3776 - i32.store $0 - i32.const 3776 - i32.const 0 - call $~lib/util/string/strtol - f64.const -12 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 131 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 - i32.const 3392 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 132 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 - i32.const 3808 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 133 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3840 - i32.store $0 - i32.const 3840 - i32.const 16 - call $~lib/util/string/strtol - f64.const 2833 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 134 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3872 - i32.store $0 - i32.const 3872 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 135 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3904 - i32.store $0 - i32.const 3904 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 136 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3936 - i32.store $0 - i32.const 3936 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 137 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3968 - i32.store $0 - i32.const 3968 - i32.const 0 - call $~lib/util/string/strtol - i64.reinterpret_f64 - i64.const 63 - i64.shr_u - i64.eqz - if - i32.const 0 - i32.const 1120 - i32.const 138 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4000 - i32.store $0 - i32.const 4000 - i32.const 0 - call $~lib/util/string/strtol - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4048 - i32.store $0 - i32.const 4048 - i32.const 16 - call $~lib/util/string/strtol - local.get $1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 139 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store $0 - i32.const 4080 - i32.const 0 - call $~lib/util/string/strtol - f64.const 36893488147419103232 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 140 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4080 - i32.store $0 - i32.const 4080 - i32.const 13 - call $~lib/util/string/strtol - f64.const 5135857308667095285760 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 141 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store $0 - i32.const 4144 - i32.const 10 - call $~lib/util/string/strtol - f64.const -1.e+24 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 142 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4224 - i32.store $0 - i32.const 4224 - i32.const 16 - call $~lib/util/string/strtol - f64.const 75557863725914323419136 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 143 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4288 - i32.store $0 - i32.const 4288 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 144 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4320 - i32.store $0 - i32.const 4320 - i32.const 0 - call $~lib/util/string/strtol - f64.const 2 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 145 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4368 - i32.store $0 - i32.const 4368 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 147 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4400 - i32.store $0 - i32.const 4400 - i32.const 0 - call $~lib/util/string/strtol - f64.const 2 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 148 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4448 - i32.store $0 - i32.const 4448 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 149 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4480 - i32.store $0 - i32.const 4480 - i32.const 0 - call $~lib/util/string/strtol - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 150 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4512 - i32.store $0 - i32.const 4512 - i32.const 0 - call $~lib/util/string/strtol - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 151 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 - i32.const 1712 - i32.const 0 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 152 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 - i32.const 4560 - i32.const 0 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 153 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 - i32.const 4592 - i32.const 0 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 154 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2400 - i32.store $0 - i32.const 2400 - i32.const 37 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 155 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4624 - i32.store $0 - i32.const 4624 - i32.const 0 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 156 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 - i32.const 4656 - i32.const 0 - call $~lib/util/string/strtol - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 157 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 - i32.const 4656 - call $~lib/util/string/strtod - f32.demote_f64 - local.tee $2 - local.get $2 - f32.eq - if - i32.const 0 - i32.const 1120 - i32.const 158 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 - i32.const 4656 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 159 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 offset=48 - i32.const 4656 - call $~lib/util/string/strtod - f32.demote_f64 - local.tee $2 - local.get $2 - f32.eq - if - i32.const 0 - i32.const 1120 - i32.const 160 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 offset=52 - i32.const 4656 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 161 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4880 - i32.store $0 - call $~lib/util/string/strtol - i32.const 2147483647 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 163 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4880 - i32.store $0 offset=56 - call $~lib/util/string/strtol - i32.const 2147483647 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 164 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4928 - i32.store $0 - call $~lib/util/string/strtol - i64.const 9223372036854775807 - i64.ne - if - i32.const 0 - i32.const 1120 - i32.const 165 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4928 - i32.store $0 offset=60 - call $~lib/util/string/strtol - i64.const 9223372036854775807 - i64.ne - if - i32.const 0 - i32.const 1120 - i32.const 166 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3392 - i32.store $0 - i32.const 3392 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 169 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3456 - i32.store $0 - i32.const 3456 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 170 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4992 - i32.store $0 - i32.const 4992 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 171 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5024 - i32.store $0 - i32.const 5024 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 172 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5056 - i32.store $0 - i32.const 5056 - call $~lib/util/string/strtod - f64.const 1e-05 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 173 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5088 - i32.store $0 - i32.const 5088 - call $~lib/util/string/strtod - f64.const -1e-05 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 174 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5120 - i32.store $0 - i32.const 5120 - call $~lib/util/string/strtod - f64.const -3e-23 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 175 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store $0 - i32.const 5168 - call $~lib/util/string/strtod - f64.const 3e21 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 176 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5216 - i32.store $0 - i32.const 5216 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 177 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5248 - i32.store $0 - i32.const 5248 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 178 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5280 - i32.store $0 - i32.const 5280 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 179 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5312 - i32.store $0 - i32.const 5312 - call $~lib/util/string/strtod - f64.const 0.25 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 180 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5344 - i32.store $0 - i32.const 5344 - call $~lib/util/string/strtod - f64.const 1e3 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 181 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5376 - i32.store $0 - i32.const 5376 - call $~lib/util/string/strtod - f64.const 1e-10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 182 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store $0 - i32.const 5424 - call $~lib/util/string/strtod - f64.const 1e-30 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 183 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5472 - i32.store $0 - i32.const 5472 - call $~lib/util/string/strtod - f64.const 1e-323 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 184 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5520 - i32.store $0 - i32.const 5520 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 185 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5568 - i32.store $0 - i32.const 5568 - call $~lib/util/string/strtod - f64.const 1.e+308 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 186 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5600 - i32.store $0 - i32.const 5600 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 187 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 - i32.const 1712 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 188 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5632 - i32.store $0 - i32.const 5632 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 191 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5680 - i32.store $0 - i32.const 5680 - call $~lib/util/string/strtod - f64.const 1e-10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 192 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5728 - i32.store $0 - i32.const 5728 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 193 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5776 - i32.store $0 - i32.const 5776 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 194 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5808 - i32.store $0 - i32.const 5808 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 195 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5840 - i32.store $0 - i32.const 5840 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 196 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5888 - i32.store $0 - i32.const 5888 - call $~lib/util/string/strtod - f64.const 123456789 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 197 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5936 - i32.store $0 - i32.const 5936 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 198 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 5984 - i32.store $0 - i32.const 5984 - call $~lib/util/string/strtod - f64.const 1e-60 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 200 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6016 - i32.store $0 - i32.const 6016 - call $~lib/util/string/strtod - f64.const 1.e+60 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 201 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6048 - i32.store $0 - i32.const 6048 - call $~lib/util/string/strtod - f64.const 123.4 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 204 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6080 - i32.store $0 - i32.const 6080 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 205 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6112 - i32.store $0 - i32.const 6112 - call $~lib/util/string/strtod - f64.const -1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 206 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6160 - i32.store $0 - i32.const 6160 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 207 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6208 - i32.store $0 - i32.const 6208 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 208 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6256 - i32.store $0 - i32.const 6256 - call $~lib/util/string/strtod - f64.const 0.022 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 209 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6304 - i32.store $0 - i32.const 6304 - call $~lib/util/string/strtod - f64.const 11 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 210 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3808 - i32.store $0 - i32.const 3808 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 211 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6336 - i32.store $0 - i32.const 6336 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 212 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6368 - i32.store $0 - i32.const 6368 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 213 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6400 - i32.store $0 - i32.const 6400 - call $~lib/util/string/strtod - f64.const 1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 214 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6432 - i32.store $0 - i32.const 6432 - call $~lib/util/string/strtod - f64.const -1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 215 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6464 - i32.store $0 - i32.const 6464 - call $~lib/util/string/strtod - f64.const -1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 216 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6496 - i32.store $0 - i32.const 6496 - call $~lib/util/string/strtod - f64.const -1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 217 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6528 - i32.store $0 - i32.const 6528 - call $~lib/util/string/strtod - f64.const -1.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 218 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6560 - i32.store $0 - i32.const 6560 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 219 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6592 - i32.store $0 - i32.const 6592 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 220 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6624 - i32.store $0 - i32.const 6624 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 221 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6656 - i32.store $0 - i32.const 6656 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 222 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6688 - i32.store $0 - i32.const 6688 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 223 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6720 - i32.store $0 - i32.const 6720 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 224 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6752 - i32.store $0 - i32.const 6752 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 225 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6800 - i32.store $0 - i32.const 6800 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 226 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6832 - i32.store $0 - i32.const 6832 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 227 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6864 - i32.store $0 - i32.const 6864 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 228 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6896 - i32.store $0 - i32.const 6896 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 229 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6928 - i32.store $0 - i32.const 6928 - call $~lib/util/string/strtod - f64.const 10 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 230 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6960 - i32.store $0 - i32.const 6960 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 231 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 6992 - i32.store $0 - i32.const 6992 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 232 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store $0 - i32.const 7024 - call $~lib/util/string/strtod - f64.const 0.01 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 233 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7072 - i32.store $0 - i32.const 7072 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 234 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7104 - i32.store $0 - i32.const 7104 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 235 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7136 - i32.store $0 - i32.const 7136 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 236 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7168 - i32.store $0 - i32.const 7168 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 237 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7200 - i32.store $0 - i32.const 7200 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 238 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7232 - i32.store $0 - i32.const 7232 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 239 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7264 - i32.store $0 - i32.const 7264 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 240 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7296 - i32.store $0 - i32.const 7296 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 241 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7328 - i32.store $0 - i32.const 7328 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 242 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7360 - i32.store $0 - i32.const 7360 - call $~lib/util/string/strtod - i64.reinterpret_f64 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 1120 - i32.const 243 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7392 - i32.store $0 - i32.const 7392 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.ne - i32.const 0 - i32.and - local.get $1 - i64.reinterpret_f64 - i64.const -9223372036854775808 - i64.eq - i32.or - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 244 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7424 - i32.store $0 - i32.const 7424 - call $~lib/util/string/strtod - i64.reinterpret_f64 - i64.const 0 - i64.ne - if - i32.const 0 - i32.const 1120 - i32.const 245 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3968 - i32.store $0 - i32.const 3968 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.ne - i32.const 0 - i32.and - local.get $1 - i64.reinterpret_f64 - i64.const -9223372036854775808 - i64.eq - i32.or - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 246 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7456 - i32.store $0 - i32.const 7456 - call $~lib/util/string/strtod - i64.reinterpret_f64 - i64.const -9223372036854775808 - i64.ne - if - i32.const 0 - i32.const 1120 - i32.const 247 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 - i32.const 4592 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 248 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 - i32.const 4560 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 249 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7504 - i32.store $0 - i32.const 7504 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 250 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7536 - i32.store $0 - i32.const 7536 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 251 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7568 - i32.store $0 - i32.const 7568 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 252 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7600 - i32.store $0 - i32.const 7600 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 253 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7632 - i32.store $0 - i32.const 7632 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 254 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7664 - i32.store $0 - i32.const 7664 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 255 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7696 - i32.store $0 - i32.const 7696 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 256 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7728 - i32.store $0 - i32.const 7728 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 257 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7760 - i32.store $0 - i32.const 7760 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 258 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7792 - i32.store $0 - i32.const 7792 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 259 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7824 - i32.store $0 - i32.const 7824 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 260 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7856 - i32.store $0 - i32.const 7856 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 261 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7888 - i32.store $0 - i32.const 7888 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 262 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 3360 - i32.store $0 - i32.const 3360 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 263 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7920 - i32.store $0 - i32.const 7920 - call $~lib/util/string/strtod - f64.const 1e22 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 264 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7952 - i32.store $0 - i32.const 7952 - call $~lib/util/string/strtod - f64.const 1e-22 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 265 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 7984 - i32.store $0 - i32.const 7984 - call $~lib/util/string/strtod - f64.const 1.e+23 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 266 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8016 - i32.store $0 - i32.const 8016 - call $~lib/util/string/strtod - f64.const 1e-23 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 267 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8048 - i32.store $0 - i32.const 8048 - call $~lib/util/string/strtod - f64.const 1.e+37 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 268 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8080 - i32.store $0 - i32.const 8080 - call $~lib/util/string/strtod - f64.const 1e-37 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 269 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8112 - i32.store $0 - i32.const 8112 - call $~lib/util/string/strtod - f64.const 1.e+38 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 270 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8144 - i32.store $0 - i32.const 8144 - call $~lib/util/string/strtod - f64.const 1e-38 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 271 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8176 - i32.store $0 - i32.const 8176 - call $~lib/util/string/strtod - f64.const 2.220446049250313e-16 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 272 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8240 - i32.store $0 - i32.const 8240 - call $~lib/util/string/strtod - f64.const 1797693134862315708145274e284 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 273 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8320 - i32.store $0 - i32.const 8320 - call $~lib/util/string/strtod - f64.const 5e-324 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 274 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8352 - i32.store $0 - i32.const 8352 - call $~lib/util/string/strtod - f64.const 1.e+308 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 275 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8400 - i32.store $0 - i32.const 8400 - call $~lib/util/string/strtod - f64.const 1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 276 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8544 - i32.store $0 - i32.const 8544 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 277 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8592 - i32.store $0 - i32.const 8592 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 278 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8640 - i32.store $0 - i32.const 8640 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 279 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8688 - i32.store $0 - i32.const 8688 - call $~lib/util/string/strtod - f64.const -inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 280 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8736 - i32.store $0 - i32.const 8736 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 281 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8784 - i32.store $0 - i32.const 8784 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 282 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8832 - i32.store $0 - i32.const 8832 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 283 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8864 - i32.store $0 - i32.const 8864 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 284 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8912 - i32.store $0 - i32.const 8912 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 285 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 8960 - i32.store $0 - i32.const 8960 - call $~lib/util/string/strtod - f64.const -inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 286 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9008 - i32.store $0 - i32.const 9008 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 287 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9056 - i32.store $0 - i32.const 9056 - call $~lib/util/string/strtod - f64.const inf - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 288 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9104 - i32.store $0 - i32.const 9104 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 289 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9136 - i32.store $0 - i32.const 9136 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 290 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9184 - i32.store $0 - i32.const 9184 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 291 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9232 - i32.store $0 - i32.const 9232 - call $~lib/util/string/strtod - f64.const 0 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 295 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9424 - i32.store $0 - i32.const 9424 - call $~lib/util/string/strtod - f64.const 1e-323 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 308 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 - i32.const 9616 - call $~lib/util/string/strtod - f64.const 2.225073858507202e-308 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 312 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 9808 - i32.store $0 offset=72 - local.get $0 - i32.const 9968 - i32.store $0 offset=76 - i32.const 9808 - i32.const 9968 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=64 - global.get $~lib/memory/__stack_pointer - i32.const 10128 - i32.store $0 offset=68 - local.get $0 - i32.const 10128 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 10288 - i32.store $0 offset=16 - local.get $0 - i32.const 10288 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10448 - i32.store $0 offset=8 - local.get $0 - i32.const 10448 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - local.get $0 - call $~lib/util/string/strtod - f64.const 1797693134862315708145274e284 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 315 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 10608 - i32.store $0 - i32.const 10608 - call $~lib/util/string/strtod - f64.const 9.753531888799502e-104 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 333 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 10720 - i32.store $0 - i32.const 10720 - call $~lib/util/string/strtod - f64.const 0.5961860348131807 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 334 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 10832 - i32.store $0 - i32.const 10832 - call $~lib/util/string/strtod - f64.const 0.18150131692180388 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 335 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 10944 - i32.store $0 - i32.const 10944 - call $~lib/util/string/strtod - f64.const 0.42070823575344535 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 336 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11056 - i32.store $0 - i32.const 11056 - call $~lib/util/string/strtod - f64.const 0.6654686306516261 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 337 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11168 - i32.store $0 - i32.const 11168 - call $~lib/util/string/strtod - f64.const 0.6101852922970868 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 338 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11280 - i32.store $0 - i32.const 11280 - call $~lib/util/string/strtod - f64.const 0.7696695208236968 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 339 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11392 - i32.store $0 - i32.const 11392 - call $~lib/util/string/strtod - f64.const 0.25050653222286823 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 340 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11504 - i32.store $0 - i32.const 11504 - call $~lib/util/string/strtod - f64.const 0.2740037230228005 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 341 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11616 - i32.store $0 - i32.const 11616 - call $~lib/util/string/strtod - f64.const 0.20723093500497428 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 342 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11728 - i32.store $0 - i32.const 11728 - call $~lib/util/string/strtod - f64.const 7.900280238081605 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 343 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11840 - i32.store $0 - i32.const 11840 - call $~lib/util/string/strtod - f64.const 98.22860653737297 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 344 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 11952 - i32.store $0 - i32.const 11952 - call $~lib/util/string/strtod - f64.const 746.894972319037 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 345 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12064 - i32.store $0 - i32.const 12064 - call $~lib/util/string/strtod - f64.const 1630.2683202827284 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 346 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12176 - i32.store $0 - i32.const 12176 - call $~lib/util/string/strtod - f64.const 46371.68629719171 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 347 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 - i32.const 12288 - call $~lib/util/string/strtod - f64.const 653780.5944497711 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 348 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12400 - i32.store $0 - i32.const 12400 - call $~lib/util/string/strtod - f64.const 234632.43565024371 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 349 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12512 - i32.store $0 - i32.const 12512 - call $~lib/util/string/strtod - f64.const 97094817.16420048 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 350 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12624 - i32.store $0 - i32.const 12624 - call $~lib/util/string/strtod - f64.const 499690852.20518744 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 351 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12736 - i32.store $0 - i32.const 12736 - call $~lib/util/string/strtod - f64.const 7925201200557245595648 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 352 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12848 - i32.store $0 - i32.const 12848 - call $~lib/util/string/strtod - f64.const 6096564585983177528398588e5 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 353 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 - i32.const 12960 - call $~lib/util/string/strtod - f64.const 4800416117477028695992383e42 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 354 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13072 - i32.store $0 - i32.const 13072 - call $~lib/util/string/strtod - f64.const 8524829079817968137287277e80 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 355 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13184 - i32.store $0 - i32.const 13184 - call $~lib/util/string/strtod - f64.const 3271239291709782092398754e243 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 356 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13296 - i32.store $0 - i32.const 13296 - call $~lib/util/string/strtod - local.tee $1 - local.get $1 - f64.eq - if - i32.const 0 - i32.const 1120 - i32.const 359 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13328 - i32.store $0 - i32.const 13328 - call $~lib/util/string/strtod - f64.const 0.1 - f64.ne - if - i32.const 0 - i32.const 1120 - i32.const 360 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 13360 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - i32.const 13360 - call $~lib/string/String#concat - local.tee $0 - i32.store $0 offset=80 - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=4 - local.get $0 - i32.const 13392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 364 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 365 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 367 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 0 - i32.const 0 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 369 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=4 - i32.const 1712 - i32.const 0 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 371 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 0 - i32.const 1712 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 373 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 13360 - i32.store $0 offset=4 - i32.const 1808 - i32.const 13360 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 375 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 - i32.const 1808 - i32.const 1808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 376 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13424 - i32.store $0 - local.get $0 - i32.const 13456 - i32.store $0 offset=4 - i32.const 13424 - i32.const 13456 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 378 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13424 - i32.store $0 - local.get $0 - i32.const 13424 - i32.store $0 offset=4 - i32.const 13424 - i32.const 13424 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 379 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13488 - i32.store $0 - local.get $0 - i32.const 13520 - i32.store $0 offset=4 - i32.const 13488 - i32.const 13520 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 381 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13552 - i32.store $0 - local.get $0 - i32.const 13584 - i32.store $0 offset=4 - i32.const 13552 - i32.const 13584 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 383 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13616 - i32.store $0 - local.get $0 - i32.const 13616 - i32.store $0 offset=4 - i32.const 13616 - i32.const 13616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 384 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13616 - i32.store $0 - local.get $0 - i32.const 13664 - i32.store $0 offset=4 - i32.const 13616 - i32.const 13664 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 386 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13712 - i32.store $0 - local.get $0 - i32.const 13760 - i32.store $0 offset=4 - i32.const 13712 - i32.const 13760 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 388 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13360 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 - i32.const 13360 - i32.const 1808 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 390 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 1808 - i32.store $0 offset=4 - i32.const 13808 - i32.const 1808 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 391 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13840 - i32.store $0 offset=4 - i32.const 13808 - i32.const 13840 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 392 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13392 - i32.store $0 offset=4 - i32.const 13808 - i32.const 13392 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 393 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13808 - i32.store $0 - local.get $0 - i32.const 13392 - i32.store $0 offset=4 - i32.const 13808 - i32.const 13392 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 394 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 2336 - i32.const 1712 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 396 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 1712 - i32.const 2336 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 397 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 2336 - i32.const 1712 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 398 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 1712 - i32.const 2336 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 399 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 2336 - i32.const 1712 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 400 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2336 - i32.store $0 offset=4 - i32.const 1712 - i32.const 2336 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 401 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 402 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 403 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 404 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1712 - i32.const 1712 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 405 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3456 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 - i32.const 3456 - i32.const 13872 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 407 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 3456 - i32.store $0 offset=4 - i32.const 13872 - i32.const 3456 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 408 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13872 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 409 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13872 - i32.const 13904 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 410 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13872 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 411 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13872 - i32.const 13904 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 412 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13904 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 413 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13904 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 414 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13904 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 415 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13904 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 416 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13936 - i32.store $0 offset=4 - i32.const 13872 - i32.const 13936 - call $~lib/string/String.__lt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 417 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13936 - i32.store $0 - local.get $0 - i32.const 13872 - i32.store $0 offset=4 - i32.const 13936 - i32.const 13872 - call $~lib/string/String.__lt - if - i32.const 0 - i32.const 1120 - i32.const 418 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13872 - i32.store $0 - local.get $0 - i32.const 13936 - i32.store $0 offset=4 - i32.const 13872 - i32.const 13936 - call $~lib/string/String.__gt - if - i32.const 0 - i32.const 1120 - i32.const 419 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 3456 - i32.store $0 - local.get $0 - i32.const 3456 - i32.store $0 offset=4 - i32.const 3456 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 420 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13904 - i32.store $0 - local.get $0 - i32.const 13904 - i32.store $0 offset=4 - i32.const 13904 - i32.const 13904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 421 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2400 - i32.store $0 - local.get $0 - i32.const 2400 - i32.store $0 offset=4 - i32.const 2400 - i32.const 2400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 422 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2400 - i32.store $0 - local.get $0 - i32.const 13968 - i32.store $0 offset=4 - i32.const 2400 - i32.const 13968 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 424 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14000 - i32.store $0 - local.get $0 - i32.const 14000 - i32.store $0 offset=4 - i32.const 14000 - i32.const 14000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 425 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14032 - i32.store $0 - local.get $0 - i32.const 14000 - i32.store $0 offset=4 - i32.const 14032 - i32.const 14000 - call $~lib/string/String.__eq - if - i32.const 0 - i32.const 1120 - i32.const 427 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 65377 - call $~lib/string/String.fromCodePoint - local.tee $3 - i32.store $0 offset=84 - global.get $~lib/memory/__stack_pointer - local.set $4 - i32.const 55296 - call $~lib/string/String.fromCodePoint - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - i32.const 56322 - call $~lib/string/String.fromCodePoint - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - local.get $4 - local.get $5 - local.get $0 - call $~lib/string/String#concat - local.tee $0 - i32.store $0 offset=88 - local.get $3 - local.get $0 - call $~lib/string/String.__gt - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 432 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 2400 - i32.store $0 - i32.const 2396 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1120 - i32.const 435 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=8 - i32.const 1712 - i32.const 100 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 437 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 0 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 438 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 1 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 439 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 2 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13840 - i32.store $0 offset=4 - local.get $0 - i32.const 13840 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 440 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 3 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14112 - i32.store $0 offset=4 - local.get $0 - i32.const 14112 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 441 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=8 - i32.const 13392 - i32.const 4 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14144 - i32.store $0 offset=4 - local.get $0 - i32.const 14144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 442 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 5 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14192 - i32.store $0 offset=4 - local.get $0 - i32.const 14192 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 443 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 6 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14224 - i32.store $0 offset=4 - local.get $0 - i32.const 14224 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 444 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 1808 - i32.store $0 offset=8 - i32.const 1808 - i32.const 7 - call $~lib/string/String#repeat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14256 - i32.store $0 offset=4 - local.get $0 - i32.const 14256 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 445 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1712 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 447 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 1712 - i32.const 1712 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 448 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 4592 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 4592 - i32.const 4592 - i32.const 1712 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 449 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 4592 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 450 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 4560 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 451 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 2336 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 452 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2912 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 2912 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 453 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 13392 - i32.store $0 offset=16 - i32.const 2336 - i32.const 13392 - i32.const 13392 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 454 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14304 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 14304 - i32.const 4560 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14336 - i32.store $0 offset=4 - local.get $0 - i32.const 14336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 455 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 1712 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=4 - local.get $0 - i32.const 14368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 456 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14400 - i32.store $0 offset=8 - local.get $0 - i32.const 14432 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 14400 - i32.const 14432 - i32.const 4592 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14368 - i32.store $0 offset=4 - local.get $0 - i32.const 14368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 457 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14464 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 - i32.const 2336 - i32.const 14464 - i32.const 14496 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14528 - i32.store $0 offset=4 - local.get $0 - i32.const 14528 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 458 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14464 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 2336 - i32.const 14464 - i32.const 1712 - call $~lib/string/String#replace - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 13392 - i32.store $0 offset=4 - local.get $0 - i32.const 13392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 459 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 2336 - i32.store $0 offset=16 - i32.const 1712 - i32.const 1712 - i32.const 2336 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 461 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 4560 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 462 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2544 - i32.const 2336 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14496 - i32.store $0 offset=4 - local.get $0 - i32.const 14496 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 464 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14560 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 14560 - i32.const 2336 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14608 - i32.store $0 offset=4 - local.get $0 - i32.const 14608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 465 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 13392 - i32.store $0 offset=16 - i32.const 2544 - i32.const 13392 - i32.const 13392 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2544 - i32.store $0 offset=4 - local.get $0 - i32.const 2544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 466 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14640 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 14608 - i32.store $0 offset=16 - i32.const 14640 - i32.const 1808 - i32.const 14608 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14688 - i32.store $0 offset=4 - local.get $0 - i32.const 14688 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 467 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2544 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 - i32.const 2544 - i32.const 13392 - i32.const 14496 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14736 - i32.store $0 offset=4 - local.get $0 - i32.const 14736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 468 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14768 - i32.store $0 offset=8 - local.get $0 - i32.const 14800 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 - i32.const 14768 - i32.const 14800 - i32.const 14496 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14832 - i32.store $0 offset=4 - local.get $0 - i32.const 14832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 469 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2912 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 2912 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 470 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2912 - i32.store $0 offset=8 - local.get $0 - i32.const 14864 - i32.store $0 offset=12 - local.get $0 - i32.const 14496 - i32.store $0 offset=16 - i32.const 2912 - i32.const 14864 - i32.const 14496 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2912 - i32.store $0 offset=4 - local.get $0 - i32.const 2912 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 471 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 14896 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 14896 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14928 - i32.store $0 offset=4 - local.get $0 - i32.const 14928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 472 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13392 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 13392 - i32.const 13392 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 473 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14304 - i32.store $0 offset=8 - local.get $0 - i32.const 4560 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 14304 - i32.const 4560 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14960 - i32.store $0 offset=4 - local.get $0 - i32.const 14960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 474 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 1712 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 476 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 1712 - i32.const 1712 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 477 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 4592 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 4592 - i32.const 4592 - i32.const 1712 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 478 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 4592 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 4592 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $0 - i32.const 4592 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 479 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2336 - i32.store $0 offset=12 - local.get $0 - i32.const 4560 - i32.store $0 offset=16 - i32.const 2336 - i32.const 2336 - i32.const 4560 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 offset=4 - local.get $0 - i32.const 4560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 480 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 2816 - i32.store $0 offset=12 - local.get $0 - i32.const 4560 - i32.store $0 offset=16 - i32.const 2336 - i32.const 2816 - i32.const 4560 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 481 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 4592 - i32.store $0 offset=16 - i32.const 2336 - i32.const 1712 - i32.const 4592 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 14992 - i32.store $0 offset=4 - local.get $0 - i32.const 14992 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 482 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - local.get $0 - i32.const 1712 - i32.store $0 offset=16 - i32.const 2336 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2336 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 483 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15040 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 15072 - i32.store $0 offset=16 - i32.const 15040 - i32.const 1808 - i32.const 15072 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15104 - i32.store $0 offset=4 - local.get $0 - i32.const 15104 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 486 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 13392 - i32.store $0 offset=8 - local.get $0 - i32.const 13392 - i32.store $0 offset=12 - local.get $0 - i32.const 15152 - i32.store $0 offset=16 - i32.const 13392 - i32.const 13392 - i32.const 15152 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15152 - i32.store $0 offset=4 - local.get $0 - i32.const 15152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 487 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14112 - i32.store $0 offset=8 - local.get $0 - i32.const 1808 - i32.store $0 offset=12 - local.get $0 - i32.const 15184 - i32.store $0 offset=16 - i32.const 14112 - i32.const 1808 - i32.const 15184 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15216 - i32.store $0 offset=4 - local.get $0 - i32.const 15216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 488 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 14112 - i32.store $0 offset=8 - local.get $0 - i32.const 13840 - i32.store $0 offset=12 - local.get $0 - i32.const 15072 - i32.store $0 offset=16 - i32.const 14112 - i32.const 13840 - i32.const 15072 - call $~lib/string/String#replaceAll - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15264 - i32.store $0 offset=4 - local.get $0 - i32.const 15264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 489 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 15296 - global.set $std/string/str - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=8 - i32.const 1 - global.set $~argumentsLength - i32.const 15296 - i32.const 0 - call $~lib/string/String#slice@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 493 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/string/String#slice@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 offset=4 - local.get $0 - i32.const 15344 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 494 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -5 - call $~lib/string/String#slice@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store $0 offset=4 - local.get $0 - i32.const 15376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 495 - 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 $0 offset=8 - local.get $0 - i32.const 2 - i32.const 7 - call $~lib/string/String#slice - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 offset=4 - local.get $0 - i32.const 15408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 496 - 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 $0 offset=8 - local.get $0 - i32.const -11 - i32.const -6 - call $~lib/string/String#slice - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15440 - i32.store $0 offset=4 - local.get $0 - i32.const 15440 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 497 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const 3 - call $~lib/string/String#slice - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 498 - 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 $0 offset=8 - local.get $0 - i32.const 0 - i32.const -1 - call $~lib/string/String#slice - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store $0 offset=4 - local.get $0 - i32.const 15472 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 499 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 0 - call $~lib/string/String#substr@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 501 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/string/String#substr@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 offset=4 - local.get $0 - i32.const 15344 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 502 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -5 - call $~lib/string/String#substr@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store $0 offset=4 - local.get $0 - i32.const 15376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 503 - 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 $0 offset=8 - local.get $0 - i32.const 2 - i32.const 7 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15520 - i32.store $0 offset=4 - local.get $0 - i32.const 15520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 504 - 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 $0 offset=8 - local.get $0 - i32.const -11 - i32.const -6 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 505 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const 3 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15568 - i32.store $0 offset=4 - local.get $0 - i32.const 15568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 506 - 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 $0 offset=8 - local.get $0 - i32.const 0 - i32.const -1 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 507 - 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 $0 offset=8 - local.get $0 - i32.const 0 - i32.const 100 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 508 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const 4 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store $0 offset=4 - local.get $0 - i32.const 15600 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 509 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const -3 - call $~lib/string/String#substr - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 510 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 0 - call $~lib/string/String#substring@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 512 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -1 - call $~lib/string/String#substring@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 513 - 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 $0 offset=8 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const -5 - call $~lib/string/String#substring@varargs - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 514 - 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 $0 offset=8 - local.get $0 - i32.const 2 - i32.const 7 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 offset=4 - local.get $0 - i32.const 15408 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 515 - 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 $0 offset=8 - local.get $0 - i32.const -11 - i32.const -6 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 516 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const 3 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15632 - i32.store $0 offset=4 - local.get $0 - i32.const 15632 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 517 - 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 $0 offset=8 - local.get $0 - i32.const 0 - i32.const -1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 518 - 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 $0 offset=8 - local.get $0 - i32.const 0 - i32.const 100 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 15296 - i32.store $0 offset=4 - local.get $0 - i32.const 15296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 519 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const 4 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 520 - 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 $0 offset=8 - local.get $0 - i32.const 4 - i32.const -3 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 2912 - i32.store $0 offset=4 - local.get $0 - i32.const 2912 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 521 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - i32.const 0 - global.set $~argumentsLength - local.get $0 - i32.const 1712 - i32.const 0 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1712 - i32.store $0 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 527 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1120 - i32.const 529 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 1712 - i32.const 2624 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1712 - i32.store $0 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 531 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 7632 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 15840 - i32.const 7632 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 15840 - i32.store $0 offset=4 - local.get $0 - i32.const 15840 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 533 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 15840 - i32.const 2624 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 535 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15872 - i32.store $0 - local.get $0 - i32.const 15920 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 15872 - i32.const 15920 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 537 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15952 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 15952 - i32.const 2624 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 offset=12 - i32.const 4 - i32.eq - if (result i32) - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1712 - i32.store $0 offset=4 - local.get $3 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 539 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15984 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 15984 - i32.const 2624 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 offset=12 - i32.const 4 - i32.eq - if (result i32) - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1712 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - i32.const 1808 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 16016 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 16016 - i32.const 2624 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 offset=12 - i32.const 4 - i32.eq - if (result i32) - local.get $0 - i32.const 0 - call $~lib/array/Array<~lib/string/String>#__get - local.set $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 14464 - i32.store $0 offset=4 - local.get $3 - i32.const 14464 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1712 - i32.store $0 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 543 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - i32.const 1 - global.set $~argumentsLength - local.get $0 - i32.const 2336 - i32.const 1712 - call $~lib/string/String#split@varargs - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 545 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - i32.const 1712 - i32.const 0 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 offset=12 - if - i32.const 0 - i32.const 1120 - i32.const 547 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - i32.const 1712 - i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 549 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $0 - i32.const 15840 - i32.const 2624 - i32.const 1 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 1808 - i32.store $0 offset=4 - local.get $0 - i32.const 1808 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 551 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - i32.const 1712 - i32.const 4 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 553 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 2336 - i32.store $0 - local.get $0 - i32.const 1712 - i32.store $0 offset=4 - local.get $0 - i32.const 2336 - i32.const 1712 - i32.const -1 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 555 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 15840 - i32.store $0 - local.get $0 - i32.const 2624 - i32.store $0 offset=4 - local.get $0 - i32.const 15840 - i32.const 2624 - i32.const -1 - call $~lib/string/String#split - local.tee $0 - i32.store $0 offset=92 - local.get $0 - i32.load $0 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 1808 - i32.store $0 offset=4 - local.get $3 - 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 $3 - global.get $~lib/memory/__stack_pointer - local.tee $4 - local.get $3 - i32.store $0 - local.get $4 - i32.const 13360 - i32.store $0 offset=4 - local.get $3 - i32.const 13360 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - else - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 557 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 562 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3456 - i32.store $0 offset=4 - local.get $0 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 563 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17792 - i32.store $0 offset=4 - local.get $0 - i32.const 17792 - 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 12 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17824 - i32.store $0 offset=4 - local.get $0 - i32.const 17824 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 565 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 2400 - i32.store $0 offset=4 - local.get $0 - i32.const 2400 - 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 -1000 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17856 - i32.store $0 offset=4 - local.get $0 - i32.const 17856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 567 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14000 - i32.store $0 offset=4 - local.get $0 - i32.const 14000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 568 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17888 - i32.store $0 offset=4 - local.get $0 - i32.const 17888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 569 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17920 - i32.store $0 offset=4 - local.get $0 - i32.const 17920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 570 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17952 - i32.store $0 offset=4 - local.get $0 - i32.const 17952 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 571 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18000 - i32.store $0 offset=4 - local.get $0 - i32.const 18000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 572 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18048 - i32.store $0 offset=4 - local.get $0 - i32.const 18048 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 573 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18096 - i32.store $0 offset=4 - local.get $0 - i32.const 18096 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 574 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18144 - i32.store $0 offset=4 - local.get $0 - i32.const 18144 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 575 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18192 - i32.store $0 offset=4 - local.get $0 - i32.const 18192 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 576 - i32.const 1 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18240 - i32.store $0 offset=4 - local.get $0 - i32.const 18240 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 577 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18288 - i32.store $0 offset=4 - local.get $0 - i32.const 18288 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 578 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -128 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18320 - i32.store $0 offset=4 - local.get $0 - i32.const 18320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 580 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -32768 - i32.const 10 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18352 - i32.store $0 offset=4 - local.get $0 - i32.const 18352 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 581 - i32.const 1 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18240 - i32.store $0 offset=4 - local.get $0 - i32.const 18240 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 582 - i32.const 1 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 584 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18384 - i32.store $0 offset=4 - local.get $0 - i32.const 18384 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 585 - 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 - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18192 - i32.store $0 offset=4 - local.get $0 - i32.const 18192 - 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 -2147483648 - i32.const 10 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18416 - i32.store $0 offset=4 - local.get $0 - i32.const 18416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 587 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18464 - i32.store $0 offset=4 - local.get $0 - i32.const 18464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 588 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 592 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3456 - i32.store $0 offset=4 - local.get $0 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 593 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 8 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17792 - i32.store $0 offset=4 - local.get $0 - i32.const 17792 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 594 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 595 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 123 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18512 - i32.store $0 offset=4 - local.get $0 - i32.const 18512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 596 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1234 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18544 - i32.store $0 offset=4 - local.get $0 - i32.const 18544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 597 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12345 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18576 - i32.store $0 offset=4 - local.get $0 - i32.const 18576 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 598 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 123456 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18608 - i32.store $0 offset=4 - local.get $0 - i32.const 18608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 599 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1111111 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18640 - i32.store $0 offset=4 - local.get $0 - i32.const 18640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 600 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1234567 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18672 - i32.store $0 offset=4 - local.get $0 - i32.const 18672 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 601 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 12345678 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18704 - i32.store $0 offset=4 - local.get $0 - i32.const 18704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 602 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 123456789 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18736 - i32.store $0 offset=4 - local.get $0 - i32.const 18736 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 603 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483646 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18784 - i32.store $0 offset=4 - local.get $0 - i32.const 18784 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 604 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18832 - i32.store $0 offset=4 - local.get $0 - i32.const 18832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 605 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18880 - i32.store $0 offset=4 - local.get $0 - i32.const 18880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 606 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 16 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18928 - i32.store $0 offset=4 - local.get $0 - i32.const 18928 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 607 - 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.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 609 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -4096 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17856 - i32.store $0 offset=4 - local.get $0 - i32.const 17856 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 610 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 2147483647 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18832 - i32.store $0 offset=4 - local.get $0 - i32.const 18832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 611 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483647 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18976 - i32.store $0 offset=4 - local.get $0 - i32.const 18976 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 612 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -268435455 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19024 - i32.store $0 offset=4 - local.get $0 - i32.const 19024 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 613 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19072 - i32.store $0 offset=4 - local.get $0 - i32.const 19072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 614 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2147483648 - i32.const 16 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19072 - i32.store $0 offset=4 - local.get $0 - i32.const 19072 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 615 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 619 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3456 - i32.store $0 offset=4 - local.get $0 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 620 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 13904 - i32.store $0 offset=4 - local.get $0 - i32.const 13904 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 621 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 7 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19120 - i32.store $0 offset=4 - local.get $0 - i32.const 19120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 622 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 14 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19152 - i32.store $0 offset=4 - local.get $0 - i32.const 19152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 623 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 29 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19184 - i32.store $0 offset=4 - local.get $0 - i32.const 19184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 624 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 59 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19216 - i32.store $0 offset=4 - local.get $0 - i32.const 19216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 625 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 4095 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19248 - i32.store $0 offset=4 - local.get $0 - i32.const 19248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 626 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 33554431 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19296 - i32.store $0 offset=4 - local.get $0 - i32.const 19296 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 627 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -12 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19376 - i32.store $0 offset=4 - local.get $0 - i32.const 19376 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 628 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -4 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19472 - i32.store $0 offset=4 - local.get $0 - i32.const 19472 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 629 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19568 - i32.store $0 offset=4 - local.get $0 - i32.const 19568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 630 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 2 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19664 - i32.store $0 offset=4 - local.get $0 - i32.const 19664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 631 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -2047 - i32.const 2 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19760 - i32.store $0 offset=4 - local.get $0 - i32.const 19760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 633 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 3 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19808 - i32.store $0 offset=4 - local.get $0 - i32.const 19808 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 637 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 4 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19872 - i32.store $0 offset=4 - local.get $0 - i32.const 19872 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 638 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 5 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19936 - i32.store $0 offset=4 - local.get $0 - i32.const 19936 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 639 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 8 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19984 - i32.store $0 offset=4 - local.get $0 - i32.const 19984 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 640 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 11 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20032 - i32.store $0 offset=4 - local.get $0 - i32.const 20032 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 641 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 15 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20080 - i32.store $0 offset=4 - local.get $0 - i32.const 20080 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 642 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 17 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20128 - i32.store $0 offset=4 - local.get $0 - i32.const 20128 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 643 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 21 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20176 - i32.store $0 offset=4 - local.get $0 - i32.const 20176 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 644 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 27 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20224 - i32.store $0 offset=4 - local.get $0 - i32.const 20224 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 645 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 32 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20272 - i32.store $0 offset=4 - local.get $0 - i32.const 20272 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 646 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - i32.const 36 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20320 - i32.store $0 offset=4 - local.get $0 - i32.const 20320 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 647 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 651 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 12 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17824 - i32.store $0 offset=4 - local.get $0 - i32.const 17824 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 652 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 123 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 2400 - i32.store $0 offset=4 - local.get $0 - i32.const 2400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 653 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1234 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14000 - i32.store $0 offset=4 - local.get $0 - i32.const 14000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 654 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 12345 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17888 - i32.store $0 offset=4 - local.get $0 - i32.const 17888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 655 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 123456 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 17920 - i32.store $0 offset=4 - local.get $0 - i32.const 17920 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 656 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1234567 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18000 - i32.store $0 offset=4 - local.get $0 - i32.const 18000 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 657 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 99999999 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20368 - i32.store $0 offset=4 - local.get $0 - i32.const 20368 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 658 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 100000000 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20416 - i32.store $0 offset=4 - local.get $0 - i32.const 20416 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 659 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18464 - i32.store $0 offset=4 - local.get $0 - i32.const 18464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 660 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967297 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20464 - i32.store $0 offset=4 - local.get $0 - i32.const 20464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 661 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20512 - i32.store $0 offset=4 - local.get $0 - i32.const 20512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 662 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20560 - i32.store $0 offset=4 - local.get $0 - i32.const 20560 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 663 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 8687194767350 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20608 - i32.store $0 offset=4 - local.get $0 - i32.const 20608 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 664 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 86871947673501 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20656 - i32.store $0 offset=4 - local.get $0 - i32.const 20656 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 665 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20704 - i32.store $0 offset=4 - local.get $0 - i32.const 20704 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 666 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20768 - i32.store $0 offset=4 - local.get $0 - i32.const 20768 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 667 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 19999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20832 - i32.store $0 offset=4 - local.get $0 - i32.const 20832 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 668 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 129999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20896 - i32.store $0 offset=4 - local.get $0 - i32.const 20896 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 669 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1239999868719476735 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20960 - i32.store $0 offset=4 - local.get $0 - i32.const 20960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 670 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 10 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21024 - i32.store $0 offset=4 - local.get $0 - i32.const 21024 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 671 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 673 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1234 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21088 - i32.store $0 offset=4 - local.get $0 - i32.const 21088 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 674 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18464 - i32.store $0 offset=4 - local.get $0 - i32.const 18464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 675 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967297 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20464 - i32.store $0 offset=4 - local.get $0 - i32.const 20464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 676 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -4294967295 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21120 - i32.store $0 offset=4 - local.get $0 - i32.const 21120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 677 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 68719476735 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 20512 - i32.store $0 offset=4 - local.get $0 - i32.const 20512 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 678 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -68719476735 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21168 - i32.store $0 offset=4 - local.get $0 - i32.const 21168 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 679 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -868719476735 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21216 - i32.store $0 offset=4 - local.get $0 - i32.const 21216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 680 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21264 - i32.store $0 offset=4 - local.get $0 - i32.const 21264 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 681 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -19999868719476735 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21328 - i32.store $0 offset=4 - local.get $0 - i32.const 21328 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 682 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9223372036854775807 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21392 - i32.store $0 offset=4 - local.get $0 - i32.const 21392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 683 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9223372036854775808 - i32.const 10 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21456 - i32.store $0 offset=4 - local.get $0 - i32.const 21456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 684 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 688 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3456 - i32.store $0 offset=4 - local.get $0 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 689 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 12 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 14464 - i32.store $0 offset=4 - local.get $0 - i32.const 14464 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 690 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1234 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18544 - i32.store $0 offset=4 - local.get $0 - i32.const 18544 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 691 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1111111 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 18640 - i32.store $0 offset=4 - local.get $0 - i32.const 18640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 692 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 8589934591 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21520 - i32.store $0 offset=4 - local.get $0 - i32.const 21520 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 693 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 5942249508321 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21568 - i32.store $0 offset=4 - local.get $0 - i32.const 21568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 694 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 76310993685985 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21616 - i32.store $0 offset=4 - local.get $0 - i32.const 21616 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 695 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 920735923817967 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21664 - i32.store $0 offset=4 - local.get $0 - i32.const 21664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 696 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9927935178558959 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21712 - i32.store $0 offset=4 - local.get $0 - i32.const 21712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 697 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 81985529216486895 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21760 - i32.store $0 offset=4 - local.get $0 - i32.const 21760 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 698 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1311768467463790320 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21824 - i32.store $0 offset=4 - local.get $0 - i32.const 21824 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 699 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 9223372036854775807 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21888 - i32.store $0 offset=4 - local.get $0 - i32.const 21888 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 700 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 16 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 21952 - i32.store $0 offset=4 - local.get $0 - i32.const 21952 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 701 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9223372036854775807 - i32.const 16 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22016 - i32.store $0 offset=4 - local.get $0 - i32.const 22016 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 703 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22080 - i32.store $0 offset=4 - local.get $0 - i32.const 22080 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 704 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -9223372036854775808 - i32.const 16 - call $~lib/util/number/itoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22080 - i32.store $0 offset=4 - local.get $0 - i32.const 22080 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 705 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 0 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3392 - i32.store $0 offset=4 - local.get $0 - i32.const 3392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 709 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 1 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 3456 - i32.store $0 offset=4 - local.get $0 - i32.const 3456 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 710 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 7 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19120 - i32.store $0 offset=4 - local.get $0 - i32.const 19120 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 711 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 14 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19152 - i32.store $0 offset=4 - local.get $0 - i32.const 19152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 712 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 59 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19216 - i32.store $0 offset=4 - local.get $0 - i32.const 19216 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 713 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $folding-inner1 + block $folding-inner0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $12 + i32.eqz + br_if $folding-inner0 + local.get $0 + i32.load16_u $0 + local.set $13 + f64.const 1 + local.set $8 + loop $while-continue|0 + local.get $12 + if (result i32) + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $13 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $13 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + local.get $13 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + i32.const 1 + local.get $13 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $13 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $13 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + else + i32.const 0 + end + if + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + local.set $13 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $while-continue|0 + end + end + local.get $12 + i32.eqz + br_if $folding-inner0 + local.get $13 + i32.const 45 + i32.eq + if (result i32) + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + i32.eqz + br_if $folding-inner0 + f64.const -1 + local.set $8 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + else + local.get $13 + i32.const 43 + i32.eq + if (result i32) + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + i32.eqz + br_if $folding-inner0 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + else + local.get $13 + end + end + local.tee $13 + i32.const 73 + i32.eq + local.get $12 + i32.const 8 + i32.ge_s + i32.and + if + local.get $0 + i64.load $0 + i64.const 29555310648492105 + i64.eq + if (result i32) + local.get $0 + i64.load $0 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 $8 + f64.const inf + f64.mul + return + end + br $folding-inner0 + end + local.get $13 + i32.const 46 + i32.ne + local.get $13 + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + i32.and + br_if $folding-inner0 + local.get $0 + local.set $1 + loop $while-continue|1 + local.get $13 + i32.const 48 + i32.eq + if + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + local.set $13 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + br $while-continue|1 + end + end + local.get $12 + i32.const 0 + i32.le_s + br_if $folding-inner1 + local.get $13 + i32.const 46 + i32.eq + if + local.get $0 + local.get $1 + i32.eq + local.set $1 + local.get $0 + i32.const 2 + i32.add + local.set $0 + local.get $1 + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + i32.eqz + i32.and + br_if $folding-inner0 + i32.const 1 + local.set $9 + loop $for-loop|2 + local.get $0 + i32.load16_u $0 + local.tee $13 + i32.const 48 + i32.eq + if + local.get $12 + i32.const 1 + i32.sub + local.set $12 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + local.get $0 + i32.const 2 + i32.add + local.set $0 + br $for-loop|2 + end + end + local.get $12 + i32.const 0 + i32.le_s + br_if $folding-inner1 + local.get $1 + local.get $2 + i32.eqz + i32.and + local.get $13 + i32.const 48 + i32.sub + i32.const 10 + i32.ge_u + i32.and + br_if $folding-inner0 + end + local.get $13 + i32.const 48 + i32.sub + local.set $1 + loop $for-loop|3 + local.get $9 + i32.eqz + local.get $13 + i32.const 46 + i32.eq + i32.and + local.get $1 + i32.const 10 + i32.lt_u + i32.or + if + block $for-break3 + local.get $1 + i32.const 10 + i32.lt_u + if + local.get $3 + i32.const 19 + i32.lt_s + if (result i64) + local.get $1 + i64.extend_i32_u + local.get $11 + i64.const 10 + i64.mul + i64.add + else + local.get $11 + local.get $1 + i32.const 0 + i32.ne + i64.extend_i32_u + i64.or + end + local.set $11 + local.get $3 + i32.const 1 + i32.add + local.set $3 + else + local.get $3 + local.set $2 + i32.const 1 + local.set $9 + end + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + i32.eqz + br_if $for-break3 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + local.tee $13 + i32.const 48 + i32.sub + local.set $1 + br $for-loop|3 + end + end + end + block $~lib/util/string/scientific|inlined.0 + local.get $11 + i64.eqz + local.get $2 + local.get $3 + local.get $9 + select + i32.const 19 + local.get $3 + local.get $3 + i32.const 19 + i32.gt_s + select + i32.sub + block $~lib/util/string/parseExp|inlined.0 (result i32) + i32.const 1 + local.set $9 + i32.const 0 + local.set $13 + i32.const 0 + local.get $0 + i32.load16_u $0 + i32.const 32 + i32.or + i32.const 101 + i32.ne + br_if $~lib/util/string/parseExp|inlined.0 + drop + i32.const 0 + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + 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 $0 + local.tee $1 + i32.const 45 + i32.eq + if (result i32) + i32.const 0 + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + i32.eqz + br_if $~lib/util/string/parseExp|inlined.0 + drop + i32.const -1 + local.set $9 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + else + local.get $1 + i32.const 43 + i32.eq + if (result i32) + i32.const 0 + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + 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 $0 + else + local.get $1 + end + end + local.set $1 + loop $while-continue|4 + local.get $1 + i32.const 48 + i32.eq + if + i32.const 0 + local.get $12 + i32.const 1 + i32.sub + local.tee $12 + 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 $0 + local.set $1 + br $while-continue|4 + end + end + local.get $1 + i32.const 48 + i32.sub + local.set $1 + loop $for-loop|5 + local.get $1 + i32.const 10 + i32.lt_u + i32.const 0 + local.get $12 + select + if + local.get $9 + i32.const 3200 + i32.mul + local.get $13 + i32.const 3200 + i32.ge_s + br_if $~lib/util/string/parseExp|inlined.0 + drop + local.get $13 + i32.const 10 + i32.mul + local.get $1 + i32.add + local.set $13 + local.get $12 + i32.const 1 + i32.sub + local.set $12 + local.get $0 + i32.const 2 + i32.add + local.tee $0 + i32.load16_u $0 + i32.const 48 + i32.sub + local.set $1 + br $for-loop|5 + end + end + local.get $9 + local.get $13 + i32.mul + end + i32.add + local.tee $0 + i32.const -342 + i32.lt_s + i32.or + br_if $~lib/util/string/scientific|inlined.0 + f64.const inf + local.set $10 + local.get $0 + i32.const 308 + i32.gt_s + br_if $~lib/util/string/scientific|inlined.0 + local.get $11 + f64.convert_i64_u + local.set $10 + local.get $0 + i32.eqz + br_if $~lib/util/string/scientific|inlined.0 + local.get $0 + i32.const 37 + i32.le_s + local.get $0 + i32.const 22 + i32.gt_s + i32.and + if + local.get $10 + local.get $0 + i32.const 3 + i32.shl + i32.const 4496 + i32.add + f64.load $0 + f64.mul + local.set $10 + i32.const 22 + local.set $0 + end + local.get $11 + i64.const 9007199254740991 + i64.le_u + if (result i32) + local.get $0 + i32.const 31 + i32.shr_s + local.tee $1 + local.get $0 + local.get $1 + i32.add + i32.xor + i32.const 22 + i32.le_s + else + i32.const 0 + end + 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 4672 + i32.add + f64.load $0 + f64.mul + local.set $10 + 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 4672 + i32.add + f64.load $0 + f64.div + else + local.get $0 + i32.const 0 + i32.lt_s + if (result f64) + local.get $11 + local.get $11 + i64.clz + local.tee $4 + i64.shl + local.set $11 + local.get $0 + i64.extend_i32_s + local.get $4 + i64.sub + local.set $7 + loop $for-loop|6 + local.get $0 + i32.const -14 + i32.le_s + if + local.get $11 + i64.const 6103515625 + i64.rem_u + local.get $11 + i64.const 6103515625 + i64.div_u + local.tee $5 + i64.clz + local.tee $4 + i64.const 18 + i64.sub + i64.shl + f64.convert_i64_u + f64.const 0.00004294967296 + f64.mul + f64.nearest + i64.trunc_sat_f64_u + local.get $5 + local.get $4 + i64.shl + i64.add + local.set $11 + local.get $7 + local.get $4 + i64.sub + local.set $7 + local.get $0 + i32.const 14 + i32.add + local.set $0 + br $for-loop|6 + end + end + local.get $11 + i32.const 0 + local.get $0 + i32.sub + call $~lib/math/ipow32 + i64.extend_i32_s + local.tee $5 + i64.div_u + local.tee $4 + i64.clz + local.set $6 + local.get $11 + local.get $5 + i64.rem_u + f64.convert_i64_u + i64.reinterpret_f64 + local.get $6 + i64.const 52 + i64.shl + i64.add + f64.reinterpret_i64 + local.get $5 + f64.convert_i64_u + f64.div + i64.trunc_sat_f64_u + local.get $4 + local.get $6 + i64.shl + i64.add + f64.convert_i64_u + local.get $7 + local.get $6 + i64.sub + i32.wrap_i64 + call $~lib/math/NativeMath.scalbn + else + local.get $11 + local.get $11 + i64.ctz + local.tee $4 + i64.shr_u + local.set $11 + local.get $4 + local.get $0 + i64.extend_i32_s + i64.add + global.set $~lib/util/string/__fixmulShift + loop $for-loop|7 + local.get $0 + i32.const 13 + i32.ge_s + if + i64.const 32 + local.get $11 + i64.const 32 + i64.shr_u + i64.const 1220703125 + i64.mul + local.get $11 + i64.const 4294967295 + i64.and + i64.const 1220703125 + i64.mul + local.tee $7 + i64.const 32 + i64.shr_u + i64.add + local.tee $6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.clz + i64.extend_i32_u + local.tee $5 + i64.sub + local.tee $4 + global.get $~lib/util/string/__fixmulShift + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $7 + local.get $5 + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + local.get $6 + local.get $5 + i64.shl + local.get $7 + i64.const 4294967295 + i64.and + local.get $4 + i64.shr_u + i64.or + i64.add + local.set $11 + local.get $0 + i32.const 13 + i32.sub + local.set $0 + br $for-loop|7 + end + end + local.get $0 + call $~lib/math/ipow32 + i64.extend_i32_u + local.tee $4 + local.get $11 + i64.const 4294967295 + i64.and + i64.mul + local.set $7 + i64.const 32 + local.get $11 + i64.const 32 + i64.shr_u + local.get $4 + i64.mul + local.get $7 + i64.const 32 + i64.shr_u + i64.add + local.tee $6 + i64.const 32 + i64.shr_u + i32.wrap_i64 + i32.clz + i64.extend_i32_u + local.tee $5 + i64.sub + local.tee $4 + global.get $~lib/util/string/__fixmulShift + i64.add + global.set $~lib/util/string/__fixmulShift + local.get $7 + local.get $5 + i64.shl + i64.const 31 + i64.shr_u + i64.const 1 + i64.and + local.get $6 + local.get $5 + i64.shl + local.get $7 + i64.const 4294967295 + i64.and + local.get $4 + 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 + local.set $10 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + local.get $8 + 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 + return end - i64.const 4095 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19248 - i32.store $0 offset=4 - local.get $0 - i32.const 19248 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 714 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 4294967295 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + f64.const 0 + f64.mul + ) + (func $~lib/number/F64.parseFloat (type $i32_=>_f64) (param $0 i32) (result f64) + (local $1 i32) + (local $2 f64) global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 19664 - i32.store $0 offset=4 - local.get $0 - i32.const 19664 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 715 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const 562949953421311 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22144 - i32.store $0 offset=4 - local.get $0 - i32.const 22144 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 716 + i32.const 59232 + i32.const 59280 i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 2 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22272 - i32.store $0 offset=4 - local.get $0 - i32.const 22272 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 717 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -8589934591 - i32.const 2 - call $~lib/util/number/itoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $1 + i32.const 0 i32.store $0 - local.get $3 - i32.const 22432 - i32.store $0 offset=4 - local.get $0 - i32.const 22432 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 719 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 3 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 + local.get $1 local.get $0 i32.store $0 - local.get $3 - i32.const 22528 - i32.store $0 offset=4 local.get $0 - i32.const 22528 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 723 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 + call $~lib/util/string/strtod + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/util/number/utoa64 - local.set $0 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/util/string/strtol (type $none_=>_i32) (result i32) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + i32.const 4880 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22640 - i32.store $0 offset=4 - local.get $0 - i32.const 22640 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 724 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 5 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22736 - i32.store $0 offset=4 - local.get $0 - i32.const 22736 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 725 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 8 - call $~lib/util/number/utoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + i32.const 0 i32.store $0 - local.get $3 - i32.const 22816 - i32.store $0 offset=4 local.get $0 - i32.const 22816 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 726 + i32.const 4880 + i32.store $0 + block $folding-inner0 + i32.const 4876 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $0 + i32.eqz + br_if $folding-inner0 + i32.const 4880 + i32.load16_u $0 + local.set $1 + loop $while-continue|0 + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $1 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $1 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + local.get $1 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + i32.const 1 + local.get $1 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $1 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $while-continue|0 + end + end i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 11 - call $~lib/util/number/utoa64 - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22880 - i32.store $0 offset=4 - local.get $0 - i32.const 22880 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 727 + local.set $3 + local.get $1 + i32.const 43 + i32.eq + local.get $1 + i32.const 45 + i32.eq + i32.or + if (result i32) + local.get $0 + i32.const 1 + i32.sub + local.tee $0 + i32.eqz + br_if $folding-inner0 + i32.const -1 + i32.const 1 + local.get $1 + i32.const 45 + i32.eq + select + local.set $3 + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + else + local.get $1 + end + i32.const 48 + i32.eq + local.get $0 + i32.const 2 + i32.gt_s + i32.and + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $2 + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.tee $1 + i32.const 98 + i32.ne + if + local.get $1 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $1 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 2 + local.set $4 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 8 + local.set $4 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 16 + local.set $4 + end + end + local.get $4 + i32.const 10 + local.get $4 + select + local.set $4 + local.get $0 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.sub + local.set $6 + loop $while-continue|2 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + block $while-break|2 + local.get $4 + local.get $2 + i32.load16_u $0 + local.tee $1 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) + local.get $1 + i32.const 48 + i32.sub + else + local.get $1 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + if (result i32) + local.get $1 + i32.const 55 + i32.sub + else + local.get $1 + i32.const 87 + i32.sub + local.get $1 + local.get $1 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u + select + end + end + local.tee $1 + i32.le_u + if + local.get $0 + local.get $6 + i32.eq + br_if $folding-inner0 + br $while-break|2 + end + local.get $4 + local.get $5 + i32.mul + local.get $1 + i32.add + local.set $5 + local.get $2 + i32.const 2 + i32.add + local.set $2 + 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 $3 + local.get $5 + i32.mul + return end - i64.const -1 - i32.const 15 - call $~lib/util/number/utoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 22944 - i32.store $0 offset=4 - local.get $0 - i32.const 22944 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 728 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 17 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/util/string/strtol (type $none_=>_i64) (result i64) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i32) + i32.const 4928 + local.set $2 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23008 - i32.store $0 offset=4 - local.get $0 - i32.const 23008 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 729 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 21 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23072 - i32.store $0 offset=4 - local.get $0 - i32.const 23072 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 730 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - i64.const -1 - i32.const 27 - call $~lib/util/number/utoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.tee $0 + i32.const 0 i32.store $0 - local.get $3 - i32.const 23136 - i32.store $0 offset=4 local.get $0 - i32.const 23136 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 731 + i32.const 4928 + i32.store $0 + block $folding-inner0 + i32.const 4924 + i32.load $0 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.tee $0 + i32.eqz + br_if $folding-inner0 + i32.const 4928 + i32.load16_u $0 + local.set $1 + loop $while-continue|0 + block $__inlined_func$~lib/util/string/isSpace (result i32) + local.get $1 + i32.const 128 + i32.or + i32.const 160 + i32.eq + local.get $1 + i32.const 9 + i32.sub + i32.const 4 + i32.le_u + i32.or + local.get $1 + i32.const 5760 + i32.lt_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + i32.const 1 + local.get $1 + i32.const -8192 + i32.add + i32.const 10 + i32.le_u + br_if $__inlined_func$~lib/util/string/isSpace + drop + block $break|0 + block $case6|0 + local.get $1 + i32.const 5760 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8232 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8233 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8239 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 8287 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 12288 + i32.eq + br_if $case6|0 + local.get $1 + i32.const 65279 + i32.eq + br_if $case6|0 + br $break|0 + end + i32.const 1 + br $__inlined_func$~lib/util/string/isSpace + end + i32.const 0 + end + if + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $while-continue|0 + end + end + i64.const 1 + local.set $4 + local.get $1 + i32.const 43 + i32.eq + local.get $1 + i32.const 45 + i32.eq + i32.or + if (result i32) + local.get $0 + i32.const 1 + i32.sub + local.tee $0 + i32.eqz + br_if $folding-inner0 + i64.const -1 + i64.const 1 + local.get $1 + i32.const 45 + i32.eq + select + local.set $4 + local.get $2 + i32.const 2 + i32.add + local.tee $2 + i32.load16_u $0 + else + local.get $1 + end + i32.const 48 + i32.eq + local.get $0 + i32.const 2 + i32.gt_s + i32.and + if + block $break|1 + block $case2|1 + block $case1|1 + local.get $2 + i32.load16_u $0 offset=2 + i32.const 32 + i32.or + local.tee $1 + i32.const 98 + i32.ne + if + local.get $1 + i32.const 111 + i32.eq + br_if $case1|1 + local.get $1 + i32.const 120 + i32.eq + br_if $case2|1 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 2 + local.set $3 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 8 + local.set $3 + br $break|1 + end + local.get $2 + i32.const 4 + i32.add + local.set $2 + local.get $0 + i32.const 2 + i32.sub + local.set $0 + i32.const 16 + local.set $3 + end + end + local.get $3 + i32.const 10 + local.get $3 + select + local.set $6 + local.get $0 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|2 + local.get $0 + local.tee $1 + i32.const 1 + i32.sub + local.set $0 + local.get $1 + if + block $while-break|2 + local.get $6 + local.get $2 + i32.load16_u $0 + local.tee $1 + i32.const 48 + i32.sub + i32.const 10 + i32.lt_u + if (result i32) + local.get $1 + i32.const 48 + i32.sub + else + local.get $1 + i32.const 65 + i32.sub + i32.const 25 + i32.le_u + if (result i32) + local.get $1 + i32.const 55 + i32.sub + else + local.get $1 + i32.const 87 + i32.sub + local.get $1 + local.get $1 + i32.const 97 + i32.sub + i32.const 25 + i32.le_u + select + end + end + local.tee $1 + i32.le_u + if + local.get $0 + local.get $3 + i32.eq + br_if $folding-inner0 + br $while-break|2 + end + local.get $1 + i64.extend_i32_u + local.get $5 + local.get $6 + i64.extend_i32_s + i64.mul + i64.add + local.set $5 + local.get $2 + i32.const 2 + i32.add + local.set $2 + 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 + i64.mul + return end - i64.const -1 - i32.const 32 - call $~lib/util/number/utoa64 - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23184 - i32.store $0 offset=4 - local.get $0 - i32.const 23184 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 732 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i64.const -1 - i32.const 36 - call $~lib/util/number/utoa64 - local.set $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i64.const 0 + ) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23232 - i32.store $0 offset=4 - local.get $0 - i32.const 23232 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 733 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.set $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23280 - i32.store $0 offset=4 - local.get $0 - i32.const 23280 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 736 + i32.const 59232 + i32.const 59280 i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -0 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 23280 - i32.store $0 offset=4 - local.get $0 - i32.const 23280 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 737 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const nan:0x8000000000000 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 - local.get $0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $3 - i32.const 7696 - i32.store $0 offset=4 - local.get $0 - i32.const 7696 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 738 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const inf - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 i32.store $0 - local.get $3 - i32.const 23312 - i32.store $0 offset=4 - local.get $0 - i32.const 23312 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 739 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -inf - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 - i32.store $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $2 local.get $3 - i32.const 8960 - i32.store $0 offset=4 - local.get $0 - i32.const 8960 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 740 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2.220446049250313e-16 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + local.get $1 i32.store $0 - local.get $3 - i32.const 8176 - i32.store $0 offset=4 - local.get $0 - i32.const 8176 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 741 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -2.220446049250313e-16 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24336 - i32.store $0 offset=4 - local.get $0 - i32.const 24336 - call $~lib/string/String.__eq + local.get $2 + i32.add + local.tee $4 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 742 - 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 1797693134862315708145274e284 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 8240 + local.get $4 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 i32.store $0 offset=4 + local.get $4 local.get $0 - i32.const 8240 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 743 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1797693134862315708145274e284 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 + local.get $2 + memory.copy $0 $0 + local.get $2 + local.get $4 + i32.add + local.get $1 local.get $3 - i32.const 24400 - i32.store $0 offset=4 - local.get $0 - i32.const 24400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 744 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 4185580496821356722454785e274 - call $~lib/util/number/dtoa - local.set $0 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24480 - i32.store $0 offset=4 - local.get $0 - i32.const 24480 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 745 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 2.2250738585072014e-308 - call $~lib/util/number/dtoa - local.set $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24544 - i32.store $0 offset=4 - local.get $0 - i32.const 24544 - call $~lib/string/String.__eq - i32.eqz + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 746 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4.940656e-318 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 i32.store $0 - local.get $3 - i32.const 24624 + local.get $2 + local.get $1 i32.store $0 offset=4 local.get $0 - i32.const 24624 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 749 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 9060801153433600 - call $~lib/util/number/dtoa + local.get $1 + call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24672 - i32.store $0 offset=4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 24672 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String.__ne (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 750 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 4708356024711512064 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 i32.store $0 - local.get $3 - i32.const 24736 + local.get $2 + local.get $1 i32.store $0 offset=4 local.get $0 - i32.const 24736 + local.get $1 call $~lib/string/String.__eq i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 751 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 9409340012568248320 - call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24800 - i32.store $0 offset=4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 24800 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String.__gt (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 752 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 5e-324 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 8320 - i32.store $0 offset=4 - local.get $0 - i32.const 8320 - call $~lib/string/String.__eq - i32.eqz - if + i64.const 0 + i64.store $0 + 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 $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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 $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 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.tee $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 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.const 0 - i32.const 1120 - i32.const 753 + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + if + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24864 - i32.store $0 offset=4 - local.get $0 - i32.const 24864 - call $~lib/string/String.__eq - i32.eqz + i64.const 0 + i64.store $0 + block $folding-inner0 + local.get $0 + local.get $1 + i32.eq + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 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 $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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.tee $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 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 $0 + select + call $~lib/util/string/compareImpl + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 0 + i32.lt_s + local.get $0 + local.get $1 + 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.__gte (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 759 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.1 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 i32.store $0 - local.get $3 - i32.const 5280 + local.get $2 + local.get $1 i32.store $0 offset=4 local.get $0 - i32.const 5280 - call $~lib/string/String.__eq + local.get $1 + call $~lib/string/String.__lt i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 760 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const -1 - call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24896 - i32.store $0 offset=4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 24896 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String.__lte (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 761 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -0.1 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 local.get $0 i32.store $0 - local.get $3 - i32.const 24928 + local.get $2 + local.get $1 i32.store $0 offset=4 local.get $0 - i32.const 24928 - call $~lib/string/String.__eq + local.get $1 + call $~lib/string/String.__gt i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 762 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1e6 - call $~lib/util/number/dtoa local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24960 - i32.store $0 offset=4 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 24960 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String#repeat (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 764 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1e-06 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 i32.store $0 - local.get $3 - i32.const 25008 - i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.lt_s local.get $0 - i32.const 25008 - call $~lib/string/String.__eq - i32.eqz + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + i64.extend_i32_s + local.get $1 + i64.extend_i32_s + i64.mul + i64.const 268435456 + i64.gt_u + i32.or if - i32.const 0 - i32.const 1120 - i32.const 765 - i32.const 1 + i32.const 14064 + i32.const 1328 + i32.const 334 + i32.const 7 call $~lib/builtins/abort unreachable end - f64.const -1e6 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 local.get $3 - i32.const 25056 - i32.store $0 offset=4 - local.get $0 - i32.const 25056 - call $~lib/string/String.__eq i32.eqz + local.get $1 + i32.eqz + i32.or if - i32.const 0 - i32.const 1120 - i32.const 766 - 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 -1e-06 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25104 - i32.store $0 offset=4 - local.get $0 - i32.const 25104 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 1 + i32.eq if - i32.const 0 - i32.const 1120 - i32.const 767 - 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 + local.get $0 + return end - f64.const 1e7 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 + local.get $1 local.get $3 - i32.const 25152 + i32.mul + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 i32.store $0 offset=4 - local.get $0 - i32.const 25152 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 768 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $3 + i32.const 1 + i32.shl + local.tee $3 + local.get $1 + i32.mul + local.set $1 + loop $while-continue|0 + local.get $1 + local.get $2 + i32.gt_u + if + local.get $2 + local.get $4 + i32.add + local.get $0 + local.get $3 + memory.copy $0 $0 + local.get $2 + local.get $3 + i32.add + local.set $2 + br $while-continue|0 + end end - f64.const 1e-07 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25200 - i32.store $0 offset=4 - local.get $0 - i32.const 25200 - call $~lib/string/String.__eq - i32.eqz + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/string/String#replace (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 769 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.e+308 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 local.get $0 i32.store $0 - local.get $3 - i32.const 5568 - i32.store $0 offset=4 local.get $0 - i32.const 5568 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 771 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + block $folding-inner0 + local.get $4 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.tee $5 + i32.le_u + if + local.get $4 + local.get $5 + i32.ge_u + if (result i32) + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + else + local.get $0 + end + local.set $1 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 0 + call $~lib/string/String#indexOf + local.tee $3 + i32.const -1 + i32.xor + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $4 + local.get $5 + i32.sub + local.tee $6 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $4 + i32.add + local.tee $1 + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + local.tee $7 + memory.copy $0 $0 + local.get $1 + local.get $7 + i32.add + local.get $2 + local.get $4 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $3 + local.get $4 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + local.get $5 + i32.add + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $3 + i32.sub + i32.const 1 + i32.shl + memory.copy $0 $0 + br $folding-inner0 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return end - f64.const -1.e+308 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25232 - i32.store $0 offset=4 - local.get $0 - i32.const 25232 - call $~lib/string/String.__eq - i32.eqz + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#replaceAll (type $i32_i32_i32_=>_i32) (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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 772 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const inf - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $5 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $5 local.get $0 i32.store $0 - local.get $3 - i32.const 23312 - i32.store $0 offset=4 local.get $0 - i32.const 23312 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 773 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $4 + local.get $5 + local.get $1 + i32.store $0 + block $folding-inner1 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shr_u + local.tee $9 + local.get $4 + i32.ge_u + if + local.get $4 + local.get $9 + i32.ge_u + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $0 + local.get $1 + local.get $0 + call $~lib/string/String.__eq + select + local.set $0 + end + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $5 + block $folding-inner0 + local.get $9 + i32.eqz + if + local.get $5 + i32.eqz + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $4 + local.get $4 + i32.const 1 + i32.add + local.get $5 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=8 + local.get $6 + local.get $2 + local.get $5 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $5 + local.set $1 + loop $for-loop|0 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $6 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $6 + 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 + memory.copy $0 $0 + local.get $1 + local.get $5 + i32.add + local.set $1 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + br $folding-inner0 + end + local.get $5 + local.get $9 + i32.eq + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 1 + i32.shl + local.tee $3 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + local.get $6 + local.get $0 + local.get $3 + memory.copy $0 $0 + loop $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + 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 $6 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $5 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $9 + i32.add + local.set $7 + br $while-continue|1 + end + end + br $folding-inner0 + end + local.get $4 + local.set $3 + loop $while-continue|2 + global.get $~lib/memory/__stack_pointer + local.tee $10 + local.get $0 + i32.store $0 + local.get $10 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $7 + call $~lib/string/String#indexOf + local.tee $10 + i32.const -1 + i32.xor + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $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 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + end + local.get $10 + local.get $7 + i32.sub + local.tee $11 + local.get $8 + i32.add + local.get $5 + i32.add + local.get $3 + i32.gt_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 $0 offset=16 + end + local.get $6 + local.get $8 + 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 + memory.copy $0 $0 + local.get $6 + local.get $8 + 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 + memory.copy $0 $0 + local.get $5 + local.get $7 + i32.add + local.set $8 + local.get $9 + local.get $10 + i32.add + local.set $7 + br $while-continue|2 + end + end + local.get $6 + if + local.get $4 + local.get $7 + i32.sub + local.tee $1 + local.get $8 + i32.add + local.get $3 + i32.gt_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 $0 offset=16 + end + local.get $1 + if + local.get $6 + local.get $8 + 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 + memory.copy $0 $0 + end + local.get $1 + local.get $8 + i32.add + local.tee $0 + local.get $3 + i32.lt_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 $0 offset=16 + end + br $folding-inner0 + end + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return end - f64.const -inf - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 8960 - i32.store $0 offset=4 + i32.const 20 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 8960 - 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 1e-308 - call $~lib/util/number/dtoa - local.set $0 + ) + (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25280 - i32.store $0 offset=4 - local.get $0 - i32.const 25280 - 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 -1e-308 - call $~lib/util/number/dtoa - local.set $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25312 - i32.store $0 offset=4 - local.get $0 - i32.const 25312 - call $~lib/string/String.__eq - i32.eqz + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 776 + i32.const 59232 + i32.const 59280 i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1e-323 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25360 - i32.store $0 offset=4 - local.get $0 - i32.const 25360 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 777 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const -1e-323 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 - local.get $0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $3 - i32.const 25392 - i32.store $0 offset=4 - local.get $0 - i32.const 25392 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 778 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 0 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 i32.store $0 - local.get $3 - i32.const 23280 - i32.store $0 offset=4 local.get $0 - i32.const 23280 - call $~lib/string/String.__eq - i32.eqz - if + i32.const 20 + i32.sub + i32.load $0 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 - i32.const 1120 - i32.const 779 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 4294967272 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25440 - i32.store $0 offset=4 - local.get $0 - i32.const 25440 - call $~lib/string/String.__eq - i32.eqz - if + local.get $1 i32.const 0 - i32.const 1120 - i32.const 781 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.gt_s + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select end - f64.const 1.2312145673456234e-08 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25488 - i32.store $0 offset=4 - local.get $0 - i32.const 25488 - call $~lib/string/String.__eq - i32.eqz - if + 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 - i32.const 1120 - i32.const 782 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 555555555.5555556 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25552 - i32.store $0 offset=4 - local.get $0 - i32.const 25552 - call $~lib/string/String.__eq - i32.eqz - if + local.get $2 i32.const 0 - i32.const 1120 - i32.const 784 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.gt_s + select + else + local.get $2 + local.get $3 + local.get $2 + local.get $3 + i32.lt_s + select end - f64.const 0.9999999999999999 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25616 - i32.store $0 offset=4 - local.get $0 - i32.const 25616 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.sub + local.tee $2 + i32.const 0 + i32.le_s if - i32.const 0 - i32.const 1120 - i32.const 785 - 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 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 1 + i32.shl + local.tee $2 + i32.const 2 + call $~lib/rt/itcms/__new local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 24864 i32.store $0 offset=4 + local.get $3 local.get $0 - i32.const 24864 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 786 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 12.34 - call $~lib/util/number/dtoa - local.set $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.const 25680 - i32.store $0 offset=4 - local.get $0 - i32.const 25680 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String#slice@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 787 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 0.3333333333333333 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 + i32.const 0 i32.store $0 - local.get $3 - i32.const 25712 - i32.store $0 offset=4 - local.get $0 - i32.const 25712 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 789 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 end - f64.const 1234e17 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 local.get $0 i32.store $0 - local.get $3 - i32.const 25776 - i32.store $0 offset=4 local.get $0 - i32.const 25776 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 790 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - f64.const 1234e18 - call $~lib/util/number/dtoa + local.get $1 + local.get $2 + call $~lib/string/String#slice local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 25856 - i32.store $0 offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 25856 - call $~lib/string/String.__eq - i32.eqz + ) + (func $~lib/string/String#substr (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 791 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 2.71828 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 i32.store $0 - local.get $3 - i32.const 25904 - i32.store $0 offset=4 + local.get $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.tee $2 local.get $0 - i32.const 25904 - call $~lib/string/String.__eq - i32.eqz + i32.const 20 + i32.sub + i32.load $0 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 + i32.add + local.tee $1 i32.const 0 - i32.const 1120 - i32.const 792 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 0 + i32.gt_s + select + local.set $1 end - f64.const 0.0271828 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer + local.get $1 + i32.sub local.tee $3 - local.get $0 - i32.store $0 + local.get $2 local.get $3 - i32.const 25952 - i32.store $0 offset=4 - local.get $0 - i32.const 25952 - call $~lib/string/String.__eq - i32.eqz + i32.lt_s + select + i32.const 1 + i32.shl + local.tee $2 + i32.const 0 + i32.le_s if - i32.const 0 - i32.const 1120 - i32.const 793 - 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 271.828 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 26000 i32.store $0 offset=4 + local.get $3 local.get $0 - i32.const 26000 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/string/String#substr@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 794 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1e+128 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $3 + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 + end + global.get $~lib/memory/__stack_pointer local.get $0 i32.store $0 - local.get $3 - i32.const 26048 - i32.store $0 offset=4 local.get $0 - i32.const 26048 - call $~lib/string/String.__eq - i32.eqz + local.get $1 + local.get $2 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 795 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end - f64.const 1.1e-64 - call $~lib/util/number/dtoa - local.set $0 global.get $~lib/memory/__stack_pointer local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 i32.store $0 - local.get $3 - i32.const 26096 - i32.store $0 offset=4 + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $1 local.get $0 - i32.const 26096 - call $~lib/string/String.__eq + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $3 + local.get $1 + local.get $3 + i32.lt_s + select + local.tee $1 + 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.tee $2 + local.get $1 + local.get $2 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $4 + local.get $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + i32.const 1 + i32.shl + local.tee $1 + local.get $4 + i32.sub + local.tee $2 i32.eqz if - i32.const 0 - i32.const 1120 - i32.const 796 - 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 0.000035689 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - local.get $0 - i32.store $0 - local.get $3 - i32.const 26144 - i32.store $0 offset=4 - local.get $0 - i32.const 26144 - call $~lib/string/String.__eq + local.get $4 i32.eqz + local.get $1 + local.get $3 + i32.const 1 + i32.shl + i32.eq + i32.and if - i32.const 0 - i32.const 1120 - i32.const 797 - 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 + local.get $0 + return end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26192 - i32.store $0 offset=8 + local.get $2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $1 local.get $0 - i32.const 26224 - i32.store $0 offset=12 - i32.const 26192 - i32.const 26224 - call $~lib/string/String#concat - local.set $0 + local.get $4 + i32.add + local.get $2 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/string/String#substring@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 26256 - i32.store $0 offset=4 - local.get $0 - i32.const 26256 - call $~lib/string/String.__eq - i32.eqz + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 802 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 26304 - i32.store $0 offset=12 - i32.const 1712 - i32.const 26304 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 + i32.const 0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 26304 - i32.store $0 offset=4 - local.get $0 - i32.const 26304 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 803 - i32.const 1 - call $~lib/builtins/abort - unreachable + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 2147483647 + local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26304 - i32.store $0 offset=8 local.get $0 - i32.const 1712 - i32.store $0 offset=12 - i32.const 26304 - i32.const 1712 - call $~lib/string/String#concat + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/string/String#substring 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 $0 + ) + (func $~lib/array/ensureCapacity (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 26304 - i32.store $0 offset=4 - local.get $0 - i32.const 26304 - call $~lib/string/String.__eq - i32.eqz + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 804 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 1712 - i32.store $0 offset=8 - local.get $0 - i32.const 1712 - i32.store $0 offset=12 - i32.const 1712 - i32.const 1712 - call $~lib/string/String#concat - local.set $0 - global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 1712 - i32.store $0 offset=4 + local.get $1 local.get $0 - i32.const 1712 - call $~lib/string/String.__eq - i32.eqz + i32.load $0 offset=8 + local.tee $2 + i32.const 2 + i32.shr_u + i32.gt_u if - i32.const 0 - i32.const 1120 - i32.const 805 + local.get $1 + i32.const 268435455 + i32.gt_u + if + i32.const 14064 + i32.const 15664 + i32.const 19 + i32.const 48 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $3 + i32.const 1073741820 + local.get $2 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.shl + local.tee $2 + local.get $2 + i32.const 1073741820 + i32.ge_u + select + local.tee $2 + i32.const 8 + local.get $1 + local.get $1 + i32.const 8 + i32.le_u + select + i32.const 2 + i32.shl + local.tee $1 + local.get $1 + local.get $2 + i32.lt_u + select + local.tee $1 + call $~lib/rt/itcms/__renew + local.tee $2 + local.get $3 + i32.ne + if + local.get $0 + local.get $2 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + if + local.get $0 + local.get $2 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + end + local.get $0 + local.get $1 + i32.store $0 offset=8 end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26336 - i32.store $0 - local.get $0 - i32.const 26336 - i32.store $0 offset=4 - i32.const 26336 - i32.const 26336 - call $~lib/string/String.__eq - i32.eqz + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array<~lib/string/String>#push (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s if - i32.const 0 - i32.const 1120 - i32.const 816 + i32.const 59232 + i32.const 59280 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26336 + local.tee $2 + i32.const 0 i32.store $0 + local.get $2 local.get $0 - i32.const 26336 - i32.store $0 offset=4 - i32.const 26336 - i32.const 26336 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 817 - i32.const 1 - call $~lib/builtins/abort - unreachable - end + i32.store $0 + local.get $0 + local.get $0 + i32.load $0 offset=12 + local.tee $2 + i32.const 1 + i32.add + local.tee $3 + call $~lib/array/ensureCapacity global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26368 + local.get $0 i32.store $0 local.get $0 - i32.const 26368 - i32.store $0 offset=4 - i32.const 26368 - i32.const 26368 - call $~lib/string/String.__eq - i32.eqz + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $1 + i32.store $0 + local.get $1 if - i32.const 0 - i32.const 1120 - i32.const 818 + local.get $0 + local.get $1 i32.const 1 - call $~lib/builtins/abort - unreachable + call $byn-split-outlined-A$~lib/rt/itcms/__link end global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 26400 + local.tee $1 + local.get $0 i32.store $0 local.get $0 - i32.const 26400 - i32.store $0 offset=4 - i32.const 26400 - i32.const 26400 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 1120 - i32.const 819 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - global.set $std/string/str - i32.const 59212 + local.get $3 + i32.store $0 offset=12 + local.get $1 + i32.const 4 + i32.add 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 + ) + (func $~lib/string/String#split (type $i32_i32_i32_=>_i32) (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 40 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 40 + memory.fill $0 + local.get $2 + i32.eqz + br_if $folding-inner1 + local.get $1 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.load $0 offset=4 + i32.store $0 offset=4 + 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 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=12 + i32.eqz + if + local.get $1 + i32.const 1 + call $~lib/array/ensureCapacity + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 1 + i32.store $0 offset=12 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.load $0 offset=4 + local.get $0 + i32.store $0 + local.get $0 + if + local.get $1 + local.get $0 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $folding-inner2 + end + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $5 + local.get $6 + local.get $1 + i32.store $0 offset=8 + i32.const 2147483647 + local.get $2 + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $7 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $8 + if + local.get $5 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 1 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + i32.const 1712 + i32.store $0 + br $folding-inner2 + end + else + local.get $5 + i32.eqz + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $5 + local.get $7 + local.get $5 + local.get $7 + i32.lt_s + select + local.tee $3 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.tee $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $4 + i32.const 0 + local.set $2 + loop $for-loop|0 + local.get $2 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 2 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=16 + local.get $5 + local.get $0 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 + end + end + br $folding-inner2 + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.tee $2 + i32.store $0 offset=24 + loop $while-continue|1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $1 + i32.store $0 offset=28 + local.get $0 + local.get $1 + local.get $3 + call $~lib/string/String#indexOf + local.tee $9 + i32.const -1 + i32.xor + if + local.get $9 + local.get $3 + i32.sub + local.tee $6 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.shl + local.tee $10 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=32 + local.get $6 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $10 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=28 + local.get $2 + local.get $6 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=8 + local.get $3 + i32.const 1712 + i32.store $0 offset=28 + local.get $2 + i32.const 1712 + call $~lib/array/Array<~lib/string/String>#push + end + local.get $4 + i32.const 1 + i32.add + local.tee $4 + local.get $7 + i32.eq + br_if $folding-inner3 + local.get $8 + local.get $9 + i32.add + local.set $3 + br $while-continue|1 + end + end + local.get $3 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=28 + local.get $2 + local.get $0 + call $~lib/array/Array<~lib/string/String>#push + br $folding-inner3 + end + local.get $5 + local.get $3 + i32.sub + local.tee $1 + i32.const 0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.const 1 + i32.shl + local.tee $1 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=36 + local.get $4 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $1 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=28 + local.get $2 + local.get $4 + call $~lib/array/Array<~lib/string/String>#push + else + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=28 + local.get $2 + i32.const 1712 + call $~lib/array/Array<~lib/string/String>#push + end + global.get $~lib/memory/__stack_pointer + i32.const 40 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + end + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 0 + i32.const 5 + i32.const 0 + call $~lib/rt/__newArray + local.set $1 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 96 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/string/String#charAt (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ge_u - if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer - i32.const 1712 + local.get $1 return end global.get $~lib/memory/__stack_pointer - i32.const 2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 40 i32.add global.set $~lib/memory/__stack_pointer local.get $2 ) - (func $~lib/string/String.fromCharCode (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String#split@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result 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 global.get $~lib/memory/__stack_pointer @@ -21303,109 +10036,45 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 2 - local.get $1 - i32.const 0 - i32.gt_s - local.tee $3 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - i32.store16 $0 - local.get $3 - if - local.get $2 - local.get $1 - i32.store16 $0 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 (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + i64.const 0 + i64.store $0 + 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 + i32.const 2147483647 + local.set $2 end global.get $~lib/memory/__stack_pointer - local.tee $5 - i32.const 0 - i32.store $0 + local.tee $3 local.get $0 - i32.const 2 - i32.shl - local.tee $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.set $3 - local.get $2 - if - local.get $3 - local.get $2 - local.get $4 - memory.copy $0 $0 - end - local.get $5 - local.get $3 - i32.store $0 - i32.const 16 - local.get $1 - call $~lib/rt/itcms/__new - local.tee $1 - local.get $3 i32.store $0 local.get $3 - if - local.get $1 - local.get $3 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end local.get $1 - local.get $3 i32.store $0 offset=4 - local.get $1 - local.get $4 - i32.store $0 offset=8 - local.get $1 local.get $0 - i32.store $0 offset=12 + local.get $1 + local.get $2 + call $~lib/string/String#split + local.set $0 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 $0 ) - (func $~lib/string/String.fromCharCodes (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/array/Array<~lib/string/String>#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result 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 global.get $~lib/memory/__stack_pointer @@ -21420,1711 +10089,14766 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 local.get $1 local.get $0 i32.load $0 offset=12 - local.tee $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 + i32.ge_u + if + i32.const 1264 + i32.const 15664 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 i32.store $0 + local.get $2 local.get $0 i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $1 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + i32.eqz + if + i32.const 15712 + i32.const 15664 + i32.const 118 + i32.const 40 + 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 $start:std/string (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 f64) + (local $3 f32) + (local $4 i64) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer + i32.const 96 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 26444 i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 96 + memory.fill $0 + global.get $std/string/str + i32.const 1056 + i32.ne if - local.get $3 - local.get $0 + i32.const 0 + i32.const 1120 + i32.const 8 i32.const 1 - i32.shl + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1168 + i32.store $0 + local.get $0 + i32.const 1168 + i32.store $0 offset=4 + i32.const 1168 + i32.const 1168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 10 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1200 + i32.store $0 + local.get $0 + i32.const 1200 + i32.store $0 offset=4 + i32.const 1200 + i32.const 1200 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 11 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1232 + i32.store $0 + local.get $0 + i32.const 1232 + i32.store $0 offset=4 + i32.const 1232 + i32.const 1232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 12 + 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 $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.const 16 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 14 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $5 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 + block $__inlined_func$~lib/string/String#charCodeAt + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + 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 + local.get $5 + i32.load16_u $0 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $2 + global.set $~lib/memory/__stack_pointer + end + local.get $0 + i32.const 104 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 15 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $5 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 + block $__inlined_func$~lib/string/String#codePointAt + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $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 local.get $0 i32.const 2 - i32.shl + i32.eq + local.get $5 + i32.load16_u $0 offset=2 + local.tee $0 + i32.const 64512 + i32.and + i32.const 55296 + i32.ne + i32.or + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#codePointAt + end + local.get $5 + i32.load16_u $0 offset=4 + local.tee $5 + i32.const 64512 + i32.and + i32.const 56320 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/string/String#codePointAt + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - i32.store16 $0 + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1 + i32.const 10 + i32.shl + local.get $5 i32.add + i32.const 56613888 + i32.sub local.set $0 - 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 $3 - ) - (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 2 - local.get $0 - i32.const 65535 - i32.gt_u - local.tee $2 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $2 - if local.get $0 - i32.const 1114111 - i32.gt_u + i32.const 105 + i32.ne if i32.const 0 - i32.const 1328 - i32.const 39 - i32.const 7 + i32.const 1120 + i32.const 16 + i32.const 1 call $~lib/builtins/abort unreachable end - 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 + memory.size $0 i32.const 16 i32.shl - i32.or - i32.store $0 - else - local.get $1 - local.get $0 - i32.store16 $0 - 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#padStart (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - i32.eqz - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $5 - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - i32.gt_u - i32.or - 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 $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $7 - i32.store $0 - local.get $1 - local.get $5 - i32.sub - local.tee $8 - local.get $3 - i32.gt_u - if - local.get $8 - local.get $8 - i32.const 2 + i32.const 59212 i32.sub - local.get $3 - i32.div_u - local.get $3 - i32.mul - local.tee $6 - i32.sub - local.set $1 - loop $while-continue|0 - local.get $4 - local.get $6 - i32.lt_u - if - local.get $4 - local.get $7 - i32.add - local.get $2 - local.get $3 - memory.copy $0 $0 - local.get $3 - local.get $4 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $6 - local.get $7 - i32.add - local.get $2 - local.get $1 - memory.copy $0 $0 - else - local.get $7 - local.get $2 - local.get $8 - memory.copy $0 $0 - end - local.get $7 - local.get $8 - i32.add - local.get $0 - local.get $5 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - ) - (func $~lib/string/String#padEnd (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - i32.eqz - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - local.get $1 - i32.const 1 - i32.shl - local.tee $1 - i32.gt_u - i32.or - if + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1492 + i32.const 1488 + i32.store $0 + i32.const 1496 + i32.const 1488 + i32.store $0 + i32.const 1488 + global.set $~lib/rt/itcms/pinSpace + i32.const 1524 + i32.const 1520 + i32.store $0 + i32.const 1528 + i32.const 1520 + i32.store $0 + i32.const 1520 + global.set $~lib/rt/itcms/toSpace + i32.const 1604 + i32.const 1600 + i32.store $0 + i32.const 1608 + i32.const 1600 + i32.store $0 + i32.const 1600 + global.set $~lib/rt/itcms/fromSpace + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $0 + i32.store $0 offset=8 + local.get $0 + i32.const 15 + call $~lib/string/String#at + local.set $0 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 $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 - local.get $6 - local.get $0 - local.get $4 - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.sub - local.tee $0 - local.get $3 - i32.gt_u - if + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $5 + i32.store $0 offset=8 + local.get $5 + i32.const 15 + call $~lib/string/String#charAt + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 local.get $0 + local.get $5 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 17 + 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 $0 offset=8 local.get $0 - i32.const 2 - i32.sub - local.get $3 - i32.div_u - local.get $3 - i32.mul - local.tee $5 - i32.sub - local.set $7 - local.get $4 - local.get $6 - i32.add - local.set $1 - i32.const 0 + i32.const -1 + call $~lib/string/String#at local.set $0 - loop $while-continue|0 - local.get $0 - local.get $5 - i32.lt_u - if - local.get $0 - local.get $1 - i32.add - local.get $2 - local.get $3 - memory.copy $0 $0 - local.get $0 - local.get $3 - i32.add - local.set $0 - br $while-continue|0 - end - end - local.get $4 - local.get $6 - i32.add + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $6 + i32.store $0 offset=12 local.get $5 - i32.add - local.get $2 - local.get $7 - memory.copy $0 $0 - else - local.get $4 local.get $6 - i32.add - local.get $2 - local.get $0 - memory.copy $0 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $6 - ) - (func $~lib/string/String#trimStart (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 + i32.shr_u i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.lt_u - if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - local.get $1 - i32.add - i32.load16_u $0 - local.tee $3 - i32.const 5760 - i32.lt_u - if - local.get $3 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $3 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 1 - local.get $3 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $3 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $3 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - else + i32.sub + call $~lib/string/String#charAt + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $0 + local.get $5 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 18 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $5 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 offset=12 + local.get $5 + i32.const 0 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.sub + call $~lib/string/String#at + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1744 + i32.store $0 offset=4 + local.get $0 + i32.const 1744 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 + i32.const 1120 + i32.const 19 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 + i32.const 1712 + call $~lib/string/String.__not + i32.eqz if - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|0 + i32.const 0 + i32.const 1120 + i32.const 21 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - local.get $1 - 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 - local.get $2 - local.get $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 1712 - return - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - local.get $1 - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#trimEnd (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - local.set $1 - loop $while-continue|0 - local.get $1 - if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - local.tee $2 - i32.const 5760 - i32.lt_u - if - local.get $2 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $2 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 1 - local.get $2 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $2 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $2 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - else + i32.const 1776 + i32.store $0 + i32.const 1776 + call $~lib/string/String.__not + if i32.const 0 + i32.const 1120 + i32.const 22 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 + i32.const 1808 + call $~lib/string/String.__not if - local.get $1 - i32.const 2 - i32.sub - local.set $1 - br $while-continue|0 + i32.const 0 + i32.const 1120 + i32.const 23 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - local.get $1 - i32.eqz - if + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/string/String.fromCharCode@varargs + local.set $0 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 - local.get $3 - i32.eq - if + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 1776 + i32.store $0 offset=4 + local.get $0 + i32.const 1776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 25 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + global.set $~argumentsLength + i32.const 65600 + call $~lib/string/String.fromCharCode@varargs + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.tee $5 local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - local.get $1 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/string/String#trim (type $i32_=>_i32) (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 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 + i32.store $0 + local.get $5 + i32.const 1840 + i32.store $0 offset=4 + local.get $0 + i32.const 1840 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 26 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 1 + global.set $~argumentsLength + i32.const 54 + call $~lib/string/String.fromCharCode@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 1872 + i32.store $0 offset=4 + local.get $0 + i32.const 1872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 27 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - i32.const 1 - i32.shl - local.set $1 - loop $while-continue|0 - local.get $1 - if (result i32) - block $__inlined_func$~lib/util/string/isSpace (result i32) - local.get $0 - local.get $1 - i32.add - i32.const 2 - i32.sub - i32.load16_u $0 - local.tee $4 - i32.const 5760 - i32.lt_u - if - local.get $4 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $4 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 1 - local.get $4 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace - drop - block $break|0 - block $case6|0 - local.get $4 - i32.const 5760 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 8232 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 8233 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 8239 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 8287 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 12288 - i32.eq - br_if $case6|0 - local.get $4 - i32.const 65279 - i32.eq - br_if $case6|0 - br $break|0 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace - end - i32.const 0 - end - else + global.set $~argumentsLength + i32.const 65590 + call $~lib/string/String.fromCharCode@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 1872 + i32.store $0 offset=4 + local.get $0 + i32.const 1872 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 + i32.const 1120 + i32.const 28 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 55296 + i32.const 57088 + call $~lib/string/String.fromCharCode + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 1904 + i32.store $0 offset=4 + local.get $0 + i32.const 1904 + call $~lib/string/String.__eq + i32.eqz if - local.get $1 - i32.const 2 - i32.sub - local.set $1 - br $while-continue|0 + i32.const 0 + i32.const 1120 + i32.const 29 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - loop $while-continue|1 - local.get $1 - local.get $2 - i32.gt_u - if (result i32) - block $__inlined_func$~lib/util/string/isSpace0 (result i32) - local.get $0 - local.get $2 - i32.add - i32.load16_u $0 - local.tee $4 - i32.const 5760 - i32.lt_u - if - local.get $4 - i32.const 128 - i32.or - i32.const 160 - i32.eq - local.get $4 - i32.const 9 - i32.sub - i32.const 4 - i32.le_u - i32.or - br $__inlined_func$~lib/util/string/isSpace0 - end - i32.const 1 - local.get $4 - i32.const -8192 - i32.add - i32.const 10 - i32.le_u - br_if $__inlined_func$~lib/util/string/isSpace0 - drop - block $break|01 - block $case6|02 - local.get $4 - i32.const 5760 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 8232 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 8233 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 8239 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 8287 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 12288 - i32.eq - br_if $case6|02 - local.get $4 - i32.const 65279 - i32.eq - br_if $case6|02 - br $break|01 - end - i32.const 1 - br $__inlined_func$~lib/util/string/isSpace0 - end - i32.const 0 - end - else + i32.const 2 + i32.const 4 + i32.const 1936 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/string/String.fromCharCodes + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1968 + i32.store $0 offset=4 + local.get $0 + i32.const 1968 + call $~lib/string/String.__eq + i32.eqz + if i32.const 0 + i32.const 1120 + i32.const 30 + i32.const 1 + call $~lib/builtins/abort + unreachable end + i32.const 3 + i32.const 4 + i32.const 2000 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/string/String.fromCharCodes + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2032 + i32.store $0 offset=4 + local.get $0 + i32.const 2032 + call $~lib/string/String.__eq + i32.eqz 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 + i32.const 0 + i32.const 1120 + i32.const 31 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - local.get $1 - i32.eqz - if - global.get $~lib/memory/__stack_pointer + i32.const 5 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1712 - return - end - local.get $2 - i32.eqz - local.get $1 - local.get $3 - i32.const 1 - i32.shl - i32.eq - i32.and - if + i32.const 2064 + call $~lib/rt/__newArray + local.set $0 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 $1 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - local.get $2 - i32.add - local.get $1 - memory.copy $0 $0 - 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 (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $2 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - i32.add - local.tee $4 - i32.eqz - if + i32.store $0 offset=8 + local.get $0 + call $~lib/string/String.fromCharCodes + local.set $0 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 $4 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - local.get $2 - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.add - local.get $1 - local.get $3 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/string/String#repeat (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - i32.const 0 - i32.lt_s - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i64.extend_i32_s - local.get $1 - i64.extend_i32_s - i64.mul - i64.const 268435456 - i64.gt_u - i32.or - if - i32.const 14064 - i32.const 1328 - i32.const 334 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.get $4 - i32.eqz - local.get $1 - i32.eqz - i32.or - if + local.get $0 + i32.store $0 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 + i32.const 2112 + i32.store $0 offset=4 + local.get $0 + i32.const 2112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 32 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + call $~lib/string/String.fromCodePoint + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + local.tee $5 local.get $0 - return - end - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $4 - i32.mul - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $4 - i32.const 1 - i32.shl - local.tee $4 - local.get $1 - i32.mul - local.set $1 - loop $while-continue|0 - local.get $1 - local.get $2 - i32.gt_u + i32.store $0 + local.get $5 + i32.const 1776 + i32.store $0 offset=4 + local.get $0 + i32.const 1776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 34 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 54 + call $~lib/string/String.fromCodePoint + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 1872 + i32.store $0 offset=4 + local.get $0 + i32.const 1872 + call $~lib/string/String.__eq + i32.eqz if - local.get $2 - local.get $3 - i32.add - local.get $0 - local.get $4 - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.add - local.set $2 - br $while-continue|0 + i32.const 0 + i32.const 1120 + i32.const 35 + i32.const 1 + call $~lib/builtins/abort + unreachable end - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/string/String#replace (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.ge_u - if - local.get $3 - local.get $4 - i32.le_u + i32.const 119558 + call $~lib/string/String.fromCodePoint + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 + local.get $5 + i32.const 2144 + i32.store $0 offset=4 + local.get $0 + i32.const 2144 + call $~lib/string/String.__eq + i32.eqz if - local.get $2 - local.get $0 - local.get $1 - local.get $0 - call $~lib/string/String.__eq - select - local.set $0 + i32.const 0 + i32.const 1120 + i32.const 36 + i32.const 1 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add + local.tee $0 + global.get $std/string/str + local.tee $5 + i32.store $0 + local.get $0 + i32.const 2176 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 local.get $0 - return - end - local.get $0 - local.get $1 - i32.const 0 - call $~lib/string/String#indexOf - local.tee $1 - i32.const -1 - i32.xor - if - local.get $2 + local.get $5 + i32.store $0 + local.get $5 i32.const 20 i32.sub i32.load $0 offset=16 i32.const 1 i32.shr_u - local.tee $5 - local.get $4 - local.get $3 - i32.sub - local.tee $6 - i32.add - local.tee $4 - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - local.tee $7 - memory.copy $0 $0 - local.get $4 - local.get $7 - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $4 - local.get $1 - local.get $5 - i32.add - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $1 - local.get $3 - i32.add - i32.const 1 - i32.shl - i32.add + local.set $6 + local.get $0 + i32.const 2176 + i32.store $0 + block $__inlined_func$~lib/string/String#startsWith local.get $6 - local.get $1 - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - 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#replaceAll (type $i32_i32_i32_=>_i32) (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.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $3 - i32.const 0 - i32.store $0 offset=8 - block $folding-inner2 - block $folding-inner1 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $9 - i32.le_u - if - local.get $4 - local.get $9 - 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-inner2 - end - local.get $2 - i32.const 20 - i32.sub - i32.load $0 offset=16 + i32.const 2172 + i32.load $0 i32.const 1 - i32.shr_u - local.set $5 - local.get $9 - i32.eqz + i32.shr_u + local.tee $0 + i32.lt_s if - local.get $5 - i32.eqz - br_if $folding-inner2 - global.get $~lib/memory/__stack_pointer - local.get $4 - local.get $4 - i32.const 1 - i32.add - local.get $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $2 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $5 - local.set $1 - loop $for-loop|0 - local.get $4 - local.get $7 - i32.gt_u - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $7 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - 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 - memory.copy $0 $0 - local.get $1 - local.get $5 - i32.add - local.set $1 - local.get $7 - i32.const 1 - i32.add - local.set $7 - br $for-loop|0 - end - end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return + i32.const 0 + local.set $0 + br $__inlined_func$~lib/string/String#startsWith end + global.get $~lib/memory/__stack_pointer + local.tee $6 local.get $5 - local.get $9 - i32.eq - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - local.tee $3 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=4 - local.get $6 - local.get $0 - local.get $3 - memory.copy $0 $0 - loop $while-continue|1 - local.get $0 - local.get $1 - local.get $8 - call $~lib/string/String#indexOf - local.tee $3 - i32.const -1 - i32.xor - if - local.get $6 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $3 - local.get $9 - i32.add - local.set $8 - br $while-continue|1 - end - end - br $folding-inner1 - end - local.get $4 - local.set $3 - loop $while-continue|2 - local.get $0 - local.get $1 - local.get $8 - call $~lib/string/String#indexOf - local.tee $10 - i32.const -1 - i32.xor - if - local.get $6 - if (result i32) - local.get $6 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - else - i32.const 0 - end - i32.eqz - if - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $6 - i32.store $0 offset=8 - end - local.get $10 - local.get $8 - i32.sub - local.tee $11 - local.get $7 - i32.add - local.get $5 - i32.add - local.get $3 - i32.gt_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 $0 offset=8 - end - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $11 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $6 - local.get $7 - 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 - memory.copy $0 $0 - local.get $5 - local.get $7 - i32.add - local.set $7 - local.get $9 - local.get $10 - i32.add - local.set $8 - br $while-continue|2 - end - end + i32.store $0 local.get $6 - if - local.get $4 - local.get $8 - i32.sub - local.tee $1 - local.get $7 - i32.add - local.get $3 - i32.gt_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 $0 offset=8 - end - local.get $1 - if - local.get $6 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $8 - i32.const 1 - i32.shl - i32.add - local.get $1 + i32.const 2176 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 2176 + local.get $0 + 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 + end + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 38 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $5 + i32.store $0 + local.get $0 + i32.const 2208 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.shl - memory.copy $0 $0 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $1 - local.get $7 + unreachable + end + i32.const 536870910 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 2208 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $5 + i32.store $0 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $6 + local.get $0 + i32.const 2208 + i32.store $0 + block $__inlined_func$~lib/string/String#endsWith + local.get $1 + i32.const 0 + local.get $1 + i32.const 0 + i32.gt_s + select + local.tee $0 + local.get $6 + local.get $0 + local.get $6 + i32.lt_s + select + i32.const 2204 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $0 + i32.sub + local.tee $1 + i32.const 0 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.tee $0 - local.get $3 - i32.lt_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 $0 offset=8 - end - br $folding-inner1 + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $0 + br $__inlined_func$~lib/string/String#endsWith end - br $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $5 + i32.store $0 + local.get $6 + i32.const 2208 + i32.store $0 offset=4 + local.get $5 + local.get $1 + i32.const 2208 + local.get $0 + 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + 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 + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2240 + i32.store $0 offset=4 + local.get $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 2240 + i32.store $0 offset=4 + local.get $1 + i32.const 2240 + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 40 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + local.get $1 + i32.const 0 + i32.const 2272 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 42 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + local.get $1 + i32.const 15 + i32.const 2272 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 43 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + i32.const 1712 + i32.const 3 + i32.const 2272 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2304 + i32.store $0 offset=4 + local.get $0 + i32.const 2304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 44 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1712 + i32.const 10 + i32.const 1712 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 45 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1808 + i32.const 100 + i32.const 1712 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 46 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + i32.const 2336 + i32.const 5 + i32.const 2272 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2368 + i32.store $0 offset=4 + local.get $0 + i32.const 2368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 47 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2400 + i32.store $0 offset=16 + i32.const 2336 + i32.const 6 + i32.const 2400 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2432 + i32.store $0 offset=4 + local.get $0 + i32.const 2432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 48 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2400 + i32.store $0 offset=16 + i32.const 2336 + i32.const 8 + i32.const 2400 + call $~lib/string/String#padStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2464 + i32.store $0 offset=4 + local.get $0 + i32.const 2464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 49 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + local.get $1 + i32.const 0 + i32.const 2272 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 51 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + local.get $1 + i32.const 15 + i32.const 2272 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 52 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + i32.const 1712 + i32.const 3 + i32.const 2272 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2304 + i32.store $0 offset=4 + local.get $0 + i32.const 2304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 53 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1712 + i32.const 10 + i32.const 1712 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 54 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1808 + i32.const 100 + i32.const 1712 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 55 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2272 + i32.store $0 offset=16 + i32.const 2336 + i32.const 5 + i32.const 2272 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2512 + i32.store $0 offset=4 + local.get $0 + i32.const 2512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 56 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=16 + i32.const 2336 + i32.const 6 + i32.const 2336 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2544 + i32.store $0 offset=4 + local.get $0 + i32.const 2544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 57 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=16 + i32.const 2336 + i32.const 8 + i32.const 2336 + call $~lib/string/String#padEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2576 + i32.store $0 offset=4 + local.get $0 + i32.const 2576 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 58 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + i32.const 0 + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 1120 + i32.const 60 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2176 + i32.store $0 offset=4 + i32.const 1712 + i32.const 2176 + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 61 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 + local.get $0 + i32.const 1808 + i32.store $0 offset=4 + i32.const 1808 + i32.const 1808 + i32.const 0 + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 1120 + i32.const 62 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $1 + i32.const 0 + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 1120 + i32.const 63 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + local.get $1 + i32.const 1712 + i32.const 0 + call $~lib/string/String#indexOf + if + i32.const 0 + i32.const 1120 + i32.const 64 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $1 + i32.const 2624 + i32.const 0 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 65 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2656 + i32.store $0 offset=4 + local.get $1 + i32.const 2656 + i32.const 0 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 66 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $1 + i32.const 2624 + i32.const 2 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 67 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $1 + i32.const 2624 + i32.const 3 + call $~lib/string/String#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 68 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2688 + i32.store $0 offset=4 + local.get $1 + i32.const 2688 + i32.const -1 + call $~lib/string/String#indexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 69 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + i32.const 1712 + i32.const 1712 + call $~lib/string/String#lastIndexOf@varargs + if + i32.const 0 + i32.const 1120 + i32.const 71 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2176 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + i32.const 1712 + i32.const 2176 + call $~lib/string/String#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 72 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 1712 + call $~lib/string/String#lastIndexOf@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 73 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 2624 + call $~lib/string/String#lastIndexOf@varargs + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 74 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2656 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 2656 + call $~lib/string/String#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 75 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2720 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 2720 + call $~lib/string/String#lastIndexOf@varargs + i32.const 15 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 76 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $1 + i32.const 2624 + i32.const 2 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 77 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $1 + i32.const 2624 + i32.const 3 + call $~lib/string/String#lastIndexOf + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 78 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2688 + i32.store $0 offset=4 + local.get $1 + i32.const 2688 + i32.const -1 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 79 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2752 + i32.store $0 offset=4 + local.get $1 + i32.const 2752 + i32.const 0 + call $~lib/string/String#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 80 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $std/string/str + local.tee $1 + i32.store $0 + local.get $0 + i32.const 2176 + i32.store $0 offset=4 + local.get $1 + i32.const 2176 + i32.const 0 + call $~lib/string/String#lastIndexOf + if + i32.const 0 + i32.const 1120 + i32.const 81 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#localeCompare + if + i32.const 0 + i32.const 1120 + i32.const 83 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1808 + i32.const 1712 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 84 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1808 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1808 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 85 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2784 + i32.store $0 + local.get $0 + i32.const 2784 + i32.store $0 offset=4 + i32.const 2784 + i32.const 2784 + call $~lib/string/String#localeCompare + if + i32.const 0 + i32.const 1120 + i32.const 86 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 2816 + i32.store $0 offset=4 + i32.const 2336 + i32.const 2816 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 87 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 2848 + i32.store $0 offset=4 + i32.const 2336 + i32.const 2848 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 88 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2816 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 2816 + i32.const 2336 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 89 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2880 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 2880 + i32.const 2336 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 90 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2912 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 2912 + i32.const 2336 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 91 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2880 + i32.store $0 + local.get $0 + i32.const 2944 + i32.store $0 offset=4 + i32.const 2880 + i32.const 2944 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 92 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 2912 + i32.store $0 offset=4 + i32.const 2336 + i32.const 2912 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 93 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2944 + i32.store $0 + local.get $0 + i32.const 2880 + i32.store $0 offset=4 + i32.const 2944 + i32.const 2880 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 94 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2304 + i32.store $0 offset=4 + i32.const 1712 + i32.const 2304 + call $~lib/string/String#localeCompare + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 95 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1776 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1776 + i32.const 1712 + call $~lib/string/String#localeCompare + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 96 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=8 + i32.const 1712 + call $~lib/string/String#trimStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 98 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=8 + i32.const 2976 + call $~lib/string/String#trimStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=4 + local.get $0 + i32.const 2976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 99 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3008 + i32.store $0 offset=8 + i32.const 3008 + call $~lib/string/String#trimStart + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3056 + i32.store $0 offset=4 + local.get $0 + i32.const 3056 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 100 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=8 + i32.const 1712 + call $~lib/string/String#trimEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 102 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=8 + i32.const 2976 + call $~lib/string/String#trimEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=4 + local.get $0 + i32.const 2976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 103 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3008 + i32.store $0 offset=8 + i32.const 3008 + call $~lib/string/String#trimEnd + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 3104 + i32.store $0 offset=4 + local.get $0 + i32.const 3104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 104 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=8 + i32.const 1712 + call $~lib/string/String#trim + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 106 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=8 + i32.const 2976 + call $~lib/string/String#trim + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2976 + i32.store $0 offset=4 + local.get $0 + i32.const 2976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 107 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3008 + i32.store $0 offset=8 + i32.const 3008 + call $~lib/string/String#trim + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 108 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3152 + i32.store $0 offset=20 + local.get $0 + i32.const 3152 + i32.store $0 + i32.const 3152 + call $~lib/util/string/strtob + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 111 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3200 + i32.store $0 offset=24 + local.get $0 + i32.const 3200 + i32.store $0 + i32.const 3200 + call $~lib/util/string/strtob + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 112 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3248 + i32.store $0 offset=28 + local.get $0 + i32.const 3248 + i32.store $0 + i32.const 3248 + call $~lib/util/string/strtob + if + i32.const 0 + i32.const 1120 + i32.const 113 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=32 + local.get $0 + i32.const 1712 + i32.store $0 + i32.const 1712 + call $~lib/util/string/strtob + if + i32.const 0 + i32.const 1120 + i32.const 114 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3296 + i32.store $0 offset=36 + local.get $0 + i32.const 3296 + i32.store $0 + i32.const 3296 + call $~lib/util/string/strtob + if + i32.const 0 + i32.const 1120 + i32.const 115 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3328 + i32.store $0 offset=40 + local.get $0 + i32.const 3328 + i32.store $0 + i32.const 3328 + call $~lib/util/string/strtob + if + i32.const 0 + i32.const 1120 + i32.const 116 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3360 + i32.store $0 offset=44 + local.get $0 + i32.const 3360 + i32.store $0 + i32.const 3360 + call $~lib/util/string/strtob + if + i32.const 0 + i32.const 1120 + i32.const 117 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3392 + i32.store $0 + i32.const 3392 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 119 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3424 + i32.store $0 + i32.const 3424 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 120 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 + i32.const 3456 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 121 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3488 + i32.store $0 + i32.const 3488 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 122 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3520 + i32.store $0 + i32.const 3520 + i32.const 0 + call $~lib/string/parseInt + f64.const 5 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 123 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3552 + i32.store $0 + i32.const 3552 + i32.const 0 + call $~lib/string/parseInt + f64.const 455 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 124 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3584 + i32.store $0 + i32.const 3584 + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 125 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3616 + i32.store $0 + i32.const 3616 + i32.const 0 + call $~lib/string/parseInt + f64.const 3855 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 126 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3648 + i32.store $0 + i32.const 3648 + i32.const 0 + call $~lib/string/parseInt + f64.const 11 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 127 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3680 + i32.store $0 + i32.const 3680 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 128 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3712 + i32.store $0 + i32.const 3712 + i32.const 0 + call $~lib/string/parseInt + f64.const -123 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 129 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3744 + i32.store $0 + i32.const 3744 + i32.const 0 + call $~lib/string/parseInt + f64.const 123 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 130 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3776 + i32.store $0 + i32.const 3776 + i32.const 0 + call $~lib/string/parseInt + f64.const -12 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 131 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3392 + i32.store $0 + i32.const 3392 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 132 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3808 + i32.store $0 + i32.const 3808 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 133 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3840 + i32.store $0 + i32.const 3840 + i32.const 16 + call $~lib/string/parseInt + f64.const 2833 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 134 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3872 + i32.store $0 + i32.const 3872 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 135 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3904 + i32.store $0 + i32.const 3904 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 136 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3936 + i32.store $0 + i32.const 3936 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 137 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3968 + i32.store $0 + i32.const 3968 + i32.const 0 + call $~lib/string/parseInt + i64.reinterpret_f64 + i64.const 63 + i64.shr_u + i64.eqz + if + i32.const 0 + i32.const 1120 + i32.const 138 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4000 + i32.store $0 + i32.const 4000 + i32.const 0 + call $~lib/string/parseInt + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4048 + i32.store $0 + i32.const 4048 + i32.const 16 + call $~lib/string/parseInt + local.get $2 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 139 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4080 + i32.store $0 + i32.const 4080 + i32.const 0 + call $~lib/string/parseInt + f64.const 36893488147419103232 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 140 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4080 + i32.store $0 + i32.const 4080 + i32.const 13 + call $~lib/string/parseInt + f64.const 5135857308667095285760 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 141 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4144 + i32.store $0 + i32.const 4144 + i32.const 10 + call $~lib/string/parseInt + f64.const -1.e+24 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 142 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4224 + i32.store $0 + i32.const 4224 + i32.const 16 + call $~lib/string/parseInt + f64.const 75557863725914323419136 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 143 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4288 + i32.store $0 + i32.const 4288 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 144 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4320 + i32.store $0 + i32.const 4320 + i32.const 0 + call $~lib/string/parseInt + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 145 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4368 + i32.store $0 + i32.const 4368 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 147 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4400 + i32.store $0 + i32.const 4400 + i32.const 0 + call $~lib/string/parseInt + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 148 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4448 + i32.store $0 + i32.const 4448 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 149 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4480 + i32.store $0 + i32.const 4480 + i32.const 0 + call $~lib/string/parseInt + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 150 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4512 + i32.store $0 + i32.const 4512 + i32.const 0 + call $~lib/string/parseInt + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 151 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 + i32.const 1712 + i32.const 0 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 152 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4560 + i32.store $0 + i32.const 4560 + i32.const 0 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 153 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 + i32.const 4592 + i32.const 0 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 154 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2400 + i32.store $0 + i32.const 2400 + i32.const 37 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 155 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4624 + i32.store $0 + i32.const 4624 + i32.const 0 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 156 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4656 + i32.store $0 + i32.const 4656 + i32.const 0 + call $~lib/string/parseInt + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 157 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4656 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4656 + i32.store $0 + i32.const 4656 + call $~lib/util/string/strtod + 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 + local.get $3 + f32.eq + if + i32.const 0 + i32.const 1120 + i32.const 158 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4656 + i32.store $0 + i32.const 4656 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 159 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4656 + i32.store $0 offset=48 + local.get $0 + i32.const 4656 + i32.store $0 + i32.const 4656 + call $~lib/util/string/strtod + f32.demote_f64 + local.tee $3 + local.get $3 + f32.eq + if + i32.const 0 + i32.const 1120 + i32.const 160 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4656 + i32.store $0 offset=52 + local.get $0 + i32.const 4656 + i32.store $0 + i32.const 4656 + call $~lib/util/string/strtod + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 161 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4880 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4880 + i32.store $0 + call $~lib/util/string/strtol + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 2147483647 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 163 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4880 + i32.store $0 offset=56 + local.get $0 + i32.const 4880 + i32.store $0 + call $~lib/util/string/strtol + i32.const 2147483647 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 164 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4928 + i32.store $0 + local.get $0 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 26444 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 4928 + i32.store $0 + call $~lib/util/string/strtol + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + i64.const 9223372036854775807 + i64.ne + if + i32.const 0 + i32.const 1120 + i32.const 165 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4928 + i32.store $0 offset=60 + local.get $0 + i32.const 4928 + i32.store $0 + call $~lib/util/string/strtol + i64.const 9223372036854775807 + i64.ne + if + i32.const 0 + i32.const 1120 + i32.const 166 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3392 + i32.store $0 + i32.const 3392 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 169 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3456 + i32.store $0 + i32.const 3456 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 170 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4992 + i32.store $0 + i32.const 4992 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 171 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5024 + i32.store $0 + i32.const 5024 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 172 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5056 + i32.store $0 + i32.const 5056 + call $~lib/number/F64.parseFloat + f64.const 1e-05 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 173 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5088 + i32.store $0 + i32.const 5088 + call $~lib/number/F64.parseFloat + f64.const -1e-05 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 174 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5120 + i32.store $0 + i32.const 5120 + call $~lib/number/F64.parseFloat + f64.const -3e-23 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 175 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5168 + i32.store $0 + i32.const 5168 + call $~lib/number/F64.parseFloat + f64.const 3e21 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 176 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5216 + i32.store $0 + i32.const 5216 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 177 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5248 + i32.store $0 + i32.const 5248 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 178 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5280 + i32.store $0 + i32.const 5280 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 179 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5312 + i32.store $0 + i32.const 5312 + call $~lib/number/F64.parseFloat + f64.const 0.25 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 180 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5344 + i32.store $0 + i32.const 5344 + call $~lib/number/F64.parseFloat + f64.const 1e3 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 181 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5376 + i32.store $0 + i32.const 5376 + call $~lib/number/F64.parseFloat + f64.const 1e-10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 182 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5424 + i32.store $0 + i32.const 5424 + call $~lib/number/F64.parseFloat + f64.const 1e-30 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 183 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5472 + i32.store $0 + i32.const 5472 + call $~lib/number/F64.parseFloat + f64.const 1e-323 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 184 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5520 + i32.store $0 + i32.const 5520 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 185 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5568 + i32.store $0 + i32.const 5568 + call $~lib/number/F64.parseFloat + f64.const 1.e+308 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 186 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5600 + i32.store $0 + i32.const 5600 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 187 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 + i32.const 1712 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 188 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5632 + i32.store $0 + i32.const 5632 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 191 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5680 + i32.store $0 + i32.const 5680 + call $~lib/number/F64.parseFloat + f64.const 1e-10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 192 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5728 + i32.store $0 + i32.const 5728 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 193 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5776 + i32.store $0 + i32.const 5776 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 194 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5808 + i32.store $0 + i32.const 5808 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 195 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5840 + i32.store $0 + i32.const 5840 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 196 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5888 + i32.store $0 + i32.const 5888 + call $~lib/number/F64.parseFloat + f64.const 123456789 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 197 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5936 + i32.store $0 + i32.const 5936 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 198 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 5984 + i32.store $0 + i32.const 5984 + call $~lib/number/F64.parseFloat + f64.const 1e-60 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 200 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6016 + i32.store $0 + i32.const 6016 + call $~lib/number/F64.parseFloat + f64.const 1.e+60 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 201 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6048 + i32.store $0 + i32.const 6048 + call $~lib/number/F64.parseFloat + f64.const 123.4 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 204 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6080 + i32.store $0 + i32.const 6080 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 205 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6112 + i32.store $0 + i32.const 6112 + call $~lib/number/F64.parseFloat + f64.const -1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 206 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6160 + i32.store $0 + i32.const 6160 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 207 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6208 + i32.store $0 + i32.const 6208 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 208 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6256 + i32.store $0 + i32.const 6256 + call $~lib/number/F64.parseFloat + f64.const 0.022 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 209 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6304 + i32.store $0 + i32.const 6304 + call $~lib/number/F64.parseFloat + f64.const 11 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 210 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3808 + i32.store $0 + i32.const 3808 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 211 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6336 + i32.store $0 + i32.const 6336 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 212 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6368 + i32.store $0 + i32.const 6368 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 213 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6400 + i32.store $0 + i32.const 6400 + call $~lib/number/F64.parseFloat + f64.const 1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 214 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6432 + i32.store $0 + i32.const 6432 + call $~lib/number/F64.parseFloat + f64.const -1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 215 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6464 + i32.store $0 + i32.const 6464 + call $~lib/number/F64.parseFloat + f64.const -1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 216 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6496 + i32.store $0 + i32.const 6496 + call $~lib/number/F64.parseFloat + f64.const -1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 217 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6528 + i32.store $0 + i32.const 6528 + call $~lib/number/F64.parseFloat + f64.const -1.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 218 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6560 + i32.store $0 + i32.const 6560 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 219 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6592 + i32.store $0 + i32.const 6592 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 220 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6624 + i32.store $0 + i32.const 6624 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 221 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6656 + i32.store $0 + i32.const 6656 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 222 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6688 + i32.store $0 + i32.const 6688 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 223 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6720 + i32.store $0 + i32.const 6720 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 224 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6752 + i32.store $0 + i32.const 6752 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 225 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6800 + i32.store $0 + i32.const 6800 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 226 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6832 + i32.store $0 + i32.const 6832 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 227 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6864 + i32.store $0 + i32.const 6864 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 228 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6896 + i32.store $0 + i32.const 6896 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 229 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6928 + i32.store $0 + i32.const 6928 + call $~lib/number/F64.parseFloat + f64.const 10 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 230 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6960 + i32.store $0 + i32.const 6960 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 231 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 6992 + i32.store $0 + i32.const 6992 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 232 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7024 + i32.store $0 + i32.const 7024 + call $~lib/number/F64.parseFloat + f64.const 0.01 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 233 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7072 + i32.store $0 + i32.const 7072 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 234 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7104 + i32.store $0 + i32.const 7104 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 235 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7136 + i32.store $0 + i32.const 7136 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 236 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7168 + i32.store $0 + i32.const 7168 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 237 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7200 + i32.store $0 + i32.const 7200 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 238 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7232 + i32.store $0 + i32.const 7232 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 239 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7264 + i32.store $0 + i32.const 7264 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 240 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7296 + i32.store $0 + i32.const 7296 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 241 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7328 + i32.store $0 + i32.const 7328 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 242 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7360 + i32.store $0 + i32.const 7360 + call $~lib/number/F64.parseFloat + i64.reinterpret_f64 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 1120 + i32.const 243 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7392 + i32.store $0 + i32.const 7392 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.ne + i32.const 0 + i32.and + local.get $2 + i64.reinterpret_f64 + i64.const -9223372036854775808 + i64.eq + i32.or + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 244 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store $0 + i32.const 7424 + call $~lib/number/F64.parseFloat + i64.reinterpret_f64 + i64.const 0 + i64.ne + if + i32.const 0 + i32.const 1120 + i32.const 245 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3968 + i32.store $0 + i32.const 3968 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.ne + i32.const 0 + i32.and + local.get $2 + i64.reinterpret_f64 + i64.const -9223372036854775808 + i64.eq + i32.or + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 246 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store $0 + i32.const 7456 + call $~lib/number/F64.parseFloat + i64.reinterpret_f64 + i64.const -9223372036854775808 + i64.ne + if + i32.const 0 + i32.const 1120 + i32.const 247 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 + i32.const 4592 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 248 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4560 + i32.store $0 + i32.const 4560 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 249 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7504 + i32.store $0 + i32.const 7504 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 250 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7536 + i32.store $0 + i32.const 7536 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 251 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7568 + i32.store $0 + i32.const 7568 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 252 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7600 + i32.store $0 + i32.const 7600 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 253 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7632 + i32.store $0 + i32.const 7632 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 254 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7664 + i32.store $0 + i32.const 7664 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 255 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7696 + i32.store $0 + i32.const 7696 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 256 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7728 + i32.store $0 + i32.const 7728 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 257 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7760 + i32.store $0 + i32.const 7760 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 258 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7792 + i32.store $0 + i32.const 7792 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 259 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7824 + i32.store $0 + i32.const 7824 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 260 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7856 + i32.store $0 + i32.const 7856 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 261 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7888 + i32.store $0 + i32.const 7888 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 262 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 3360 + i32.store $0 + i32.const 3360 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 263 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7920 + i32.store $0 + i32.const 7920 + call $~lib/number/F64.parseFloat + f64.const 1e22 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 264 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7952 + i32.store $0 + i32.const 7952 + call $~lib/number/F64.parseFloat + f64.const 1e-22 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 265 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 7984 + i32.store $0 + i32.const 7984 + call $~lib/number/F64.parseFloat + f64.const 1.e+23 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 266 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8016 + i32.store $0 + i32.const 8016 + call $~lib/number/F64.parseFloat + f64.const 1e-23 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 267 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8048 + i32.store $0 + i32.const 8048 + call $~lib/number/F64.parseFloat + f64.const 1.e+37 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 268 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8080 + i32.store $0 + i32.const 8080 + call $~lib/number/F64.parseFloat + f64.const 1e-37 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 269 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8112 + i32.store $0 + i32.const 8112 + call $~lib/number/F64.parseFloat + f64.const 1.e+38 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 270 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8144 + i32.store $0 + i32.const 8144 + call $~lib/number/F64.parseFloat + f64.const 1e-38 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 271 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8176 + i32.store $0 + i32.const 8176 + call $~lib/number/F64.parseFloat + f64.const 2.220446049250313e-16 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 272 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8240 + i32.store $0 + i32.const 8240 + call $~lib/number/F64.parseFloat + f64.const 1797693134862315708145274e284 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 273 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8320 + i32.store $0 + i32.const 8320 + call $~lib/number/F64.parseFloat + f64.const 5e-324 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 274 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8352 + i32.store $0 + i32.const 8352 + call $~lib/number/F64.parseFloat + f64.const 1.e+308 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 275 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8400 + i32.store $0 + i32.const 8400 + call $~lib/number/F64.parseFloat + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 276 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8544 + i32.store $0 + i32.const 8544 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 277 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8592 + i32.store $0 + i32.const 8592 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 278 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8640 + i32.store $0 + i32.const 8640 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 279 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8688 + i32.store $0 + i32.const 8688 + call $~lib/number/F64.parseFloat + f64.const -inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 280 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8736 + i32.store $0 + i32.const 8736 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 281 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8784 + i32.store $0 + i32.const 8784 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 282 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8832 + i32.store $0 + i32.const 8832 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 283 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8864 + i32.store $0 + i32.const 8864 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 284 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8912 + i32.store $0 + i32.const 8912 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 285 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 8960 + i32.store $0 + i32.const 8960 + call $~lib/number/F64.parseFloat + f64.const -inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 286 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9008 + i32.store $0 + i32.const 9008 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 287 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9056 + i32.store $0 + i32.const 9056 + call $~lib/number/F64.parseFloat + f64.const inf + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 288 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9104 + i32.store $0 + i32.const 9104 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 289 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9136 + i32.store $0 + i32.const 9136 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 290 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9184 + i32.store $0 + i32.const 9184 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 291 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9232 + i32.store $0 + i32.const 9232 + call $~lib/number/F64.parseFloat + f64.const 0 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 295 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9424 + i32.store $0 + i32.const 9424 + call $~lib/number/F64.parseFloat + f64.const 1e-323 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 308 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 + i32.const 9616 + call $~lib/number/F64.parseFloat + f64.const 2.225073858507202e-308 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 312 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9808 + i32.store $0 offset=72 + local.get $0 + i32.const 9968 + i32.store $0 offset=76 + i32.const 9808 + i32.const 9968 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer + i32.const 10128 + i32.store $0 offset=68 + local.get $0 + i32.const 10128 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 10288 + i32.store $0 offset=16 + local.get $0 + i32.const 10288 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10448 + i32.store $0 offset=8 + local.get $0 + i32.const 10448 + call $~lib/string/String.__concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/number/F64.parseFloat + f64.const 1797693134862315708145274e284 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 315 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 10608 + i32.store $0 + i32.const 10608 + call $~lib/number/F64.parseFloat + f64.const 9.753531888799502e-104 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 333 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 10720 + i32.store $0 + i32.const 10720 + call $~lib/number/F64.parseFloat + f64.const 0.5961860348131807 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 334 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 10832 + i32.store $0 + i32.const 10832 + call $~lib/number/F64.parseFloat + f64.const 0.18150131692180388 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 335 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 10944 + i32.store $0 + i32.const 10944 + call $~lib/number/F64.parseFloat + f64.const 0.42070823575344535 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 336 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11056 + i32.store $0 + i32.const 11056 + call $~lib/number/F64.parseFloat + f64.const 0.6654686306516261 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 337 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11168 + i32.store $0 + i32.const 11168 + call $~lib/number/F64.parseFloat + f64.const 0.6101852922970868 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 338 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11280 + i32.store $0 + i32.const 11280 + call $~lib/number/F64.parseFloat + f64.const 0.7696695208236968 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 339 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11392 + i32.store $0 + i32.const 11392 + call $~lib/number/F64.parseFloat + f64.const 0.25050653222286823 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 340 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11504 + i32.store $0 + i32.const 11504 + call $~lib/number/F64.parseFloat + f64.const 0.2740037230228005 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 341 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11616 + i32.store $0 + i32.const 11616 + call $~lib/number/F64.parseFloat + f64.const 0.20723093500497428 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 342 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11728 + i32.store $0 + i32.const 11728 + call $~lib/number/F64.parseFloat + f64.const 7.900280238081605 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 343 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11840 + i32.store $0 + i32.const 11840 + call $~lib/number/F64.parseFloat + f64.const 98.22860653737297 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 344 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 11952 + i32.store $0 + i32.const 11952 + call $~lib/number/F64.parseFloat + f64.const 746.894972319037 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 345 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12064 + i32.store $0 + i32.const 12064 + call $~lib/number/F64.parseFloat + f64.const 1630.2683202827284 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 346 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12176 + i32.store $0 + i32.const 12176 + call $~lib/number/F64.parseFloat + f64.const 46371.68629719171 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 347 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12288 + i32.store $0 + i32.const 12288 + call $~lib/number/F64.parseFloat + f64.const 653780.5944497711 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 348 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12400 + i32.store $0 + i32.const 12400 + call $~lib/number/F64.parseFloat + f64.const 234632.43565024371 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 349 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12512 + i32.store $0 + i32.const 12512 + call $~lib/number/F64.parseFloat + f64.const 97094817.16420048 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 350 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12624 + i32.store $0 + i32.const 12624 + call $~lib/number/F64.parseFloat + f64.const 499690852.20518744 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 351 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12736 + i32.store $0 + i32.const 12736 + call $~lib/number/F64.parseFloat + f64.const 7925201200557245595648 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 352 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12848 + i32.store $0 + i32.const 12848 + call $~lib/number/F64.parseFloat + f64.const 6096564585983177528398588e5 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 353 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 12960 + i32.store $0 + i32.const 12960 + call $~lib/number/F64.parseFloat + f64.const 4800416117477028695992383e42 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 354 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13072 + i32.store $0 + i32.const 13072 + call $~lib/number/F64.parseFloat + f64.const 8524829079817968137287277e80 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 355 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13184 + i32.store $0 + i32.const 13184 + call $~lib/number/F64.parseFloat + f64.const 3271239291709782092398754e243 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 356 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13296 + i32.store $0 + i32.const 13296 + call $~lib/number/F64.parseFloat + local.tee $2 + local.get $2 + f64.eq + if + i32.const 0 + i32.const 1120 + i32.const 359 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13328 + i32.store $0 + i32.const 13328 + call $~lib/number/F64.parseFloat + f64.const 0.1 + f64.ne + if + i32.const 0 + i32.const 1120 + i32.const 360 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 + local.get $0 + i32.const 13360 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + i32.const 13360 + call $~lib/string/String.__concat + local.tee $0 + i32.store $0 offset=80 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13392 + i32.store $0 offset=4 + local.get $0 + i32.const 13392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 364 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 365 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 367 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + i32.const 0 + i32.const 0 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 369 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + i32.const 1712 + i32.const 0 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 371 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 0 + i32.const 1712 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 373 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 + local.get $0 + i32.const 13360 + i32.store $0 offset=4 + i32.const 1808 + i32.const 13360 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 375 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1808 + i32.store $0 + local.get $0 + i32.const 1808 + i32.store $0 offset=4 + i32.const 1808 + i32.const 1808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 376 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13424 + i32.store $0 + local.get $0 + i32.const 13456 + i32.store $0 offset=4 + i32.const 13424 + i32.const 13456 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 378 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13424 + i32.store $0 + local.get $0 + i32.const 13424 + i32.store $0 offset=4 + i32.const 13424 + i32.const 13424 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 379 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13488 + i32.store $0 + local.get $0 + i32.const 13520 + i32.store $0 offset=4 + i32.const 13488 + i32.const 13520 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 381 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13552 + i32.store $0 + local.get $0 + i32.const 13584 + i32.store $0 offset=4 + i32.const 13552 + i32.const 13584 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 383 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13616 + i32.store $0 + local.get $0 + i32.const 13616 + i32.store $0 offset=4 + i32.const 13616 + i32.const 13616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 384 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13616 + i32.store $0 + local.get $0 + i32.const 13664 + i32.store $0 offset=4 + i32.const 13616 + i32.const 13664 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 386 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13712 + i32.store $0 + local.get $0 + i32.const 13760 + i32.store $0 offset=4 + i32.const 13712 + i32.const 13760 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 388 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13360 + i32.store $0 + local.get $0 + i32.const 1808 + i32.store $0 offset=4 + i32.const 13360 + i32.const 1808 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 390 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13808 + i32.store $0 + local.get $0 + i32.const 1808 + i32.store $0 offset=4 + i32.const 13808 + i32.const 1808 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 391 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13808 + i32.store $0 + local.get $0 + i32.const 13840 + i32.store $0 offset=4 + i32.const 13808 + i32.const 13840 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 392 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13808 + i32.store $0 + local.get $0 + i32.const 13392 + i32.store $0 offset=4 + i32.const 13808 + i32.const 13392 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 393 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13808 + i32.store $0 + local.get $0 + i32.const 13392 + i32.store $0 offset=4 + i32.const 13808 + i32.const 13392 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 1120 + i32.const 394 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 2336 + i32.const 1712 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 396 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 1712 + i32.const 2336 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 397 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 2336 + i32.const 1712 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 398 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 1712 + i32.const 2336 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 399 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 2336 + i32.const 1712 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 1120 + i32.const 400 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2336 + i32.store $0 offset=4 + i32.const 1712 + i32.const 2336 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 1120 + i32.const 401 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 1120 + i32.const 402 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 1120 + i32.const 403 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 404 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1712 + i32.const 1712 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 405 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3456 + i32.store $0 + local.get $0 + i32.const 13872 + i32.store $0 offset=4 + i32.const 3456 + i32.const 13872 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 407 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13872 + i32.store $0 + local.get $0 + i32.const 3456 + i32.store $0 offset=4 + i32.const 13872 + i32.const 3456 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 408 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13872 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13872 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 1120 + i32.const 409 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13872 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13872 + i32.const 13904 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 1120 + i32.const 410 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13872 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13872 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 411 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13872 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13872 + i32.const 13904 + call $~lib/string/String.__lt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 412 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13904 + call $~lib/string/String.__lt + if + i32.const 0 + i32.const 1120 + i32.const 413 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13904 + call $~lib/string/String.__gt + if + i32.const 0 + i32.const 1120 + i32.const 414 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13904 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 415 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13904 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 416 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13872 + i32.store $0 + local.get $0 + i32.const 13936 + i32.store $0 offset=4 + i32.const 13872 + i32.const 13936 + call $~lib/string/String.__gte + if + i32.const 0 + i32.const 1120 + i32.const 417 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13936 + i32.store $0 + local.get $0 + i32.const 13872 + i32.store $0 offset=4 + i32.const 13936 + i32.const 13872 + call $~lib/string/String.__gte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 418 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13872 + i32.store $0 + local.get $0 + i32.const 13936 + i32.store $0 offset=4 + i32.const 13872 + i32.const 13936 + call $~lib/string/String.__lte + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 419 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 3456 + i32.store $0 + local.get $0 + i32.const 3456 + i32.store $0 offset=4 + i32.const 3456 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 420 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13904 + i32.store $0 + local.get $0 + i32.const 13904 + i32.store $0 offset=4 + i32.const 13904 + i32.const 13904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 421 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2400 + i32.store $0 + local.get $0 + i32.const 2400 + i32.store $0 offset=4 + i32.const 2400 + i32.const 2400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 422 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2400 + i32.store $0 + local.get $0 + i32.const 13968 + i32.store $0 offset=4 + i32.const 2400 + i32.const 13968 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 424 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14000 + i32.store $0 + local.get $0 + i32.const 14000 + i32.store $0 offset=4 + i32.const 14000 + i32.const 14000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 425 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14032 + i32.store $0 + local.get $0 + i32.const 14000 + i32.store $0 offset=4 + i32.const 14032 + i32.const 14000 + call $~lib/string/String.__ne + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 427 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 65377 + call $~lib/string/String.fromCodePoint + local.tee $0 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.set $1 + i32.const 55296 + call $~lib/string/String.fromCodePoint + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + i32.const 56322 + call $~lib/string/String.fromCodePoint + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $1 + local.get $5 + local.get $6 + call $~lib/string/String.__concat + local.tee $1 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/string/String.__gt + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 432 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 2400 + i32.store $0 + i32.const 2396 + i32.load $0 + i32.const 1 + i32.shr_u + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1120 + i32.const 435 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=8 + i32.const 1712 + i32.const 100 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 437 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 0 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 438 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 1 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 439 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 2 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13840 + i32.store $0 offset=4 + local.get $0 + i32.const 13840 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 440 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 3 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14112 + i32.store $0 offset=4 + local.get $0 + i32.const 14112 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 441 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 13392 + i32.store $0 offset=8 + i32.const 13392 + i32.const 4 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14144 + i32.store $0 offset=4 + local.get $0 + i32.const 14144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 442 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 5 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14192 + i32.store $0 offset=4 + local.get $0 + i32.const 14192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 443 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 6 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14224 + i32.store $0 offset=4 + local.get $0 + i32.const 14224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 444 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=8 + i32.const 1808 + i32.const 7 + call $~lib/string/String#repeat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14256 + i32.store $0 offset=4 + local.get $0 + i32.const 14256 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 445 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1712 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 447 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 1712 + i32.const 1712 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 448 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4592 + i32.store $0 offset=8 + local.get $0 + i32.const 4592 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 4592 + i32.const 4592 + i32.const 1712 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 449 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4592 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 4592 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 450 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 4560 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 4560 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 451 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 2336 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 452 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2912 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 2912 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 453 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 13392 + i32.store $0 offset=12 + local.get $0 + i32.const 13392 + i32.store $0 offset=16 + i32.const 2336 + i32.const 13392 + i32.const 13392 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 454 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14304 + i32.store $0 offset=8 + local.get $0 + i32.const 4560 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 14304 + i32.const 4560 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14336 + i32.store $0 offset=4 + local.get $0 + i32.const 14336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 455 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 1712 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14368 + i32.store $0 offset=4 + local.get $0 + i32.const 14368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 456 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14400 + i32.store $0 offset=8 + local.get $0 + i32.const 14432 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 14400 + i32.const 14432 + i32.const 4592 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14368 + i32.store $0 offset=4 + local.get $0 + i32.const 14368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 457 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 14464 + i32.store $0 offset=12 + local.get $0 + i32.const 14496 + i32.store $0 offset=16 + i32.const 2336 + i32.const 14464 + i32.const 14496 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14528 + i32.store $0 offset=4 + local.get $0 + i32.const 14528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 458 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 14464 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 2336 + i32.const 14464 + i32.const 1712 + call $~lib/string/String#replace + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 13392 + i32.store $0 offset=4 + local.get $0 + i32.const 13392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 459 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 2336 + i32.store $0 offset=16 + i32.const 1712 + i32.const 1712 + i32.const 2336 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 461 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 4560 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 4560 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 462 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2544 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2544 + i32.const 2336 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14496 + i32.store $0 offset=4 + local.get $0 + i32.const 14496 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 464 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14560 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 14560 + i32.const 2336 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14608 + i32.store $0 offset=4 + local.get $0 + i32.const 14608 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 465 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2544 + i32.store $0 offset=8 + local.get $0 + i32.const 13392 + i32.store $0 offset=12 + local.get $0 + i32.const 13392 + i32.store $0 offset=16 + i32.const 2544 + i32.const 13392 + i32.const 13392 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2544 + i32.store $0 offset=4 + local.get $0 + i32.const 2544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 466 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14640 + i32.store $0 offset=8 + local.get $0 + i32.const 1808 + i32.store $0 offset=12 + local.get $0 + i32.const 14608 + i32.store $0 offset=16 + i32.const 14640 + i32.const 1808 + i32.const 14608 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14688 + i32.store $0 offset=4 + local.get $0 + i32.const 14688 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 467 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2544 + i32.store $0 offset=8 + local.get $0 + i32.const 13392 + i32.store $0 offset=12 + local.get $0 + i32.const 14496 + i32.store $0 offset=16 + i32.const 2544 + i32.const 13392 + i32.const 14496 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14736 + i32.store $0 offset=4 + local.get $0 + i32.const 14736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 468 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14768 + i32.store $0 offset=8 + local.get $0 + i32.const 14800 + i32.store $0 offset=12 + local.get $0 + i32.const 14496 + i32.store $0 offset=16 + i32.const 14768 + i32.const 14800 + i32.const 14496 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14832 + i32.store $0 offset=4 + local.get $0 + i32.const 14832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 469 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2912 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 2912 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 470 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2912 + i32.store $0 offset=8 + local.get $0 + i32.const 14864 + i32.store $0 offset=12 + local.get $0 + i32.const 14496 + i32.store $0 offset=16 + i32.const 2912 + i32.const 14864 + i32.const 14496 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2912 + i32.store $0 offset=4 + local.get $0 + i32.const 2912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 471 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 14896 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 14896 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14928 + i32.store $0 offset=4 + local.get $0 + i32.const 14928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 472 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13392 + i32.store $0 offset=8 + local.get $0 + i32.const 13392 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 13392 + i32.const 13392 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 473 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14304 + i32.store $0 offset=8 + local.get $0 + i32.const 4560 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 14304 + i32.const 4560 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14960 + i32.store $0 offset=4 + local.get $0 + i32.const 14960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 474 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 1712 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 476 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 1712 + i32.const 1712 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 477 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4592 + i32.store $0 offset=8 + local.get $0 + i32.const 4592 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 4592 + i32.const 4592 + i32.const 1712 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 478 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 4592 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 4592 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4592 + i32.store $0 offset=4 + local.get $0 + i32.const 4592 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 479 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2336 + i32.store $0 offset=12 + local.get $0 + i32.const 4560 + i32.store $0 offset=16 + i32.const 2336 + i32.const 2336 + i32.const 4560 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4560 + i32.store $0 offset=4 + local.get $0 + i32.const 4560 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 480 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 2816 + i32.store $0 offset=12 + local.get $0 + i32.const 4560 + i32.store $0 offset=16 + i32.const 2336 + i32.const 2816 + i32.const 4560 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 481 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 4592 + i32.store $0 offset=16 + i32.const 2336 + i32.const 1712 + i32.const 4592 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 14992 + i32.store $0 offset=4 + local.get $0 + i32.const 14992 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 482 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + local.get $0 + i32.const 1712 + i32.store $0 offset=16 + i32.const 2336 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2336 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 483 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15040 + i32.store $0 offset=8 + local.get $0 + i32.const 1808 + i32.store $0 offset=12 + local.get $0 + i32.const 15072 + i32.store $0 offset=16 + i32.const 15040 + i32.const 1808 + i32.const 15072 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15104 + i32.store $0 offset=4 + local.get $0 + i32.const 15104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 486 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 13392 + i32.store $0 offset=8 + local.get $0 + i32.const 13392 + i32.store $0 offset=12 + local.get $0 + i32.const 15152 + i32.store $0 offset=16 + i32.const 13392 + i32.const 13392 + i32.const 15152 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15152 + i32.store $0 offset=4 + local.get $0 + i32.const 15152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 487 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14112 + i32.store $0 offset=8 + local.get $0 + i32.const 1808 + i32.store $0 offset=12 + local.get $0 + i32.const 15184 + i32.store $0 offset=16 + i32.const 14112 + i32.const 1808 + i32.const 15184 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15216 + i32.store $0 offset=4 + local.get $0 + i32.const 15216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 488 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 14112 + i32.store $0 offset=8 + local.get $0 + i32.const 13840 + i32.store $0 offset=12 + local.get $0 + i32.const 15072 + i32.store $0 offset=16 + i32.const 14112 + i32.const 13840 + i32.const 15072 + call $~lib/string/String#replaceAll + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15264 + i32.store $0 offset=4 + local.get $0 + i32.const 15264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 489 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 15296 + global.set $std/string/str + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=8 + i32.const 1 + global.set $~argumentsLength + i32.const 15296 + i32.const 0 + call $~lib/string/String#slice@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 493 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -1 + call $~lib/string/String#slice@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store $0 offset=4 + local.get $0 + i32.const 15344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 494 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -5 + call $~lib/string/String#slice@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15376 + i32.store $0 offset=4 + local.get $0 + i32.const 15376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 495 + 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 $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7 + call $~lib/string/String#slice + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store $0 offset=4 + local.get $0 + i32.const 15408 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 496 + 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 $0 offset=8 + local.get $0 + i32.const -11 + i32.const -6 + call $~lib/string/String#slice + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15440 + i32.store $0 offset=4 + local.get $0 + i32.const 15440 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 497 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const 3 + call $~lib/string/String#slice + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 498 + 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 $0 offset=8 + local.get $0 + i32.const 0 + i32.const -1 + call $~lib/string/String#slice + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store $0 offset=4 + local.get $0 + i32.const 15472 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 499 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 0 + call $~lib/string/String#substr@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 501 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -1 + call $~lib/string/String#substr@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store $0 offset=4 + local.get $0 + i32.const 15344 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 502 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -5 + call $~lib/string/String#substr@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15376 + i32.store $0 offset=4 + local.get $0 + i32.const 15376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 503 + 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 $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15520 + i32.store $0 offset=4 + local.get $0 + i32.const 15520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 504 + 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 $0 offset=8 + local.get $0 + i32.const -11 + i32.const -6 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 505 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const 3 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15568 + i32.store $0 offset=4 + local.get $0 + i32.const 15568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 506 + 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 $0 offset=8 + local.get $0 + i32.const 0 + i32.const -1 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 507 + 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 $0 offset=8 + local.get $0 + i32.const 0 + i32.const 100 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 508 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store $0 offset=4 + local.get $0 + i32.const 15600 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 509 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const -3 + call $~lib/string/String#substr + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 510 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 0 + call $~lib/string/String#substring@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 512 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -1 + call $~lib/string/String#substring@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 513 + 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 $0 offset=8 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const -5 + call $~lib/string/String#substring@varargs + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 514 + 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 $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store $0 offset=4 + local.get $0 + i32.const 15408 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 515 + 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 $0 offset=8 + local.get $0 + i32.const -11 + i32.const -6 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 516 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const 3 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15632 + i32.store $0 offset=4 + local.get $0 + i32.const 15632 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 517 + 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 $0 offset=8 + local.get $0 + i32.const 0 + i32.const -1 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 518 + 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 $0 offset=8 + local.get $0 + i32.const 0 + i32.const 100 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 15296 + i32.store $0 offset=4 + local.get $0 + i32.const 15296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 519 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const 4 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 520 + 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 $0 offset=8 + local.get $0 + i32.const 4 + i32.const -3 + call $~lib/string/String#substring + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 2912 + i32.store $0 offset=4 + local.get $0 + i32.const 2912 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 521 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + i32.const 0 + global.set $~argumentsLength + local.get $0 + i32.const 1712 + i32.const 0 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 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 527 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 1712 + i32.const 1712 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1120 + i32.const 529 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 1712 + i32.const 2624 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 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 531 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15840 + i32.store $0 + local.get $0 + i32.const 7632 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 15840 + i32.const 7632 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 15840 + i32.store $0 offset=4 + local.get $0 + i32.const 15840 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 533 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15840 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 15840 + i32.const 2624 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 535 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15872 + i32.store $0 + local.get $0 + i32.const 15920 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 15872 + i32.const 15920 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 537 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15952 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 15952 + i32.const 2624 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $1 + i32.const 1712 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 539 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15984 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 15984 + i32.const 2624 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $1 + i32.const 1712 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 541 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 16016 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 16016 + i32.const 2624 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 4 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $1 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 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 543 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $0 + i32.const 2336 + i32.const 1712 + call $~lib/string/String#split@varargs + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 545 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + i32.const 1712 + i32.const 0 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + if + i32.const 0 + i32.const 1120 + i32.const 547 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + i32.const 1712 + i32.const 1 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 549 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15840 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $0 + i32.const 15840 + i32.const 2624 + i32.const 1 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 1 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + local.get $0 + i32.const 1808 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 551 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + i32.const 1712 + i32.const 4 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 553 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 2336 + i32.store $0 + local.get $0 + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 2336 + i32.const 1712 + i32.const -1 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 555 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 15840 + i32.store $0 + local.get $0 + i32.const 2624 + i32.store $0 offset=4 + local.get $0 + i32.const 15840 + i32.const 2624 + i32.const -1 + call $~lib/string/String#split + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/array/Array#get:length + i32.const 3 + i32.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1808 + i32.store $0 offset=4 + 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 $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 13360 + i32.store $0 offset=4 + local.get $1 + i32.const 13360 + call $~lib/string/String.__eq + else + i32.const 0 + end + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + else + i32.const 0 + end + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 557 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 562 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3456 + i32.store $0 offset=4 + local.get $0 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 563 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17792 + i32.store $0 offset=4 + local.get $0 + i32.const 17792 + 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 12 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17824 + i32.store $0 offset=4 + local.get $0 + i32.const 17824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 565 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2400 + i32.store $0 offset=4 + local.get $0 + i32.const 2400 + 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 -1000 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17856 + i32.store $0 offset=4 + local.get $0 + i32.const 17856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 567 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 14000 + i32.store $0 offset=4 + local.get $0 + i32.const 14000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 568 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17888 + i32.store $0 offset=4 + local.get $0 + i32.const 17888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 569 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17920 + i32.store $0 offset=4 + local.get $0 + i32.const 17920 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 570 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17952 + i32.store $0 offset=4 + local.get $0 + i32.const 17952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 571 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18000 + i32.store $0 offset=4 + local.get $0 + i32.const 18000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 572 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18048 + i32.store $0 offset=4 + local.get $0 + i32.const 18048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 573 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18096 + i32.store $0 offset=4 + local.get $0 + i32.const 18096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 574 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18144 + i32.store $0 offset=4 + local.get $0 + i32.const 18144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 575 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18192 + i32.store $0 offset=4 + local.get $0 + i32.const 18192 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 576 + i32.const 1 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18240 + i32.store $0 offset=4 + local.get $0 + i32.const 18240 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 577 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18288 + i32.store $0 offset=4 + local.get $0 + i32.const 18288 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 578 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -128 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18320 + i32.store $0 offset=4 + local.get $0 + i32.const 18320 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 580 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -32768 + i32.const 10 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18352 + i32.store $0 offset=4 + local.get $0 + i32.const 18352 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 581 + i32.const 1 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18240 + i32.store $0 offset=4 + local.get $0 + i32.const 18240 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 582 + i32.const 1 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 584 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18384 + i32.store $0 offset=4 + local.get $0 + i32.const 18384 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 585 + 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 + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18192 + i32.store $0 offset=4 + local.get $0 + i32.const 18192 + 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 -2147483648 + i32.const 10 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18416 + i32.store $0 offset=4 + local.get $0 + i32.const 18416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 587 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18464 + i32.store $0 offset=4 + local.get $0 + i32.const 18464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 588 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 592 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3456 + i32.store $0 offset=4 + local.get $0 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 593 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 8 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17792 + i32.store $0 offset=4 + local.get $0 + i32.const 17792 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 594 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 595 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18512 + i32.store $0 offset=4 + local.get $0 + i32.const 18512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 596 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1234 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18544 + i32.store $0 offset=4 + local.get $0 + i32.const 18544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 597 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12345 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18576 + i32.store $0 offset=4 + local.get $0 + i32.const 18576 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 598 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123456 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18608 + i32.store $0 offset=4 + local.get $0 + i32.const 18608 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 599 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1111111 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18640 + i32.store $0 offset=4 + local.get $0 + i32.const 18640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 600 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1234567 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18672 + i32.store $0 offset=4 + local.get $0 + i32.const 18672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 601 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 12345678 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18704 + i32.store $0 offset=4 + local.get $0 + i32.const 18704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 602 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 123456789 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18736 + i32.store $0 offset=4 + local.get $0 + i32.const 18736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 603 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483646 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18784 + i32.store $0 offset=4 + local.get $0 + i32.const 18784 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 604 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18832 + i32.store $0 offset=4 + local.get $0 + i32.const 18832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 605 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18880 + i32.store $0 offset=4 + local.get $0 + i32.const 18880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 606 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 16 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18928 + i32.store $0 offset=4 + local.get $0 + i32.const 18928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 607 + 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.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 609 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -4096 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17856 + i32.store $0 offset=4 + local.get $0 + i32.const 17856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 610 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 2147483647 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18832 + i32.store $0 offset=4 + local.get $0 + i32.const 18832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 611 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483647 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18976 + i32.store $0 offset=4 + local.get $0 + i32.const 18976 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 612 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -268435455 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19024 + i32.store $0 offset=4 + local.get $0 + i32.const 19024 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 613 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19072 + i32.store $0 offset=4 + local.get $0 + i32.const 19072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 614 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2147483648 + i32.const 16 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19072 + i32.store $0 offset=4 + local.get $0 + i32.const 19072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 615 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 619 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3456 + i32.store $0 offset=4 + local.get $0 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 620 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 3 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 13904 + i32.store $0 offset=4 + local.get $0 + i32.const 13904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 621 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 7 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19120 + i32.store $0 offset=4 + local.get $0 + i32.const 19120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 622 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 14 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19152 + i32.store $0 offset=4 + local.get $0 + i32.const 19152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 623 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 29 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19184 + i32.store $0 offset=4 + local.get $0 + i32.const 19184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 624 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 59 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19216 + i32.store $0 offset=4 + local.get $0 + i32.const 19216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 625 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 4095 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19248 + i32.store $0 offset=4 + local.get $0 + i32.const 19248 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 626 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 33554431 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19296 + i32.store $0 offset=4 + local.get $0 + i32.const 19296 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 627 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -12 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19376 + i32.store $0 offset=4 + local.get $0 + i32.const 19376 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 628 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -4 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19472 + i32.store $0 offset=4 + local.get $0 + i32.const 19472 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 629 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19568 + i32.store $0 offset=4 + local.get $0 + i32.const 19568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 630 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 2 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19664 + i32.store $0 offset=4 + local.get $0 + i32.const 19664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 631 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -2047 + i32.const 2 + call $~lib/util/number/itoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19760 + i32.store $0 offset=4 + local.get $0 + i32.const 19760 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 633 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 3 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19808 + i32.store $0 offset=4 + local.get $0 + i32.const 19808 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 637 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 4 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19872 + i32.store $0 offset=4 + local.get $0 + i32.const 19872 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 638 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 5 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19936 + i32.store $0 offset=4 + local.get $0 + i32.const 19936 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 639 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 8 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19984 + i32.store $0 offset=4 + local.get $0 + i32.const 19984 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 640 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 11 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20032 + i32.store $0 offset=4 + local.get $0 + i32.const 20032 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 641 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 15 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20080 + i32.store $0 offset=4 + local.get $0 + i32.const 20080 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 642 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 17 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20128 + i32.store $0 offset=4 + local.get $0 + i32.const 20128 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 643 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 21 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20176 + i32.store $0 offset=4 + local.get $0 + i32.const 20176 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 644 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 27 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20224 + i32.store $0 offset=4 + local.get $0 + i32.const 20224 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 645 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 32 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20272 + i32.store $0 offset=4 + local.get $0 + i32.const 20272 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 646 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const -1 + i32.const 36 + call $~lib/util/number/utoa32 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20320 + i32.store $0 offset=4 + local.get $0 + i32.const 20320 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 647 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 651 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 12 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17824 + i32.store $0 offset=4 + local.get $0 + i32.const 17824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 652 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 123 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 2400 + i32.store $0 offset=4 + local.get $0 + i32.const 2400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 653 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1234 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 14000 + i32.store $0 offset=4 + local.get $0 + i32.const 14000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 654 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 12345 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17888 + i32.store $0 offset=4 + local.get $0 + i32.const 17888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 655 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 123456 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 17920 + i32.store $0 offset=4 + local.get $0 + i32.const 17920 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 656 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1234567 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18000 + i32.store $0 offset=4 + local.get $0 + i32.const 18000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 657 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 99999999 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20368 + i32.store $0 offset=4 + local.get $0 + i32.const 20368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 658 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 100000000 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20416 + i32.store $0 offset=4 + local.get $0 + i32.const 20416 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 659 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18464 + i32.store $0 offset=4 + local.get $0 + i32.const 18464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 660 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20464 + i32.store $0 offset=4 + local.get $0 + i32.const 20464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 661 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20512 + i32.store $0 offset=4 + local.get $0 + i32.const 20512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 662 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20560 + i32.store $0 offset=4 + local.get $0 + i32.const 20560 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 663 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 8687194767350 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20608 + i32.store $0 offset=4 + local.get $0 + i32.const 20608 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 664 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 86871947673501 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20656 + i32.store $0 offset=4 + local.get $0 + i32.const 20656 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 665 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20704 + i32.store $0 offset=4 + local.get $0 + i32.const 20704 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 666 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 9999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20768 + i32.store $0 offset=4 + local.get $0 + i32.const 20768 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 667 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 19999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20832 + i32.store $0 offset=4 + local.get $0 + i32.const 20832 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 668 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 129999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20896 + i32.store $0 offset=4 + local.get $0 + i32.const 20896 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 669 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1239999868719476735 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20960 + i32.store $0 offset=4 + local.get $0 + i32.const 20960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 670 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 10 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21024 + i32.store $0 offset=4 + local.get $0 + i32.const 21024 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 671 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 673 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1234 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21088 + i32.store $0 offset=4 + local.get $0 + i32.const 21088 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 674 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18464 + i32.store $0 offset=4 + local.get $0 + i32.const 18464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 675 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967297 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20464 + i32.store $0 offset=4 + local.get $0 + i32.const 20464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 676 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -4294967295 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21120 + i32.store $0 offset=4 + local.get $0 + i32.const 21120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 677 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 68719476735 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 20512 + i32.store $0 offset=4 + local.get $0 + i32.const 20512 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 678 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -68719476735 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21168 + i32.store $0 offset=4 + local.get $0 + i32.const 21168 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 679 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -868719476735 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21216 + i32.store $0 offset=4 + local.get $0 + i32.const 21216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 680 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -999868719476735 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21264 + i32.store $0 offset=4 + local.get $0 + i32.const 21264 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 681 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -19999868719476735 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21328 + i32.store $0 offset=4 + local.get $0 + i32.const 21328 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 682 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 9223372036854775807 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21392 + i32.store $0 offset=4 + local.get $0 + i32.const 21392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 683 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775808 + i32.const 10 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21456 + i32.store $0 offset=4 + local.get $0 + i32.const 21456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 684 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 688 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3456 + i32.store $0 offset=4 + local.get $0 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 689 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 12 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 14464 + i32.store $0 offset=4 + local.get $0 + i32.const 14464 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 690 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1234 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18544 + i32.store $0 offset=4 + local.get $0 + i32.const 18544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 691 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1111111 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 18640 + i32.store $0 offset=4 + local.get $0 + i32.const 18640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 692 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 8589934591 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21520 + i32.store $0 offset=4 + local.get $0 + i32.const 21520 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 693 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 5942249508321 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21568 + i32.store $0 offset=4 + local.get $0 + i32.const 21568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 694 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 76310993685985 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21616 + i32.store $0 offset=4 + local.get $0 + i32.const 21616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 695 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 920735923817967 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21664 + i32.store $0 offset=4 + local.get $0 + i32.const 21664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 696 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 9927935178558959 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21712 + i32.store $0 offset=4 + local.get $0 + i32.const 21712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 697 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 81985529216486895 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21760 + i32.store $0 offset=4 + local.get $0 + i32.const 21760 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 698 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1311768467463790320 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21824 + i32.store $0 offset=4 + local.get $0 + i32.const 21824 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 699 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 9223372036854775807 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21888 + i32.store $0 offset=4 + local.get $0 + i32.const 21888 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 700 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 16 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 21952 + i32.store $0 offset=4 + local.get $0 + i32.const 21952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 701 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775807 + i32.const 16 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22016 + i32.store $0 offset=4 + local.get $0 + i32.const 22016 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 703 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22080 + i32.store $0 offset=4 + local.get $0 + i32.const 22080 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 704 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -9223372036854775808 + i32.const 16 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22080 + i32.store $0 offset=4 + local.get $0 + i32.const 22080 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 705 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 0 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3392 + i32.store $0 offset=4 + local.get $0 + i32.const 3392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 709 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 1 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 3456 + i32.store $0 offset=4 + local.get $0 + i32.const 3456 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 710 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 7 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19120 + i32.store $0 offset=4 + local.get $0 + i32.const 19120 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 711 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 14 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19152 + i32.store $0 offset=4 + local.get $0 + i32.const 19152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 712 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 59 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19216 + i32.store $0 offset=4 + local.get $0 + i32.const 19216 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 713 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4095 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19248 + i32.store $0 offset=4 + local.get $0 + i32.const 19248 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 714 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 4294967295 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 19664 + i32.store $0 offset=4 + local.get $0 + i32.const 19664 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 715 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const 562949953421311 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22144 + i32.store $0 offset=4 + local.get $0 + i32.const 22144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 716 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 2 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22272 + i32.store $0 offset=4 + local.get $0 + i32.const 22272 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 717 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -8589934591 + i32.const 2 + call $~lib/util/number/itoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22432 + i32.store $0 offset=4 + local.get $0 + i32.const 22432 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 719 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 3 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22528 + i32.store $0 offset=4 + local.get $0 + i32.const 22528 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 723 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 4 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22640 + i32.store $0 offset=4 + local.get $0 + i32.const 22640 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 724 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 5 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22736 + i32.store $0 offset=4 + local.get $0 + i32.const 22736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 725 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 8 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22816 + i32.store $0 offset=4 + local.get $0 + i32.const 22816 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 726 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 11 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22880 + i32.store $0 offset=4 + local.get $0 + i32.const 22880 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 727 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 15 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 22944 + i32.store $0 offset=4 + local.get $0 + i32.const 22944 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 728 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 17 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23008 + i32.store $0 offset=4 + local.get $0 + i32.const 23008 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 729 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 21 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23072 + i32.store $0 offset=4 + local.get $0 + i32.const 23072 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 730 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 27 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23136 + i32.store $0 offset=4 + local.get $0 + i32.const 23136 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 731 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 32 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23184 + i32.store $0 offset=4 + local.get $0 + i32.const 23184 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 732 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i64.const -1 + i32.const 36 + call $~lib/util/number/utoa64 + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23232 + i32.store $0 offset=4 + local.get $0 + i32.const 23232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 733 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23280 + i32.store $0 offset=4 + local.get $0 + i32.const 23280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 736 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -0 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23280 + i32.store $0 offset=4 + local.get $0 + i32.const 23280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 737 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const nan:0x8000000000000 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 7696 + i32.store $0 offset=4 + local.get $0 + i32.const 7696 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 738 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23312 + i32.store $0 offset=4 + local.get $0 + i32.const 23312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 739 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8960 + i32.store $0 offset=4 + local.get $0 + i32.const 8960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 740 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2.220446049250313e-16 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8176 + i32.store $0 offset=4 + local.get $0 + i32.const 8176 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 741 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -2.220446049250313e-16 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24336 + i32.store $0 offset=4 + local.get $0 + i32.const 24336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 742 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8240 + i32.store $0 offset=4 + local.get $0 + i32.const 8240 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 743 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1797693134862315708145274e284 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24400 + i32.store $0 offset=4 + local.get $0 + i32.const 24400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 744 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 4185580496821356722454785e274 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24480 + i32.store $0 offset=4 + local.get $0 + i32.const 24480 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 745 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2.2250738585072014e-308 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24544 + i32.store $0 offset=4 + local.get $0 + i32.const 24544 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 746 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 4.940656e-318 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24624 + i32.store $0 offset=4 + local.get $0 + i32.const 24624 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 749 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 9060801153433600 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24672 + i32.store $0 offset=4 + local.get $0 + i32.const 24672 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 750 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 4708356024711512064 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24736 + i32.store $0 offset=4 + local.get $0 + i32.const 24736 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 751 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 9409340012568248320 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24800 + i32.store $0 offset=4 + local.get $0 + i32.const 24800 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 752 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 5e-324 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8320 + i32.store $0 offset=4 + local.get $0 + i32.const 8320 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 753 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24864 + i32.store $0 offset=4 + local.get $0 + i32.const 24864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 759 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0.1 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 5280 + i32.store $0 offset=4 + local.get $0 + i32.const 5280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 760 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24896 + i32.store $0 offset=4 + local.get $0 + i32.const 24896 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 761 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -0.1 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24928 + i32.store $0 offset=4 + local.get $0 + i32.const 24928 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 762 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e6 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24960 + i32.store $0 offset=4 + local.get $0 + i32.const 24960 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 764 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-06 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25008 + i32.store $0 offset=4 + local.get $0 + i32.const 25008 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 765 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1e6 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25056 + i32.store $0 offset=4 + local.get $0 + i32.const 25056 + 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 -1e-06 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25104 + i32.store $0 offset=4 + local.get $0 + i32.const 25104 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 767 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e7 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25152 + i32.store $0 offset=4 + local.get $0 + i32.const 25152 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 768 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-07 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25200 + i32.store $0 offset=4 + local.get $0 + i32.const 25200 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 769 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.e+308 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 5568 + i32.store $0 offset=4 + local.get $0 + i32.const 5568 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 771 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1.e+308 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25232 + i32.store $0 offset=4 + local.get $0 + i32.const 25232 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 772 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23312 + i32.store $0 offset=4 + local.get $0 + i32.const 23312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 773 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -inf + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 8960 + i32.store $0 offset=4 + local.get $0 + i32.const 8960 + 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 1e-308 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25280 + i32.store $0 offset=4 + local.get $0 + i32.const 25280 + 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 -1e-308 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25312 + i32.store $0 offset=4 + local.get $0 + i32.const 25312 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 776 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1e-323 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25360 + i32.store $0 offset=4 + local.get $0 + i32.const 25360 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 777 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const -1e-323 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25392 + i32.store $0 offset=4 + local.get $0 + i32.const 25392 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 778 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 23280 + i32.store $0 offset=4 + local.get $0 + i32.const 23280 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 779 + i32.const 1 + call $~lib/builtins/abort + unreachable end + f64.const 4294967272 + call $~lib/util/number/dtoa + local.set $0 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 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/string/String#slice (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 26444 - i32.lt_s - if - i32.const 59232 - i32.const 59280 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 0 - i32.lt_s - if (result i32) + local.tee $1 + local.get $0 + i32.store $0 local.get $1 - local.get $3 - i32.add + i32.const 25440 + i32.store $0 offset=4 + local.get $0 + i32.const 25440 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 781 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.2312145673456234e-08 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25488 + i32.store $0 offset=4 + local.get $0 + i32.const 25488 + 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 + f64.const 555555555.5555556 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25552 + i32.store $0 offset=4 + local.get $0 + i32.const 25552 + 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 + f64.const 0.9999999999999999 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25616 + i32.store $0 offset=4 + local.get $0 + i32.const 25616 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 785 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 24864 + i32.store $0 offset=4 + local.get $0 + i32.const 24864 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 786 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 12.34 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25680 + i32.store $0 offset=4 + local.get $0 + i32.const 25680 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 787 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0.3333333333333333 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25712 + i32.store $0 offset=4 + local.get $0 + i32.const 25712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 789 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e17 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25776 + i32.store $0 offset=4 + local.get $0 + i32.const 25776 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 790 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1234e18 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25856 + i32.store $0 offset=4 + local.get $0 + i32.const 25856 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 791 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 2.71828 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25904 + i32.store $0 offset=4 + local.get $0 + i32.const 25904 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 792 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0.0271828 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 25952 + i32.store $0 offset=4 + local.get $0 + i32.const 25952 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 793 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 271.828 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 26000 + i32.store $0 offset=4 + local.get $0 + i32.const 26000 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 794 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e+128 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 26048 + i32.store $0 offset=4 + local.get $0 + i32.const 26048 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 795 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 1.1e-64 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else + local.get $0 + i32.store $0 local.get $1 - local.get $3 + i32.const 26096 + i32.store $0 offset=4 + local.get $0 + i32.const 26096 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 796 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + f64.const 0.000035689 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 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 26144 + i32.store $0 offset=4 + local.get $0 + i32.const 26144 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 797 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26192 + i32.store $0 offset=8 + local.get $0 + i32.const 26224 + i32.store $0 offset=12 + i32.const 26192 + i32.const 26224 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 26256 + i32.store $0 offset=4 + local.get $0 + i32.const 26256 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 802 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 26304 + i32.store $0 offset=12 + i32.const 1712 + i32.const 26304 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 26304 + i32.store $0 offset=4 + local.get $0 + i32.const 26304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 803 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26304 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 offset=12 + i32.const 26304 + i32.const 1712 + call $~lib/string/String#concat + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 26304 + i32.store $0 offset=4 + local.get $0 + i32.const 26304 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 804 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1712 + i32.store $0 offset=8 + local.get $0 + i32.const 1712 + i32.store $0 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 1712 + i32.store $0 offset=4 + local.get $0 + i32.const 1712 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 805 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26336 + i32.store $0 + local.get $0 + i32.const 26336 + i32.store $0 offset=4 + i32.const 26336 + i32.const 26336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 816 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26336 + i32.store $0 + local.get $0 + i32.const 26336 + i32.store $0 offset=4 + i32.const 26336 + i32.const 26336 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 817 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26368 + i32.store $0 + local.get $0 + i32.const 26368 + i32.store $0 offset=4 + i32.const 26368 + i32.const 26368 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 818 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 26400 + i32.store $0 + local.get $0 + i32.const 26400 + i32.store $0 offset=4 + i32.const 26400 + i32.const 26400 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 1120 + i32.const 819 + i32.const 1 + call $~lib/builtins/abort + unreachable + end i32.const 0 - local.get $2 + global.set $std/string/str + i32.const 59212 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state 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.le_s - if + 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 4 + i32.const 96 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 - i32.shl - local.tee $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 + return + end + i32.const 59232 + i32.const 59280 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $~lib/string/String#substr (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/string/String.fromCharCode (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -23142,80 +24866,39 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 i32.store $0 local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 + i32.const 2 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 - local.get $1 - i32.sub + i32.gt_s 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 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 2 call $~lib/rt/itcms/__new - local.tee $3 + local.tee $2 i32.store $0 - local.get $3 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add local.get $2 - memory.copy $0 $0 + local.get $0 + i32.store16 $0 + local.get $3 + if + local.get $2 + local.get $1 + i32.store16 $0 offset=2 + end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 + local.get $2 ) - (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_=>_i32) (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 @@ -23232,103 +24915,57 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $5 i32.const 0 i32.store $0 - 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 $0 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.gt_s - select - i32.const 1 + i32.const 2 i32.shl - local.set $4 - local.get $3 - local.get $2 - local.get $2 - local.get $3 - i32.lt_s - select + local.tee $4 i32.const 1 - i32.shl - local.tee $2 - local.get $4 - 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 - local.get $4 - i32.eqz + call $~lib/rt/itcms/__new + local.set $3 local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - return + local.get $3 + local.get $2 + local.get $4 + memory.copy $0 $0 end - global.get $~lib/memory/__stack_pointer + local.get $5 local.get $3 - i32.const 2 + i32.store $0 + i32.const 16 + local.get $1 call $~lib/rt/itcms/__new local.tee $1 + local.get $3 i32.store $0 + local.get $3 + if + local.get $1 + local.get $3 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end local.get $1 - local.get $0 - local.get $4 - i32.add local.get $3 - memory.copy $0 $0 + i32.store $0 offset=4 + local.get $1 + local.get $4 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 offset=12 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>#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/string/String.fromCodePoint (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -23345,45 +24982,61 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 i32.store $0 local.get $1 - local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1264 - i32.const 15664 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.load $0 offset=4 - local.get $1 i32.const 2 + local.get $0 + i32.const 65535 + i32.gt_u + local.tee $2 i32.shl - i32.add - i32.load $0 - local.tee $0 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 i32.store $0 - local.get $0 - i32.eqz + local.get $2 if - i32.const 15712 - i32.const 15664 - i32.const 118 - i32.const 40 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 1114111 + i32.gt_u + if + i32.const 0 + i32.const 1328 + i32.const 39 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + 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 $0 + else + local.get $1 + local.get $0 + i32.store16 $0 end global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) diff --git a/tests/compiler/std/symbol.debug.wat b/tests/compiler/std/symbol.debug.wat index 2738e5f8b1..f33223b3f6 100644 --- a/tests/compiler/std/symbol.debug.wat +++ b/tests/compiler/std/symbol.debug.wat @@ -2415,242 +2415,236 @@ i32.shr_u return ) - (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $key i32) (result i32) - (local $key|1 i32) - (local $h i32) - (local $len i32) - (local $pos i32) - (local $s1 i32) - (local $s2 i32) - (local $s3 i32) - (local $s4 i32) - (local $end i32) - (local $h|10 i32) - (local $key|11 i32) - (local $h|12 i32) - (local $key|13 i32) - (local $h|14 i32) - (local $key|15 i32) - (local $h|16 i32) - (local $key|17 i32) - (local $end|18 i32) + (func $~lib/map/Map<~lib/string/String,usize>#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#get:key (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 + ) + (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 + i32.const 1 + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 i32.const 1 + i32.shl + i32.add + local.set $ptr2 + i32.const 0 + i32.const 2 + i32.lt_s drop - block $~lib/util/hash/hashStr|inlined.0 (result i32) - local.get $key - local.set $key|1 - local.get $key|1 + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else i32.const 0 - i32.eq - if - i32.const 0 - br $~lib/util/hash/hashStr|inlined.0 + end + if + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load $0 + local.get $ptr2 + i64.load $0 + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end end - local.get $key|1 - call $~lib/string/String#get:length + end + loop $while-continue|1 + local.get $len + local.tee $7 i32.const 1 - i32.shl - local.set $h - local.get $h + i32.sub local.set $len - local.get $key|1 - local.set $pos - local.get $len - i32.const 16 - i32.ge_u + local.get $7 if - i32.const 0 - i32.const -1640531535 - i32.add - i32.const -2048144777 - i32.add - local.set $s1 - i32.const 0 - i32.const -2048144777 - i32.add - local.set $s2 - i32.const 0 - local.set $s3 - i32.const 0 - i32.const -1640531535 - i32.sub - local.set $s4 - local.get $len - local.get $pos - i32.add - i32.const 16 - i32.sub - local.set $end - loop $while-continue|0 - local.get $pos - local.get $end - i32.le_u - if - block $~lib/util/hash/mix|inlined.0 (result i32) - local.get $s1 - local.set $h|10 - local.get $pos - i32.load $0 - local.set $key|11 - local.get $h|10 - local.get $key|11 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - br $~lib/util/hash/mix|inlined.0 - end - local.set $s1 - block $~lib/util/hash/mix|inlined.1 (result i32) - local.get $s2 - local.set $h|12 - local.get $pos - i32.load $0 offset=4 - local.set $key|13 - local.get $h|12 - local.get $key|13 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - br $~lib/util/hash/mix|inlined.1 - end - local.set $s2 - block $~lib/util/hash/mix|inlined.2 (result i32) - local.get $s3 - local.set $h|14 - local.get $pos - i32.load $0 offset=8 - local.set $key|15 - local.get $h|14 - local.get $key|15 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - br $~lib/util/hash/mix|inlined.2 - end - local.set $s3 - block $~lib/util/hash/mix|inlined.3 (result i32) - local.get $s4 - local.set $h|16 - local.get $pos - i32.load $0 offset=12 - local.set $key|17 - local.get $h|16 - local.get $key|17 - i32.const -2048144777 - i32.mul - i32.add - i32.const 13 - i32.rotl - i32.const -1640531535 - i32.mul - br $~lib/util/hash/mix|inlined.3 - end - local.set $s4 - local.get $pos - i32.const 16 - i32.add - local.set $pos - br $while-continue|0 - end + local.get $ptr1 + i32.load16_u $0 + local.set $a + local.get $ptr2 + i32.load16_u $0 + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return end - local.get $h - local.get $s1 - i32.const 1 - i32.rotl - local.get $s2 - i32.const 7 - i32.rotl - i32.add - local.get $s3 - i32.const 12 - i32.rotl - i32.add - local.get $s4 - i32.const 18 - i32.rotl - i32.add - i32.add - local.set $h - else - local.get $h - i32.const 0 - i32.const 374761393 + local.get $ptr1 + i32.const 2 i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 i32.add - local.set $h + local.set $ptr2 + br $while-continue|1 end - local.get $key|1 + end + i32.const 0 + return + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map<~lib/string/String,usize>#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store $0 + ) + (func $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) + local.get $this + local.get $buckets + i32.store $0 + local.get $this + local.get $buckets + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + local.get $this + local.get $bucketsMask + i32.store $0 offset=4 + ) + (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) + local.get $this + local.get $entries + i32.store $0 offset=8 + local.get $this + local.get $entries + i32.const 0 + call $~lib/rt/itcms/__link + ) + (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) + local.get $this + local.get $entriesCapacity + i32.store $0 offset=12 + ) + (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) + local.get $this + local.get $entriesOffset + i32.store $0 offset=16 + ) + (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + local.get $this + local.get $entriesCount + i32.store $0 offset=20 + ) + (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (local $key|1 i32) + (local $len i32) + (local $h i32) + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + block $~lib/util/hash/hash32|inlined.0 (result i32) + local.get $key + local.set $key|1 + i32.const 4 + local.set $len + i32.const 0 + i32.const 374761393 + i32.add local.get $len i32.add - i32.const 4 - i32.sub - local.set $end|18 - loop $while-continue|1 - local.get $pos - local.get $end|18 - i32.le_u - if - local.get $h - local.get $pos - i32.load $0 - i32.const -1028477379 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h - local.get $pos - i32.const 4 - i32.add - local.set $pos - br $while-continue|1 - end - end + local.set $h + local.get $h local.get $key|1 - local.get $len + i32.const -1028477379 + i32.mul i32.add - local.set $end|18 - loop $while-continue|2 - local.get $pos - local.get $end|18 - i32.lt_u - if - local.get $h - local.get $pos - i32.load8_u $0 - i32.const 374761393 - i32.mul - i32.add - local.set $h - local.get $h - i32.const 11 - i32.rotl - i32.const -1640531535 - i32.mul - local.set $h - local.get $pos - i32.const 1 - i32.add - local.set $pos - br $while-continue|2 - end - end + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h local.get $h local.get $h i32.const 15 @@ -2678,253 +2672,212 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hashStr|inlined.0 + br $~lib/util/hash/hash32|inlined.0 end return ) - (func $~lib/map/Map<~lib/string/String,usize>#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=4 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:key (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 ) - (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) - (local $ptr1 i32) - (local $ptr2 i32) - (local $7 i32) - (local $a i32) - (local $b i32) - local.get $str1 - local.get $index1 - i32.const 1 - i32.shl - i32.add - local.set $ptr1 - local.get $str2 - local.get $index2 - i32.const 1 - i32.shl - i32.add - local.set $ptr2 - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $len - i32.const 4 - i32.ge_u - if (result i32) - local.get $ptr1 - i32.const 7 - i32.and - local.get $ptr2 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 + (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) + local.get $this + local.get $value + i32.store $0 offset=4 + ) + (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=20 + ) + (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=8 + ) + (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) + local.get $this + local.get $key + i32.store $0 + ) + (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) + local.get $this + local.get $taggedNext + i32.store $0 offset=8 + ) + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/symbol/stringToId + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end + global.get $~lib/symbol/idToString + local.tee $1 if - block $do-break|0 - loop $do-loop|0 - local.get $ptr1 - i64.load $0 - local.get $ptr2 - i64.load $0 - i64.ne - if - br $do-break|0 - end - local.get $ptr1 - i32.const 8 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 8 - i32.add - local.set $ptr2 - local.get $len - i32.const 4 - i32.sub - local.set $len - local.get $len - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - loop $while-continue|1 - local.get $len - local.tee $7 - i32.const 1 - i32.sub - local.set $len - local.get $7 - if - local.get $ptr1 - i32.load16_u $0 - local.set $a - local.get $ptr2 - i32.load16_u $0 - local.set $b - local.get $a - local.get $b - i32.ne - if - local.get $a - local.get $b - i32.sub - return - end - local.get $ptr1 - i32.const 2 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 2 - i32.add - local.set $ptr2 - br $while-continue|1 - end + global.get $std/symbol/key1 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - i32.const 0 - return - ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq + global.get $std/symbol/key2 + local.tee $1 if - i32.const 1 - return + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq + global.get $std/symbol/key3 + local.tee $1 + if + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit end + global.get $std/symbol/key4 + local.tee $1 if - i32.const 0 + local.get $1 + local.get $0 + call $~lib/rt/itcms/__visit + end + i32.const 304 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 512 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 624 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 112 + local.get $0 + call $~lib/rt/itcms/__visit + ) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/map/Map<~lib/string/String,usize>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map<~lib/string/String,usize>#__visit + ) + (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/map/Map#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + 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<~lib/string/String,usize>~visit + return + end + local.get $0 + local.get $1 + call $~lib/map/Map~visit return end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne + unreachable + ) + (func $~start (type $none_=>_none) + global.get $~started if - i32.const 0 return end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/map/Map<~lib/string/String,usize>#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - i32.const 0 - i32.ne - return - ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + i32.const 1 + global.set $~started + call $start:std/symbol ) - (func $~lib/map/Map<~lib/string/String,usize>#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) - (local $entry i32) - local.get $this - local.get $key - local.get $key - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - local.set $entry - local.get $entry - i32.eqz + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s if - i32.const 624 - i32.const 688 - i32.const 105 - i32.const 17 + i32.const 34512 + i32.const 34560 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:value - return - ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map<~lib/string/String,usize>#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store $0 - ) - (func $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext - i32.store $0 offset=8 ) - (func $~lib/map/Map<~lib/string/String,usize>#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) - (local $newBucketsCapacity i32) - (local $newBuckets i32) - (local $newEntriesCapacity i32) - (local $newEntries i32) - (local $oldPtr i32) - (local $oldEnd i32) - (local $newPtr i32) - (local $oldEntry i32) - (local $newEntry i32) - (local $oldEntryKey i32) - (local $newBucketIndex i32) - (local $newBucketPtrBase i32) + (func $~lib/map/Map<~lib/string/String,usize>#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -2936,209 +2889,347 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - local.get $newBucketsMask - i32.const 1 - i32.add - local.set $newBucketsCapacity + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.get $newBucketsCapacity + i32.const 4 i32.const 4 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newBuckets - i32.store $0 - local.get $newBucketsCapacity - i32.const 8 - i32.mul - i32.const 3 - i32.div_s - local.set $newEntriesCapacity + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $newEntriesCapacity - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $newEntries - i32.store $0 offset=4 - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entries - local.set $oldPtr - local.get $oldPtr - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 - end - i32.mul - i32.add - local.set $oldEnd - local.get $newEntries - local.set $newPtr - loop $while-continue|0 - local.get $oldPtr - local.get $oldEnd - i32.ne - if - local.get $oldPtr - local.set $oldEntry - local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - local.get $newPtr - local.set $newEntry - global.get $~lib/memory/__stack_pointer - local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key - local.tee $oldEntryKey - i32.store $0 offset=8 - local.get $newEntry - local.get $oldEntryKey - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key - local.get $newEntry - local.get $oldEntry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - local.get $oldEntryKey - call $~lib/util/hash/HASH<~lib/string/String> - local.get $newBucketsMask - i32.and - local.set $newBucketIndex - local.get $newBuckets - local.get $newBucketIndex - i32.const 4 - i32.mul - i32.add - local.set $newBucketPtrBase - local.get $newEntry - local.get $newBucketPtrBase - i32.load $0 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext - local.get $newBucketPtrBase - local.get $newPtr - i32.store $0 - local.get $newPtr - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 - end - i32.add - local.set $newPtr - end - local.get $oldPtr - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 - end - i32.add - local.set $oldPtr - br $while-continue|0 - end - end - local.get $this - local.get $newBuckets + local.get $1 + i32.store $0 offset=8 + local.get $1 call $~lib/map/Map<~lib/string/String,usize>#set:buckets local.get $this - local.get $newBucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 1 + i32.sub call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask local.get $this - local.get $newEntries + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 4 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 + end + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 call $~lib/map/Map<~lib/string/String,usize>#set:entries local.get $this - local.get $newEntriesCapacity + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity local.get $this - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/map/Map#set:buckets (type $i32_i32_=>_none) (param $this i32) (param $buckets i32) - local.get $this - local.get $buckets - i32.store $0 - local.get $this - local.get $buckets + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:bucketsMask (type $i32_i32_=>_none) (param $this i32) (param $bucketsMask i32) + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset local.get $this - local.get $bucketsMask + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 offset=4 - ) - (func $~lib/map/Map#set:entries (type $i32_i32_=>_none) (param $this i32) (param $entries i32) - local.get $this - local.get $entries - i32.store $0 offset=8 - local.get $this - local.get $entries + local.get $1 i32.const 0 - call $~lib/rt/itcms/__link - ) - (func $~lib/map/Map#set:entriesCapacity (type $i32_i32_=>_none) (param $this i32) (param $entriesCapacity i32) - local.get $this - local.get $entriesCapacity - i32.store $0 offset=12 - ) - (func $~lib/map/Map#set:entriesOffset (type $i32_i32_=>_none) (param $this i32) (param $entriesOffset i32) - local.get $this - local.get $entriesOffset - i32.store $0 offset=16 - ) - (func $~lib/map/Map#set:entriesCount (type $i32_i32_=>_none) (param $this i32) (param $entriesCount i32) + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount local.get $this - local.get $entriesCount - i32.store $0 offset=20 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 ) - (func $~lib/util/hash/HASH (type $i32_=>_i32) (param $key i32) (result i32) + (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $key i32) (result i32) (local $key|1 i32) - (local $len i32) (local $h i32) - i32.const 0 - drop - i32.const 0 - drop - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u + (local $len i32) + (local $pos i32) + (local $s1 i32) + (local $s2 i32) + (local $s3 i32) + (local $s4 i32) + (local $end i32) + (local $h|10 i32) + (local $key|11 i32) + (local $h|12 i32) + (local $key|13 i32) + (local $h|14 i32) + (local $key|15 i32) + (local $h|16 i32) + (local $key|17 i32) + (local $end|18 i32) + (local $19 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + i32.const 1 drop - block $~lib/util/hash/hash32|inlined.0 (result i32) + block $~lib/util/hash/hashStr|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer local.get $key - local.set $key|1 - i32.const 4 - local.set $len + local.tee $key|1 + i32.store $0 + local.get $key|1 i32.const 0 - i32.const 374761393 - i32.add + i32.eq + if + i32.const 0 + br $~lib/util/hash/hashStr|inlined.0 + end + local.get $key|1 + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $h + local.get $h + local.set $len + local.get $key|1 + local.set $pos + local.get $len + i32.const 16 + i32.ge_u + if + i32.const 0 + i32.const -1640531535 + i32.add + i32.const -2048144777 + i32.add + local.set $s1 + i32.const 0 + i32.const -2048144777 + i32.add + local.set $s2 + i32.const 0 + local.set $s3 + i32.const 0 + i32.const -1640531535 + i32.sub + local.set $s4 + local.get $len + local.get $pos + i32.add + i32.const 16 + i32.sub + local.set $end + loop $while-continue|0 + local.get $pos + local.get $end + i32.le_u + if + block $~lib/util/hash/mix|inlined.0 (result i32) + local.get $s1 + local.set $h|10 + local.get $pos + i32.load $0 + local.set $key|11 + local.get $h|10 + local.get $key|11 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.0 + end + local.set $s1 + block $~lib/util/hash/mix|inlined.1 (result i32) + local.get $s2 + local.set $h|12 + local.get $pos + i32.load $0 offset=4 + local.set $key|13 + local.get $h|12 + local.get $key|13 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.1 + end + local.set $s2 + block $~lib/util/hash/mix|inlined.2 (result i32) + local.get $s3 + local.set $h|14 + local.get $pos + i32.load $0 offset=8 + local.set $key|15 + local.get $h|14 + local.get $key|15 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.2 + end + local.set $s3 + block $~lib/util/hash/mix|inlined.3 (result i32) + local.get $s4 + local.set $h|16 + local.get $pos + i32.load $0 offset=12 + local.set $key|17 + local.get $h|16 + local.get $key|17 + i32.const -2048144777 + i32.mul + i32.add + i32.const 13 + i32.rotl + i32.const -1640531535 + i32.mul + br $~lib/util/hash/mix|inlined.3 + end + local.set $s4 + local.get $pos + i32.const 16 + i32.add + local.set $pos + br $while-continue|0 + end + end + local.get $h + local.get $s1 + i32.const 1 + i32.rotl + local.get $s2 + i32.const 7 + i32.rotl + i32.add + local.get $s3 + i32.const 12 + i32.rotl + i32.add + local.get $s4 + i32.const 18 + i32.rotl + i32.add + i32.add + local.set $h + else + local.get $h + i32.const 0 + i32.const 374761393 + i32.add + i32.add + local.set $h + end + local.get $key|1 local.get $len i32.add - local.set $h - local.get $h + i32.const 4 + i32.sub + local.set $end|18 + loop $while-continue|1 + local.get $pos + local.get $end|18 + i32.le_u + if + local.get $h + local.get $pos + i32.load $0 + i32.const -1028477379 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 17 + i32.rotl + i32.const 668265263 + i32.mul + local.set $h + local.get $pos + i32.const 4 + i32.add + local.set $pos + br $while-continue|1 + end + end local.get $key|1 - i32.const -1028477379 - i32.mul + local.get $len i32.add - local.set $h - local.get $h - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.set $h + local.set $end|18 + loop $while-continue|2 + local.get $pos + local.get $end|18 + i32.lt_u + if + local.get $h + local.get $pos + i32.load8_u $0 + i32.const 374761393 + i32.mul + i32.add + local.set $h + local.get $h + i32.const 11 + i32.rotl + i32.const -1640531535 + i32.mul + local.set $h + local.get $pos + i32.const 1 + i32.add + local.set $pos + br $while-continue|2 + end + end local.get $h local.get $h i32.const 15 @@ -3166,34 +3257,139 @@ i32.xor local.set $h local.get $h - br $~lib/util/hash/hash32|inlined.0 + br $~lib/util/hash/hashStr|inlined.0 end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 return ) - (func $~lib/map/Map#get:buckets (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/map/Map#get:bucketsMask (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#get:taggedNext (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#get:key (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return ) - (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext 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 $0 local.get $this - call $~lib/map/Map#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map<~lib/string/String,usize>#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask i32.and i32.const 4 i32.mul @@ -3204,7 +3400,7 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry#get:taggedNext + call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 @@ -3212,14 +3408,30 @@ i32.eqz if (result i32) local.get $entry - call $~lib/map/MapEntry#get:key + call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 local.get $key - i32.eq + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/string/String.__eq else i32.const 0 end if local.get $entry + 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 $taggedNext @@ -3232,60 +3444,91 @@ end end 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 ) - (func $~lib/map/MapEntry#set:value (type $i32_i32_=>_none) (param $this i32) (param $value i32) - local.get $this - local.get $value - i32.store $0 offset=4 - ) - (func $~lib/map/Map#get:entriesOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=16 - ) - (func $~lib/map/Map#get:entriesCapacity (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/map/Map#get:entriesCount (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=20 - ) - (func $~lib/map/Map#get:entries (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=8 - ) - (func $~lib/map/MapEntry#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) - local.get $this - local.get $key - i32.store $0 - ) - (func $~lib/map/MapEntry#get:value (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/map/MapEntry#set:taggedNext (type $i32_i32_=>_none) (param $this i32) (param $taggedNext i32) - local.get $this - local.get $taggedNext + (func $~lib/map/Map<~lib/string/String,usize>#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.store $0 offset=8 - ) - (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 local.get $key + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 return ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (func $~lib/map/Map<~lib/string/String,usize>#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) (local $entry 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $key - call $~lib/util/hash/HASH - call $~lib/map/Map#find + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,usize>#find local.set $entry local.get $entry i32.eqz @@ -3298,319 +3541,476 @@ unreachable end local.get $entry - call $~lib/map/MapEntry#get:value - return - ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat + call $~lib/map/MapEntry<~lib/string/String,usize>#get:value + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 return ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - global.get $~lib/symbol/stringToId - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $~lib/symbol/idToString - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/symbol/key1 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/symbol/key2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/symbol/key3 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - global.get $std/symbol/key4 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit - end - i32.const 304 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 512 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 624 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 112 - local.get $0 - call $~lib/rt/itcms/__visit - ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/map/Map<~lib/string/String,usize>#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) + (local $newBucketsCapacity i32) + (local $newBuckets i32) + (local $newEntriesCapacity i32) + (local $newEntries i32) + (local $oldPtr i32) + (local $oldEnd i32) + (local $newPtr i32) + (local $oldEntry i32) + (local $newEntry i32) + (local $oldEntryKey i32) + (local $newBucketIndex i32) + (local $newBucketPtrBase i32) + (local $14 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 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $newBucketsMask + i32.const 1 + i32.add + local.set $newBucketsCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newBucketsCapacity + i32.const 4 + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newBuckets + i32.store $0 + local.get $newBucketsCapacity + i32.const 8 + i32.mul + i32.const 3 + i32.div_s + local.set $newEntriesCapacity + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $newEntriesCapacity + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.1 end - ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/map/Map<~lib/string/String,usize>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - (local $cur i32) - (local $end i32) - (local $entry i32) - (local $val i32) - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + i32.mul + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $newEntries + i32.store $0 offset=4 local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 call $~lib/map/Map<~lib/string/String,usize>#get:entries - local.set $entries - i32.const 1 - drop - local.get $entries - local.set $cur - local.get $cur + local.set $oldPtr + local.get $oldPtr local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 (result i32) + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.2 end i32.mul i32.add - local.set $end + local.set $oldEnd + local.get $newEntries + local.set $newPtr loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + local.get $oldPtr + local.get $oldEnd + i32.ne if - local.get $cur - local.set $entry - local.get $entry + local.get $oldPtr + local.set $oldEntry + local.get $oldEntry call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext i32.const 1 i32.and i32.eqz if - i32.const 1 - drop - local.get $entry + local.get $newPtr + local.set $newEntry + global.get $~lib/memory/__stack_pointer + local.get $oldEntry call $~lib/map/MapEntry<~lib/string/String,usize>#get:key - local.set $val - i32.const 0 - drop - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - i32.const 0 - drop + local.tee $oldEntryKey + i32.store $0 offset=12 + local.get $newEntry + local.get $oldEntryKey + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=16 + local.get $14 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:key + local.get $newEntry + local.get $oldEntry + call $~lib/map/MapEntry<~lib/string/String,usize>#get:value + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + local.get $oldEntryKey + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/util/hash/HASH<~lib/string/String> + local.get $newBucketsMask + i32.and + local.set $newBucketIndex + local.get $newBuckets + local.get $newBucketIndex + i32.const 4 + i32.mul + i32.add + local.set $newBucketPtrBase + local.get $newEntry + local.get $newBucketPtrBase + i32.load $0 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + local.get $newBucketPtrBase + local.get $newPtr + i32.store $0 + local.get $newPtr + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.3 + end + i32.add + local.set $newPtr end - local.get $cur - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 (result i32) + local.get $oldPtr + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.4 end i32.add - local.set $cur + local.set $oldPtr br $while-continue|0 end end - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map<~lib/string/String,usize>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#__visit - ) - (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - (local $entries i32) - (local $cur i32) - (local $end i32) - (local $entry i32) - (local $val i32) local.get $this - call $~lib/map/Map#get:buckets - local.get $cookie - call $~lib/rt/itcms/__visit + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=16 + local.get $14 + call $~lib/map/Map<~lib/string/String,usize>#set:buckets local.get $this - call $~lib/map/Map#get:entries - local.set $entries - i32.const 1 - drop - local.get $entries - local.set $cur - local.get $cur + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask local.get $this - call $~lib/map/Map#get:entriesOffset - block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.6 - end - i32.mul + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=16 + local.get $14 + call $~lib/map/Map<~lib/string/String,usize>#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=16 + local.get $14 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $end - loop $while-continue|0 - local.get $cur - local.get $end - i32.lt_u + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map<~lib/string/String,usize>#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/util/hash/HASH<~lib/string/String> + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + local.get $hashCode + call $~lib/map/Map<~lib/string/String,usize>#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + i32.const 0 + drop + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity + i32.eq if - local.get $cur - local.set $entry - local.get $entry - call $~lib/map/MapEntry#get:taggedNext - i32.const 1 - i32.and - i32.eqz - if - i32.const 0 - drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask i32.const 1 - drop - local.get $entry - call $~lib/map/MapEntry#get:value - local.set $val - i32.const 0 - drop - local.get $val - local.get $cookie - call $~lib/rt/itcms/__visit - end - local.get $cur - block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.7 + i32.shl + i32.const 1 + i32.or end - i32.add - local.set $cur - br $while-continue|0 + call $~lib/map/Map<~lib/string/String,usize>#rehash end - end - local.get $entries - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/map/Map~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/map/Map#__visit - ) - (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - 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<~lib/string/String,usize>~visit - return + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 end - local.get $0 - local.get $1 - call $~lib/map/Map~visit - return - end - unreachable - ) - (func $~start (type $none_=>_none) - global.get $~started - if - return - end - i32.const 1 - global.set $~started - call $start:std/symbol - ) - (func $~stack_check (type $none_=>_none) - global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 34512 - i32.const 34560 + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:key i32.const 1 + drop + local.get $this + local.get $key i32.const 1 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $entry + local.get $value + call $~lib/map/MapEntry<~lib/string/String,usize>#set:value + i32.const 0 + drop + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 end + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 + return ) - (func $~lib/map/Map<~lib/string/String,usize>#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 24 - i32.const 4 + i32.const 5 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 4 i32.const 4 @@ -3619,47 +4019,72 @@ local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#set:buckets + call $~lib/map/Map#set:buckets local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.const 1 i32.sub - call $~lib/map/Map<~lib/string/String,usize>#set:bucketsMask + call $~lib/map/Map#set:bucketsMask local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 4 - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 (result i32) + block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.0 + br $~lib/map/ENTRY_SIZE|inlined.0 end i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $1 - call $~lib/map/Map<~lib/string/String,usize>#set:entries + call $~lib/map/Map#set:entries local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 4 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCapacity + call $~lib/map/Map#set:entriesCapacity local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset + call $~lib/map/Map#set:entriesOffset local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount + call $~lib/map/Map#set:entriesCount local.get $this 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 $~lib/map/Map<~lib/string/String,usize>#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $hashCode i32) (result i32) (local $entry i32) (local $taggedNext i32) (local $5 i32) @@ -3672,10 +4097,20 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:buckets + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:buckets local.get $hashCode local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 + local.get $5 + call $~lib/map/Map#get:bucketsMask i32.and i32.const 4 i32.mul @@ -3686,22 +4121,17 @@ local.get $entry if local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + call $~lib/map/MapEntry#get:taggedNext local.set $taggedNext local.get $taggedNext i32.const 1 i32.and i32.eqz - if (result i32) - local.get $entry - call $~lib/map/MapEntry<~lib/string/String,usize>#get:key - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 - local.get $5 + if (result i32) + local.get $entry + call $~lib/map/MapEntry#get:key local.get $key - call $~lib/string/String.__eq + i32.eq else i32.const 0 end @@ -3733,75 +4163,6 @@ local.get $5 return ) - (func $~lib/map/Map#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 24 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - i32.const 4 - i32.const 4 - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:buckets - local.get $this - i32.const 4 - i32.const 1 - i32.sub - call $~lib/map/Map#set:bucketsMask - local.get $this - i32.const 0 - i32.const 4 - block $~lib/map/ENTRY_SIZE|inlined.0 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.0 - end - i32.mul - call $~lib/arraybuffer/ArrayBuffer#constructor - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - call $~lib/map/Map#set:entries - local.get $this - i32.const 4 - call $~lib/map/Map#set:entriesCapacity - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesOffset - local.get $this - i32.const 0 - call $~lib/map/Map#set:entriesCount - local.get $this - 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/map/Map#rehash (type $i32_i32_=>_none) (param $this i32) (param $newBucketsMask i32) (local $newBucketsCapacity i32) (local $newBuckets i32) @@ -3817,7 +4178,7 @@ (local $newBucketPtrBase i32) (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -3825,8 +4186,8 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 local.get $newBucketsMask i32.const 1 i32.add @@ -3857,10 +4218,20 @@ local.tee $newEntries i32.store $0 offset=4 local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 call $~lib/map/Map#get:entries local.set $oldPtr local.get $oldPtr local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 call $~lib/map/Map#get:entriesOffset block $~lib/map/ENTRY_SIZE|inlined.2 (result i32) i32.const 12 @@ -3898,7 +4269,7 @@ local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $14 call $~lib/map/MapEntry#set:value local.get $oldEntryKey @@ -3938,38 +4309,301 @@ end end local.get $this - local.get $newBuckets - call $~lib/map/Map#set:buckets - local.get $this - local.get $newBucketsMask - call $~lib/map/Map#set:bucketsMask - local.get $this - local.get $newEntries - call $~lib/map/Map#set:entries - local.get $this - local.get $newEntriesCapacity - call $~lib/map/Map#set:entriesCapacity - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - call $~lib/map/Map#set:entriesOffset + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBuckets + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:buckets + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newBucketsMask + call $~lib/map/Map#set:bucketsMask + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntries + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#set:entries + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $newEntriesCapacity + call $~lib/map/Map#set:entriesCapacity + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=12 + local.get $14 + call $~lib/map/Map#get:entriesCount + call $~lib/map/Map#set:entriesOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) + (local $hashCode i32) + (local $entry i32) + (local $entries i32) + (local $6 i32) + (local $bucketPtrBase 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $key + call $~lib/util/hash/HASH + local.set $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $key + local.get $hashCode + call $~lib/map/Map#find + local.set $entry + local.get $entry + if + local.get $entry + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/MapEntry#set:value + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.eq + if + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCapacity + i32.const 3 + i32.mul + i32.const 4 + i32.div_s + i32.lt_s + if (result i32) + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + else + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:bucketsMask + 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 $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:entries + local.tee $entries + i32.store $0 offset=8 + local.get $entries + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesOffset + local.tee $6 + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesOffset + local.get $6 + block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.5 + end + i32.mul + i32.add + local.set $entry + local.get $entry + local.get $key + call $~lib/map/MapEntry#set:key + i32.const 0 + drop + local.get $entry + local.get $value + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/MapEntry#set:value + i32.const 1 + drop + local.get $this + local.get $value + i32.const 1 + call $~lib/rt/itcms/__link + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/map/Map#get:entriesCount + i32.const 1 + i32.add + call $~lib/map/Map#set:entriesCount + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:buckets + local.get $hashCode + local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 + local.get $8 + call $~lib/map/Map#get:bucketsMask + i32.and + i32.const 4 + i32.mul + i32.add + local.set $bucketPtrBase + local.get $entry + local.get $bucketPtrBase + i32.load $0 + call $~lib/map/MapEntry#set:taggedNext + local.get $bucketPtrBase + local.get $entry + i32.store $0 + end + local.get $this + local.set $8 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $8 + return ) (func $~lib/symbol/_Symbol.for (type $i32_=>_i32) (param $key i32) (result i32) (local $1 i32) (local $id i32) (local $3 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 + i32.store $0 offset=8 global.get $~lib/symbol/stringToId local.set $3 global.get $~lib/memory/__stack_pointer @@ -3977,6 +4611,11 @@ i32.store $0 local.get $3 local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 call $~lib/map/Map<~lib/string/String,usize>#has if global.get $~lib/symbol/stringToId @@ -3986,10 +4625,15 @@ i32.store $0 local.get $3 local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 @@ -4014,6 +4658,11 @@ i32.store $0 local.get $3 local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 local.get $id call $~lib/map/Map<~lib/string/String,usize>#set drop @@ -4025,11 +4674,88 @@ local.get $3 local.get $id local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 call $~lib/map/Map#set drop local.get $id local.set $3 global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $this i32) (param $key 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $key + local.get $key + 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 + return + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $this i32) (param $key i32) (result i32) + (local $entry 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 $0 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $key + local.get $key + call $~lib/util/hash/HASH + call $~lib/map/Map#find + local.set $entry + local.get $entry + i32.eqz + if + i32.const 624 + i32.const 688 + i32.const 105 + i32.const 17 + call $~lib/builtins/abort + unreachable + end + local.get $entry + call $~lib/map/MapEntry#get:value + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer @@ -4044,34 +4770,141 @@ global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 + i32.const 0 + i32.store $0 + global.get $~lib/symbol/idToString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $sym + call $~lib/map/Map#has + if (result i32) + global.get $~lib/symbol/idToString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $sym + call $~lib/map/Map#get + else + i32.const 0 + end + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + i32.const 0 + i32.eq + if + i32.const 864 + 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 $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 - global.get $~lib/symbol/idToString - local.set $1 + local.get $2 + local.get $right + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - local.get $sym - call $~lib/map/Map#has - if (result i32) - global.get $~lib/symbol/idToString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - local.get $sym - call $~lib/map/Map#get - else - i32.const 0 - end - local.set $1 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/string/String#concat + local.set $2 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 $2 return ) (func $~lib/symbol/_Symbol#toString (type $i32_=>_i32) (param $this i32) (result i32) @@ -4080,16 +4913,14 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + i32.const 0 + i32.const 20 + memory.fill $0 local.get $this local.set $id global.get $~lib/memory/__stack_pointer @@ -4260,6 +5091,11 @@ i32.store $0 offset=12 local.get $4 local.get $str + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer @@ -4275,7 +5111,7 @@ call $~lib/string/String.__concat local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $4 @@ -4599,9 +5435,13 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer i32) - (local $3 i32) + (func $~lib/map/Map<~lib/string/String,usize>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $entries i32) + (local $cur i32) + (local $end i32) + (local $entry i32) + (local $val i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4610,171 +5450,93 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 512 - i32.const 560 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end + local.get $this + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $7 i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - 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/map/Map<~lib/string/String,usize>#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) - (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + call $~lib/map/Map<~lib/string/String,usize>#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $7 i32.store $0 - local.get $key - call $~lib/util/hash/HASH<~lib/string/String> - local.set $hashCode + local.get $7 + call $~lib/map/Map<~lib/string/String,usize>#get:entries + local.set $entries + i32.const 1 + drop + local.get $entries + local.set $cur + local.get $cur local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map<~lib/string/String,usize>#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - i32.const 0 - drop - else - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity - i32.eq + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.6 + end + i32.mul + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $this - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask - else - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask - i32.const 1 - i32.shl + local.get $cur + local.set $entry + local.get $entry + call $~lib/map/MapEntry<~lib/string/String,usize>#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if i32.const 1 - i32.or + drop + local.get $entry + call $~lib/map/MapEntry<~lib/string/String,usize>#get:key + local.set $val + i32.const 0 + drop + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit + i32.const 0 + drop end - call $~lib/map/Map<~lib/string/String,usize>#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.5 - end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry<~lib/string/String,usize>#set:key - i32.const 1 - drop - local.get $this - local.get $key - i32.const 1 - call $~lib/rt/itcms/__link - local.get $entry - local.get $value - call $~lib/map/MapEntry<~lib/string/String,usize>#set:value - i32.const 0 - drop - local.get $this - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map<~lib/string/String,usize>#set:entriesCount - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map<~lib/string/String,usize>#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry<~lib/string/String,usize>#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 + local.get $cur + block $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE<~lib/string/String,usize>|inlined.7 + end + i32.add + local.set $cur + br $while-continue|0 + end end - local.get $this - local.set $8 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/map/Map#set (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $value i32) (result i32) - (local $hashCode i32) - (local $entry i32) + (func $~lib/map/Map#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $entries i32) - (local $6 i32) - (local $bucketPtrBase i32) - (local $8 i32) + (local $cur i32) + (local $end i32) + (local $entry i32) + (local $val i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4783,129 +5545,89 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $key - call $~lib/util/hash/HASH - local.set $hashCode local.get $this - local.get $key - local.get $hashCode - call $~lib/map/Map#find - local.set $entry - local.get $entry - if - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - else - local.get $this - call $~lib/map/Map#get:entriesOffset - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.eq + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/map/Map#get:buckets + local.get $cookie + call $~lib/rt/itcms/__visit + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/map/Map#get:entries + local.set $entries + i32.const 1 + drop + local.get $entries + local.set $cur + local.get $cur + local.get $this + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 + local.get $7 + call $~lib/map/Map#get:entriesOffset + block $~lib/map/ENTRY_SIZE|inlined.6 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.6 + end + i32.mul + i32.add + local.set $end + loop $while-continue|0 + local.get $cur + local.get $end + i32.lt_u if - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - local.get $this - call $~lib/map/Map#get:entriesCapacity - i32.const 3 - i32.mul - i32.const 4 - i32.div_s - i32.lt_s - if (result i32) - local.get $this - call $~lib/map/Map#get:bucketsMask - else - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.const 1 - i32.shl + local.get $cur + local.set $entry + local.get $entry + call $~lib/map/MapEntry#get:taggedNext + i32.const 1 + i32.and + i32.eqz + if + i32.const 0 + drop i32.const 1 - i32.or + drop + local.get $entry + call $~lib/map/MapEntry#get:value + local.set $val + i32.const 0 + drop + local.get $val + local.get $cookie + call $~lib/rt/itcms/__visit end - call $~lib/map/Map#rehash - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/map/Map#get:entries - local.tee $entries - i32.store $0 - local.get $entries - local.get $this - local.get $this - call $~lib/map/Map#get:entriesOffset - local.tee $6 - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesOffset - local.get $6 - block $~lib/map/ENTRY_SIZE|inlined.5 (result i32) - i32.const 12 - br $~lib/map/ENTRY_SIZE|inlined.5 + local.get $cur + block $~lib/map/ENTRY_SIZE|inlined.7 (result i32) + i32.const 12 + br $~lib/map/ENTRY_SIZE|inlined.7 + end + i32.add + local.set $cur + br $while-continue|0 end - i32.mul - i32.add - local.set $entry - local.get $entry - local.get $key - call $~lib/map/MapEntry#set:key - i32.const 0 - drop - local.get $entry - local.get $value - call $~lib/map/MapEntry#set:value - i32.const 1 - drop - local.get $this - local.get $value - i32.const 1 - call $~lib/rt/itcms/__link - local.get $this - local.get $this - call $~lib/map/Map#get:entriesCount - i32.const 1 - i32.add - call $~lib/map/Map#set:entriesCount - local.get $this - call $~lib/map/Map#get:buckets - local.get $hashCode - local.get $this - call $~lib/map/Map#get:bucketsMask - i32.and - i32.const 4 - i32.mul - i32.add - local.set $bucketPtrBase - local.get $entry - local.get $bucketPtrBase - i32.load $0 - call $~lib/map/MapEntry#set:taggedNext - local.get $bucketPtrBase - local.get $entry - i32.store $0 end - local.get $this - local.set $8 + local.get $entries + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $8 - return ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out i32) - (local $6 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -4914,56 +5636,34 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize - i32.const 0 - i32.eq + local.get $length + i32.const 1073741820 + i32.gt_u if - i32.const 864 - 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 512 + i32.const 560 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 + local.get $length + i32.const 1 call $~lib/rt/itcms/__new - local.tee $out + local.tee $buffer i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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 return ) ) diff --git a/tests/compiler/std/symbol.release.wat b/tests/compiler/std/symbol.release.wat index acd8dbfaeb..bc62a62629 100644 --- a/tests/compiler/std/symbol.release.wat +++ b/tests/compiler/std/symbol.release.wat @@ -1,12 +1,13 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_=>_none (func_subtype (param i32) func)) - (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) + (type $i32_=>_none (func_subtype (param i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/symbol/nextId (mut i32) (i32.const 12)) (global $std/symbol/sym1 (mut i32) (i32.const 0)) @@ -1602,6 +1603,204 @@ memory.fill $0 local.get $1 ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + block $folding-inner1 + block $folding-inner0 + 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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 + return + end + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + 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 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.tee $2 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 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 $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load $0 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $while-continue|0 + end + end + br $folding-inner1 + end + 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 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.tee $2 + local.set $1 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=16 + i32.const 12 + i32.mul + i32.add + local.set $0 + loop $while-continue|09 + local.get $0 + local.get $1 + i32.gt_u + if + local.get $1 + i32.load $0 offset=8 + i32.const 1 + i32.and + i32.eqz + if + local.get $1 + i32.load $0 offset=4 + local.tee $3 + if + local.get $3 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + end + local.get $1 + i32.const 12 + i32.add + local.set $1 + br $while-continue|09 + end + end + br $folding-inner1 + end + unreachable + end + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + local.get $2 + if + local.get $2 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~start (type $none_=>_none) + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:std/symbol + ) (func $~lib/util/hash/HASH<~lib/string/String> (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -1610,10 +1809,39 @@ (local $5 i32) (local $6 i32) (local $7 i32) - local.get $0 - if (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + if + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + block $~lib/util/hash/hashStr|inlined.0 (result i32) + local.get $1 + local.get $0 + i32.store $0 + 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 local.tee $1 + i32.store $0 offset=4 + local.get $1 i32.const 20 i32.sub i32.load $0 offset=16 @@ -1778,438 +2006,190 @@ i32.const -2048144777 i32.mul local.tee $0 + local.get $0 i32.const 13 i32.shr_u - local.get $0 i32.xor i32.const -1028477379 i32.mul local.tee $0 + local.get $0 i32.const 16 i32.shr_u - local.get $0 i32.xor - else - i32.const 0 end + local.set $0 + 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 (type $i32_i32_=>_i32) (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 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s if + i32.const 35536 + i32.const 35584 i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne + i32.eq if - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 return end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) - (func $~lib/map/Map#get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $0 - i32.load $0 - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const -1028477379 - i32.mul - i32.const 374761397 - i32.add - i32.const 17 - i32.rotl - i32.const 668265263 - i32.mul - local.tee $0 - i32.const 15 - i32.shr_u - local.get $0 - i32.xor - i32.const -2048144777 - i32.mul - local.tee $0 - i32.const 13 - i32.shr_u - local.get $0 - i32.xor - i32.const -1028477379 - i32.mul - local.tee $0 - i32.const 16 - i32.shr_u - local.get $0 - i32.xor - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $0 - i32.load $0 - local.get $1 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $0 - br $while-continue|0 - end - end - i32.const 0 - local.set $0 - end - local.get $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 $0 offset=4 - ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 2748 - i32.lt_s - if - i32.const 35536 - i32.const 35584 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/string/String#concat - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 + block $folding-inner0 local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $4 - i32.add - 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 1888 - local.set $2 - br $__inlined_func$~lib/string/String#concat - end + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - call $~lib/rt/itcms/__new local.tee $2 + local.get $0 i32.store $0 - local.get $2 local.get $0 - local.get $3 - memory.copy $0 $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 local.get $2 + local.get $1 + i32.store $0 local.get $3 - i32.add local.get $1 - local.get $4 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $2 - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.load $0 offset=16 - i32.const 12 - i32.mul - local.get $0 - i32.load $0 offset=8 - local.tee $1 - local.tee $0 - i32.add - local.set $2 - loop $while-continue|0 - local.get $0 - local.get $2 - i32.lt_u - if - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz - if - local.get $0 - i32.load $0 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - end - local.get $0 - i32.const 12 - i32.add - local.set $0 - br $while-continue|0 - end - end - local.get $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.load $0 offset=16 - i32.const 12 - i32.mul + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - local.tee $1 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 local.tee $0 - i32.add - local.set $2 - loop $while-continue|09 - local.get $0 - local.get $2 - i32.lt_u - if - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.and - i32.eqz + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq if + local.get $2 + i32.const 8 + i32.add + local.set $2 + local.get $1 + i32.const 8 + i32.add + local.set $1 local.get $0 - i32.load $0 offset=4 - local.tee $3 - if - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end + i32.const 4 + i32.sub + local.tee $0 + i32.const 4 + i32.ge_u + br_if $do-loop|0 end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 local.get $0 - i32.const 12 - i32.add + local.tee $3 + i32.const 1 + i32.sub local.set $0 - br $while-continue|09 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end end + i32.const 0 + local.set $3 end - local.get $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - unreachable - ) - (func $~start (type $none_=>_none) - global.get $~started - if + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz return end - i32.const 1 - global.set $~started - call $start:std/symbol + 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>#find (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result 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 global.get $~lib/memory/__stack_pointer @@ -2224,10 +2204,19 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 local.get $0 i32.load $0 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 local.get $1 local.get $0 i32.load $0 offset=4 @@ -2236,51 +2225,53 @@ i32.shl i32.add i32.load $0 - local.set $0 + local.set $1 loop $while-continue|0 - local.get $0 + local.get $1 if - local.get $0 + local.get $1 i32.load $0 offset=8 - local.tee $2 + local.tee $0 i32.const 1 i32.and if (result i32) i32.const 0 else global.get $~lib/memory/__stack_pointer - local.get $0 + local.tee $2 + local.get $1 i32.load $0 - local.tee $1 + local.tee $3 i32.store $0 - local.get $1 + local.get $2 + i32.const 1056 + i32.store $0 offset=4 + local.get $3 i32.const 1056 call $~lib/string/String.__eq end if global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 + local.get $1 return end - local.get $2 + local.get $0 i32.const -2 i32.and - local.set $0 + local.set $1 br $while-continue|0 end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer i32.const 0 ) - (func $~lib/symbol/_Symbol.for (type $none_=>_i32) (result i32) - (local $0 i32) - (local $1 i32) + (func $~lib/map/Map<~lib/string/String,usize>#set (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) @@ -2292,101 +2283,72 @@ (local $10 i32) (local $11 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner1 + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 1056 i32.store $0 - local.get $0 - global.get $~lib/symbol/stringToId - local.tee $0 - i32.store $0 - local.get $0 i32.const 1056 call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#find - if - global.get $~lib/memory/__stack_pointer - global.get $~lib/symbol/stringToId - local.tee $0 - i32.store $0 - local.get $0 - i32.const 1056 - call $~lib/util/hash/HASH<~lib/string/String> - call $~lib/map/Map<~lib/string/String,usize>#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 $0 offset=4 - local.set $0 - 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/symbol/nextId - local.tee $3 - i32.const 1 - i32.add - global.set $~lib/symbol/nextId - local.get $3 - i32.eqz - if - unreachable - end + local.set $6 global.get $~lib/memory/__stack_pointer - local.tee $0 - global.get $~lib/symbol/stringToId - local.tee $4 - i32.store $0 local.get $0 - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 2748 - i32.lt_s - br_if $folding-inner1 - global.get $~lib/memory/__stack_pointer - i32.const 0 i32.store $0 - local.get $4 + global.get $~lib/memory/__stack_pointer i32.const 1056 - call $~lib/util/hash/HASH<~lib/string/String> - local.tee $5 + i32.store $0 offset=4 + local.get $0 + local.get $6 call $~lib/map/Map<~lib/string/String,usize>#find - local.tee $0 + local.tee $2 if - local.get $0 - local.get $3 + local.get $2 + local.get $1 i32.store $0 offset=4 else - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=16 - local.get $4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.load $0 offset=12 i32.eq if - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=20 - local.get $4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 i32.load $0 offset=12 i32.const 3 i32.mul @@ -2394,93 +2356,111 @@ i32.div_s i32.lt_s if (result i32) - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 else - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $6 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 + local.tee $2 i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $6 + i32.const 20 + memory.fill $0 + local.get $2 + local.get $5 i32.const 1 i32.add - local.tee $0 + local.tee $2 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $7 + local.tee $9 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $8 + local.tee $7 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $3 i32.store $0 offset=4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=8 - local.tee $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $4 + local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $9 - local.get $1 - local.set $0 + local.set $8 + local.get $3 + local.set $2 loop $while-continue|0 - local.get $2 - local.get $9 + local.get $4 + local.get $8 i32.ne if - local.get $2 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $11 + local.get $4 i32.load $0 local.tee $10 - i32.store $0 offset=8 - local.get $0 + i32.store $0 offset=12 + local.get $11 + local.get $10 + i32.store $0 offset=16 + local.get $2 local.get $10 i32.store $0 - local.get $0 local.get $2 + local.get $4 i32.load $0 offset=4 i32.store $0 offset=4 - local.get $0 - local.get $7 + local.get $11 + local.get $10 + i32.store $0 offset=8 + local.get $2 + local.get $9 local.get $10 call $~lib/util/hash/HASH<~lib/string/String> - local.get $6 + local.get $5 i32.and i32.const 2 i32.shl @@ -2489,123 +2469,284 @@ i32.load $0 i32.store $0 offset=8 local.get $10 - local.get $0 + local.get $2 i32.store $0 - local.get $0 + local.get $2 i32.const 12 i32.add - local.set $0 + local.set $2 end - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 + local.set $4 br $while-continue|0 end end - local.get $4 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $9 + i32.store $0 offset=16 + local.get $0 + local.get $9 i32.store $0 - local.get $7 + local.get $9 if - local.get $4 - local.get $7 + local.get $0 + local.get $9 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $5 i32.store $0 offset=4 - local.get $4 - local.get $1 + local.get $2 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $2 + local.get $3 + i32.store $0 offset=16 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 if - local.get $4 - local.get $1 + local.get $0 + local.get $3 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $7 i32.store $0 offset=12 - local.get $4 - local.get $4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 offset=16 + local.get $0 + local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $4 + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $3 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - local.get $4 - local.get $4 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 offset=16 - local.tee $1 + local.tee $4 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 - local.get $1 + local.get $2 + i32.const 1056 + i32.store $0 offset=4 + local.get $3 + local.get $4 i32.const 12 i32.mul i32.add - local.tee $0 + local.tee $2 i32.const 1056 i32.store $0 - local.get $4 - call $byn-split-outlined-A$~lib/rt/itcms/__link_0 local.get $0 - local.get $3 - i32.store $0 offset=4 - local.get $4 - local.get $4 - i32.load $0 offset=20 + i32.const 1056 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + local.get $2 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 + i32.load $0 offset=20 + i32.const 1 + i32.add + i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $3 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + local.get $3 + local.get $6 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + local.tee $0 + i32.load $0 + i32.store $0 offset=8 + local.get $0 + local.get $2 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/map/Map#find (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + if + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.set $4 + local.get $3 + local.get $0 + i32.store $0 + local.get $4 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + loop $while-continue|0 + local.get $0 + if + local.get $0 + i32.load $0 offset=8 + local.tee $2 i32.const 1 - i32.add - i32.store $0 offset=20 - local.get $0 - local.get $4 - i32.load $0 - local.get $5 - local.get $4 - i32.load $0 offset=4 i32.and - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - i32.store $0 + if (result i32) + i32.const 0 + else + local.get $1 + local.get $0 + i32.load $0 + i32.eq + end + 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 - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - global.get $~lib/symbol/idToString - local.tee $5 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/map/Map#set (type $i32_i32_=>_none) (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.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 2748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - local.get $5 - i32.load $0 - local.get $3 + local.get $0 + local.get $1 + local.get $1 i32.const -1028477379 i32.mul i32.const 374761397 @@ -2614,79 +2755,70 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $0 - local.get $0 + local.tee $2 i32.const 15 i32.shr_u + local.get $2 i32.xor i32.const -2048144777 i32.mul - local.tee $0 - local.get $0 + local.tee $2 i32.const 13 i32.shr_u + local.get $2 i32.xor i32.const -1028477379 i32.mul - local.tee $0 - local.get $0 + local.tee $2 i32.const 16 i32.shr_u + local.get $2 i32.xor local.tee $6 - local.get $5 - i32.load $0 offset=4 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|00 - local.get $0 - if - local.get $0 - i32.load $0 offset=8 - local.tee $1 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $3 - local.get $0 - i32.load $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $1 - i32.const -2 - i32.and - local.set $0 - br $while-continue|00 - end - end - i32.const 0 - local.set $0 - end - local.get $0 + call $~lib/map/Map#find + local.tee $2 if - local.get $0 + global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store $0 offset=4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link_0 + local.get $2 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 1056 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link else - local.get $5 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 i32.load $0 offset=16 - local.get $5 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.load $0 offset=12 i32.eq if - local.get $5 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=20 - local.get $5 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 i32.load $0 offset=12 i32.const 3 i32.mul @@ -2694,93 +2826,106 @@ i32.div_s i32.lt_s if (result i32) - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 else - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 i32.const 1 i32.shl i32.const 1 i32.or end - local.set $7 + local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 2748 i32.lt_s - br_if $folding-inner1 + br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - local.tee $0 + local.tee $2 i64.const 0 i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - local.get $7 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $5 i32.const 1 i32.add - local.tee $0 + local.tee $2 i32.const 2 i32.shl call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $8 + local.tee $9 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $0 + local.get $2 i32.const 3 i32.shl i32.const 3 i32.div_s - local.tee $9 + local.tee $7 i32.const 12 i32.mul call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $1 + local.tee $3 i32.store $0 offset=4 - local.get $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=8 - local.tee $2 - local.get $5 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $4 + local.get $0 i32.load $0 offset=16 i32.const 12 i32.mul i32.add - local.set $10 - local.get $1 - local.set $0 - loop $while-continue|01 - local.get $2 - local.get $10 + local.set $8 + local.get $3 + local.set $2 + loop $while-continue|0 + local.get $4 + local.get $8 i32.ne if - local.get $2 + local.get $4 i32.load $0 offset=8 i32.const 1 i32.and i32.eqz if - local.get $0 local.get $2 + local.get $4 i32.load $0 - local.tee $4 + local.tee $10 i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $4 i32.load $0 offset=4 local.tee $11 - i32.store $0 offset=8 - local.get $0 + i32.store $0 offset=12 + local.get $2 local.get $11 i32.store $0 offset=4 - local.get $0 - local.get $8 - local.get $7 - local.get $4 + local.get $2 + local.get $9 + local.get $5 + local.get $10 i32.const -1028477379 i32.mul i32.const 374761397 @@ -2789,148 +2934,367 @@ i32.rotl i32.const 668265263 i32.mul - local.tee $4 + local.tee $10 i32.const 15 i32.shr_u - local.get $4 + local.get $10 i32.xor i32.const -2048144777 i32.mul - local.tee $4 + local.tee $10 i32.const 13 i32.shr_u - local.get $4 + local.get $10 i32.xor i32.const -1028477379 i32.mul - local.tee $4 + local.tee $10 i32.const 16 i32.shr_u - local.get $4 + local.get $10 i32.xor i32.and i32.const 2 i32.shl i32.add - local.tee $4 + local.tee $10 i32.load $0 i32.store $0 offset=8 - local.get $4 - local.get $0 + local.get $10 + local.get $2 i32.store $0 - local.get $0 + local.get $2 i32.const 12 i32.add - local.set $0 + local.set $2 end - local.get $2 + local.get $4 i32.const 12 i32.add - local.set $2 - br $while-continue|01 + local.set $4 + br $while-continue|0 end end - local.get $5 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $9 + i32.store $0 offset=12 + local.get $0 + local.get $9 i32.store $0 - local.get $8 + local.get $9 if - local.get $5 - local.get $8 + local.get $0 + local.get $9 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 local.get $5 - local.get $7 i32.store $0 offset=4 - local.get $5 - local.get $1 + local.get $2 + local.get $0 i32.store $0 offset=8 - local.get $1 + local.get $2 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 if - local.get $5 - local.get $1 + local.get $0 + local.get $3 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $5 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + local.get $7 i32.store $0 offset=12 - local.get $5 - local.get $5 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 offset=12 + local.get $0 + local.get $0 i32.load $0 offset=20 i32.store $0 offset=16 - global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $2 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer end global.get $~lib/memory/__stack_pointer - local.get $5 + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 i32.load $0 offset=8 - local.tee $0 + local.tee $3 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - local.get $5 - local.get $5 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $0 i32.load $0 offset=16 - local.tee $1 + local.tee $4 i32.const 1 i32.add i32.store $0 offset=16 - local.get $0 - local.get $1 + local.get $3 + local.get $4 i32.const 12 i32.mul i32.add - local.tee $0 - local.get $3 + local.tee $3 + local.get $1 i32.store $0 + local.get $2 + i32.const 1056 + i32.store $0 offset=4 + local.get $3 + i32.const 1056 + i32.store $0 offset=4 local.get $0 i32.const 1056 + i32.const 1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.store $0 offset=4 - local.get $5 - call $byn-split-outlined-A$~lib/rt/itcms/__link_0 - local.get $5 - local.get $5 + local.get $0 + local.get $0 i32.load $0 offset=20 i32.const 1 i32.add i32.store $0 offset=20 + local.get $1 + local.get $0 + i32.store $0 local.get $0 - local.get $5 i32.load $0 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $3 + local.get $2 local.get $6 - local.get $5 + local.get $0 i32.load $0 offset=4 i32.and i32.const 2 i32.shl i32.add - local.tee $1 + local.tee $0 i32.load $0 i32.store $0 offset=8 - local.get $1 local.get $0 + local.get $3 i32.store $0 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.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 return end - i32.const 35536 - i32.const 35584 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/symbol/_Symbol.for (type $none_=>_i32) (result 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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + global.get $~lib/symbol/stringToId + local.tee $1 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 1056 + i32.store $0 offset=8 + local.get $1 + 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 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + if + global.get $~lib/memory/__stack_pointer + local.tee $0 + global.get $~lib/symbol/stringToId + local.tee $1 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 1056 + i32.store $0 offset=4 + local.get $0 + i32.const 1056 + i32.store $0 offset=8 + local.get $1 + i32.const 1056 + call $~lib/util/hash/HASH<~lib/string/String> + call $~lib/map/Map<~lib/string/String,usize>#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 $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + br $folding-inner1 + end + global.get $~lib/symbol/nextId + local.tee $0 + i32.const 1 + i32.add + global.set $~lib/symbol/nextId + local.get $0 + i32.eqz + if + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + global.get $~lib/symbol/stringToId + local.tee $2 + i32.store $0 + local.get $1 + i32.const 1056 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/map/Map<~lib/string/String,usize>#set + global.get $~lib/memory/__stack_pointer + global.get $~lib/symbol/idToString + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 1056 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/map/Map#set + br $folding-inner1 + end + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + 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 $0 ) - (func $~lib/symbol/_Symbol.keyFor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/map/Map#has (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -2948,18 +3312,15 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 - global.get $~lib/symbol/idToString - local.tee $1 + local.get $2 + local.get $0 i32.store $0 + local.get $0 local.get $1 - i32.load $0 local.get $1 - i32.load $0 offset=4 - local.get $0 i32.const -1028477379 i32.mul i32.const 374761397 @@ -2968,84 +3329,265 @@ 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.tee $0 + local.get $0 + i32.const 16 + i32.shr_u + i32.xor + call $~lib/map/Map#find + i32.const 0 + i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/map/Map#get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + if + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 local.get $1 + 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 - i32.and - i32.const 2 - i32.shl + 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 $0 offset=4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/symbol/_Symbol.keyFor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + if + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + global.get $~lib/symbol/idToString + local.tee $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/map/Map#has + if (result i32) + global.get $~lib/memory/__stack_pointer + global.get $~lib/symbol/idToString + local.tee $1 + i32.store $0 + local.get $1 + local.get $0 + call $~lib/map/Map#get + else + i32.const 0 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 2748 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + local.tee $2 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $4 + local.get $3 + local.get $1 + i32.store $0 + block $__inlined_func$~lib/string/String#concat local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $2 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $2 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $3 + local.get $4 + 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 1888 + local.set $0 + br $__inlined_func$~lib/string/String#concat end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + local.get $4 + memory.copy $0 $0 + local.get $0 + local.get $4 + i32.add + local.get $1 + local.get $3 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer end - i32.const 0 - local.set $1 - end - local.get $1 - if (result i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/symbol/idToString - local.tee $1 - i32.store $0 - local.get $1 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - call $~lib/map/Map#get - else - i32.const 0 + return end - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 35536 + i32.const 35584 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) (func $~lib/symbol/_Symbol#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3060,15 +3602,13 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i64.const 0 - i64.store $0 offset=8 + local.tee $2 + i32.const 0 + i32.const 20 + memory.fill $0 i32.const 1888 - local.set $2 - local.get $1 + local.set $1 + local.get $2 i32.const 1888 i32.store $0 block $break|0 @@ -3090,77 +3630,77 @@ br_table $case0|0 $case1|0 $case2|0 $case3|0 $case4|0 $case5|0 $case6|0 $case7|0 $case8|0 $case9|0 $case10|0 $case11|0 end i32.const 1920 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 1920 i32.store $0 br $break|0 end i32.const 1968 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 1968 i32.store $0 br $break|0 end i32.const 2032 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2032 i32.store $0 br $break|0 end i32.const 2080 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2080 i32.store $0 br $break|0 end i32.const 2112 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2112 i32.store $0 br $break|0 end i32.const 2160 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2160 i32.store $0 br $break|0 end i32.const 2192 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2192 i32.store $0 br $break|0 end i32.const 2240 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2240 i32.store $0 br $break|0 end i32.const 2272 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2272 i32.store $0 br $break|0 end i32.const 2320 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2320 i32.store $0 br $break|0 end i32.const 2368 - local.set $2 + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 2368 i32.store $0 @@ -3170,75 +3710,11 @@ if (result i32) global.get $~lib/memory/__stack_pointer global.get $~lib/symbol/idToString - local.tee $1 + local.tee $2 i32.store $0 offset=4 - local.get $1 - i32.load $0 - local.get $1 - i32.load $0 offset=4 + local.get $2 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 $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 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $1 - block $__inlined_func$~lib/map/Map#find - loop $while-continue|0 - local.get $1 - if - local.get $1 - i32.load $0 offset=8 - local.tee $3 - i32.const 1 - i32.and - if (result i32) - i32.const 0 - else - local.get $1 - i32.load $0 - local.get $0 - i32.eq - end - br_if $__inlined_func$~lib/map/Map#find - local.get $3 - i32.const -2 - i32.and - local.set $1 - br $while-continue|0 - end - end - i32.const 0 - local.set $1 - end - local.get $1 + call $~lib/map/Map#has else i32.const 0 end @@ -3252,15 +3728,19 @@ local.get $2 local.get $0 call $~lib/map/Map#get - local.tee $2 + local.tee $1 i32.store $0 end end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 2416 i32.store $0 offset=12 + local.get $0 + local.get $1 + i32.store $0 offset=16 i32.const 2416 - local.get $2 + local.get $1 call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer @@ -3274,7 +3754,7 @@ call $~lib/string/String.__concat local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 20 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3372,7 +3852,7 @@ i32.const 1424 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3384,17 +3864,23 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 24 i32.const 4 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 @@ -3402,17 +3888,25 @@ if local.get $0 local.get $1 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 3 i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=8 @@ -3420,25 +3914,36 @@ if local.get $0 local.get $1 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 4 i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 global.set $~lib/symbol/stringToId global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -3450,17 +3955,23 @@ i64.const 0 i64.store $0 local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 i32.const 24 i32.const 5 call $~lib/rt/itcms/__new local.tee $0 i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 i32.const 16 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 @@ -3468,17 +3979,25 @@ if local.get $0 local.get $1 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 3 i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=4 i32.const 48 call $~lib/arraybuffer/ArrayBuffer#constructor local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $0 local.get $1 i32.store $0 offset=8 @@ -3486,19 +4005,30 @@ if local.get $0 local.get $1 + i32.const 0 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 4 i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.store $0 offset=4 local.get $0 i32.const 0 i32.store $0 offset=20 - global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $1 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -3811,7 +4341,8 @@ global.set $~lib/rt/itcms/visitCount end ) - (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $byn-split-outlined-A$~lib/rt/itcms/__link (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) local.get $0 i32.eqz if @@ -3831,53 +4362,6 @@ i32.const 3 i32.and i32.eq - if - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=4 - i32.const 3 - i32.and - local.tee $0 - global.get $~lib/rt/itcms/white - i32.eqz - i32.eq - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - else - global.get $~lib/rt/itcms/state - i32.const 1 - i32.eq - local.get $0 - i32.const 3 - i32.eq - i32.and - if - local.get $1 - call $~lib/rt/itcms/Object#makeGray - end - end - end - ) - (func $byn-split-outlined-A$~lib/rt/itcms/__link_0 (type $i32_=>_none) (param $0 i32) - (local $1 i32) - local.get $0 - i32.eqz - if - i32.const 0 - i32.const 1200 - i32.const 295 - i32.const 14 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/rt/itcms/white - i32.const 1040 - i32.load $0 - i32.const 3 - i32.and - i32.eq if local.get $0 i32.const 20 @@ -3886,23 +4370,26 @@ i32.load $0 offset=4 i32.const 3 i32.and - local.tee $1 + local.tee $3 global.get $~lib/rt/itcms/white i32.eqz i32.eq if local.get $0 + local.get $1 + local.get $2 + select call $~lib/rt/itcms/Object#makeGray else global.get $~lib/rt/itcms/state i32.const 1 i32.eq - local.get $1 + local.get $3 i32.const 3 i32.eq i32.and if - i32.const 1036 + local.get $1 call $~lib/rt/itcms/Object#makeGray end end diff --git a/tests/compiler/std/typedarray.debug.wat b/tests/compiler/std/typedarray.debug.wat index 5aca8b1077..a08a189ab2 100644 --- a/tests/compiler/std/typedarray.debug.wat +++ b/tests/compiler/std/typedarray.debug.wat @@ -18,37 +18,37 @@ (type $i64_i64_i32_i32_=>_i64 (func_subtype (param i64 i64 i32 i32) (result i64) func)) (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) - (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) - (type $i32_i32_i64_=>_i64 (func_subtype (param i32 i32 i64) (result i64) func)) (type $f32_f32_i32_i32_=>_f32 (func_subtype (param f32 f32 i32 i32) (result f32) func)) (type $f64_f64_i32_i32_=>_f64 (func_subtype (param f64 f64 i32 i32) (result f64) func)) - (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i64_i32_i32_=>_i64 (func_subtype (param i64 i32 i32) (result i64) func)) + (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) + (type $i32_i32_i64_=>_i64 (func_subtype (param i32 i32 i64) (result i64) func)) + (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) (type $i64_i32_i32_=>_none (func_subtype (param i64 i32 i32) func)) (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $i64_i32_=>_i32 (func_subtype (param i64 i32) (result i32) func)) (type $i32_i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32 i32) (result i32) func)) - (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) - (type $i32_i32_f32_=>_f32 (func_subtype (param i32 i32 f32) (result f32) func)) - (type $i32_i32_f64_=>_f64 (func_subtype (param i32 i32 f64) (result f64) func)) (type $f32_i32_i32_=>_f32 (func_subtype (param f32 i32 i32) (result f32) func)) (type $f64_i32_i32_=>_f64 (func_subtype (param f64 i32 i32) (result f64) func)) - (type $f32_i32_i32_=>_none (func_subtype (param f32 i32 i32) func)) - (type $f64_i32_i32_=>_none (func_subtype (param f64 i32 i32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) + (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) + (type $i32_i32_f32_=>_f32 (func_subtype (param i32 i32 f32) (result f32) func)) + (type $i32_i32_f64_=>_f64 (func_subtype (param i32 i32 f64) (result f64) func)) + (type $f32_i32_i32_=>_none (func_subtype (param f32 i32 i32) func)) + (type $f64_i32_i32_=>_none (func_subtype (param f64 i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) - (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) (type $f32_f32_=>_f32 (func_subtype (param f32 f32) (result f32) func)) (type $f64_f64_=>_f64 (func_subtype (param f64 f64) (result f64) func)) (type $i32_i64_i32_i32_=>_none (func_subtype (param i32 i64 i32 i32) func)) (type $i64_=>_i32 (func_subtype (param i64) (result i32) func)) (type $i32_i64_i32_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32 i64 i32 i64 i32) (result i32) func)) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func_subtype (param i32 i32 f64 f64 f64 f64 f64) func)) + (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) + (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) @@ -2700,5467 +2700,5896 @@ local.get $this i32.load $0 ) - (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:buffer - i32.sub - return - ) (func $~lib/arraybuffer/ArrayBufferView#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this i32.load $0 offset=8 ) - (func $~lib/typedarray/Int8Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - return - ) - (func $~lib/typedarray/Uint8Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - return - ) - (func $~lib/typedarray/Uint8ClampedArray#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - return - ) - (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a f64) + (local $b f64) + (local $min f64) + (local $max f64) + (local $j i32) + i32.const 0 i32.const 1 - i32.shr_u - return - ) - (func $~lib/typedarray/Uint16Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_s + drop + local.get $right + local.get $left + i32.sub i32.const 1 - i32.shr_u - return - ) - (func $~lib/typedarray/Int32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - return - ) - (func $~lib/typedarray/Uint32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - return - ) - (func $~lib/typedarray/Int64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - return - ) - (func $~lib/typedarray/Uint64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - return - ) - (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - return - ) - (func $~lib/typedarray/Float64Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - return - ) - (func $std/typedarray/testInstantiate (type $i32_=>_none) (param $len i32) - (local $i8a i32) - (local $u8a i32) - (local $c8a i32) - (local $i16a i32) - (local $u16a i32) - (local $i32a i32) - (local $u32a i32) - (local $i64a i32) - (local $u64a i32) - (local $f32a i32) - (local $f64a i32) - global.get $~lib/memory/__stack_pointer - i32.const 44 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 44 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $len - call $~lib/typedarray/Int8Array#constructor - local.tee $i8a - i32.store $0 - local.get $i8a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 32 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $i8a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - 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 + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 offset=16 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $max + f64.store $0 offset=16 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $min + f64.store $0 offset=8 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 + end end - local.get $i8a - call $~lib/typedarray/Int8Array#get:length - local.get $len + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp f64) + local.get $i + local.get $right i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 34 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $i + return end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $len - call $~lib/typedarray/Uint8Array#constructor - local.tee $u8a - i32.store $0 offset=4 - local.get $u8a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) 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 $u8a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz + i32.gt_s if - i32.const 0 - i32.const 544 - i32.const 38 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + f64.load $0 + f64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $tmp + f64.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end end - local.get $u8a - call $~lib/typedarray/Uint8Array#get:length - local.get $len - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 39 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $j + return + ) + (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) + (local $n i64) + (local $s i32) + (local $l i32) + (local $r i32) + (local $a i64) + (local $b i64) + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + i64.extend_i32_u + local.set $n + local.get $startB + local.get $left + i32.const 1 + i32.shl + i32.sub + local.set $s + local.get $startA + local.get $s + i32.add + local.set $l + local.get $endB + local.get $s + i32.add + i32.const 1 + i32.add + local.set $r + local.get $l + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $n + i64.div_u + local.set $a + local.get $r + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $n + i64.div_u + local.set $b + local.get $a + local.get $b + i64.xor + i32.wrap_i64 + i32.clz + return + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (local $i i32) + (local $j i32) + (local $t i32) + (local $k i32) + (local $a f64) + (local $b f64) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 3 + i32.shl + i32.add + f64.load $0 + f64.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end end - global.get $~lib/memory/__stack_pointer + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 offset=8 + f64.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $a + local.get $buffer + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $a + f64.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $b + f64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 + end + end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) + (local $ia i64) + (local $ib i64) + local.get $a + i64.reinterpret_f64 + local.set $ia + local.get $b + i64.reinterpret_f64 + local.set $ib + local.get $ia + local.get $ia + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $ia + local.get $ib + local.get $ib + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + i64.xor + local.set $ib + local.get $ia + local.get $ib + i64.gt_s + local.get $ia + local.get $ib + i64.lt_s + i32.sub + return + ) + (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end 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 $start i32.const 0 - local.get $len - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $c8a - i32.store $0 offset=8 - local.get $c8a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $5 + i32.const 0 + local.tee $6 + local.get $5 + local.get $6 + i32.gt_u + select + else + local.get $start + local.tee $7 + local.get $len + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select + end + local.set $start + local.get $end i32.const 0 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $len + local.get $end + i32.add + local.tee $9 i32.const 0 - i32.const 544 - i32.const 42 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $10 + local.get $9 + local.get $10 + i32.gt_u + select + else + local.get $end + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select end - local.get $c8a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT - i32.mul + local.set $end + i32.const 1 + i32.const 1 i32.eq - i32.eqz + drop + local.get $start + local.get $end + i32.lt_s if - i32.const 0 - i32.const 544 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $ptr + local.get $start + i32.add + local.get $value + local.get $end + local.get $start + i32.sub + memory.fill $0 end - local.get $c8a - call $~lib/typedarray/Uint8ClampedArray#get:length - local.get $len - i32.eq - i32.eqz + ) + (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) + (local $buffer i32) + local.get $size + local.get $id + call $~lib/rt/itcms/__new + local.set $buffer + local.get $data if - i32.const 0 - i32.const 544 - i32.const 44 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + local.get $data + local.get $size + memory.copy $0 $0 end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $len - call $~lib/typedarray/Int16Array#constructor - local.tee $i16a - i32.store $0 offset=12 - local.get $i16a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $buffer + return + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end 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 $start i32.const 0 - i32.eq - i32.eqz - if + i32.lt_s + if (result i32) + local.get $len + local.get $start + i32.add + local.tee $5 i32.const 0 - i32.const 544 - i32.const 47 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $6 + local.get $5 + local.get $6 + i32.gt_u + select + else + local.get $start + local.tee $7 + local.get $len + local.tee $8 + local.get $7 + local.get $8 + i32.lt_s + select end - local.get $i16a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if + local.set $start + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end + i32.add + local.tee $9 i32.const 0 - i32.const 544 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.tee $10 + local.get $9 + local.get $10 + i32.gt_u + select + else + local.get $end + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select end - local.get $i16a - call $~lib/typedarray/Int16Array#get:length - local.get $len + local.set $end + i32.const 4 + i32.const 1 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 + drop i32.const 0 - local.get $len - call $~lib/typedarray/Uint16Array#constructor - local.tee $u16a - i32.store $0 offset=16 - local.get $u16a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.le_s + drop + i32.const 1 + drop + local.get $value i32.const 0 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 $u16a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - 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 $u16a - call $~lib/typedarray/Uint16Array#get:length - local.get $len + local.get $value + i32.const -1 i32.eq - i32.eqz + i32.or 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 $len - call $~lib/typedarray/Int32Array#constructor - local.tee $i32a - i32.store $0 offset=20 - local.get $i32a - 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 + local.get $start + local.get $end + i32.lt_s + if + local.get $ptr + local.get $start + i32.const 2 + i32.shl + i32.add + local.get $value + local.get $end + local.get $start + i32.sub + i32.const 2 + i32.shl + memory.fill $0 + end + return end - local.get $i32a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Int32Array.BYTES_PER_ELEMENT + loop $for-loop|0 + local.get $start + local.get $end + i32.lt_s + if + local.get $ptr + local.get $start + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + local.get $start + i32.const 1 + i32.add + local.set $start + br $for-loop|0 + end + end + ) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 + ) + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + local.get $acc + local.get $val + i64.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + local.get $acc + local.get $val + i64.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) + local.get $acc + local.get $val + f32.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) + local.get $acc + local.get $val + f64.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) + local.get $acc + local.get $val + i32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + local.get $acc + local.get $val + i64.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) + local.get $acc + local.get $val + i64.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) + local.get $acc + local.get $val + f32.add + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) + local.get $acc + local.get $val + f64.add + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value i32.mul - i32.eq - i32.eqz + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + local.get $value + i32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) + local.get $value + local.get $value + i64.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) + local.get $value + local.get $value + i64.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_f32) (param $value f32) (param $$1 i32) (param $$2 i32) (result f32) + local.get $value + local.get $value + f32.mul + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_f64) (param $value f64) (param $$1 i32) (param $$2 i32) (result f64) + local.get $value + local.get $value + f64.mul + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 + i32.gt_s + ) + (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=16 + ) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) + (local $oldObj i32) + (local $newPtr i32) + (local $4 i32) + (local $5 i32) + local.get $oldPtr + i32.const 20 + i32.sub + local.set $oldObj + local.get $size + local.get $oldObj + call $~lib/rt/common/BLOCK#get:mmInfo + i32.const 3 + i32.const -1 + i32.xor + i32.and + i32.const 16 + i32.sub + i32.le_u if - i32.const 0 - i32.const 544 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $oldObj + local.get $size + call $~lib/rt/itcms/Object#set:rtSize + local.get $oldPtr + return end - local.get $i32a - call $~lib/typedarray/Int32Array#get:length - local.get $len + local.get $size + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtId + call $~lib/rt/itcms/__new + local.set $newPtr + local.get $newPtr + local.get $oldPtr + local.get $size + local.tee $4 + local.get $oldObj + call $~lib/rt/itcms/Object#get:rtSize + local.tee $5 + local.get $4 + local.get $5 + i32.lt_u + select + memory.copy $0 $0 + local.get $newPtr + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 2 + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.gt_s + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 2 + f32.gt + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 2 + f64.gt + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 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 $len - call $~lib/typedarray/Uint32Array#constructor - local.tee $u32a - i32.store $0 offset=24 - local.get $u32a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s 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 $u32a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 63 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $u32a - call $~lib/typedarray/Uint32Array#get:length - local.get $len + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 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 $len - call $~lib/typedarray/Int64Array#constructor - local.tee $i64a - i32.store $0 offset=28 - local.get $i64a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and 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 $i64a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Int64Array.BYTES_PER_ELEMENT - i32.mul + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 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 $i64a - call $~lib/typedarray/Int64Array#get:length - local.get $len + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 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 + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s i32.const 0 - local.get $len - call $~lib/typedarray/Uint64Array#constructor - local.tee $u64a - i32.store $0 offset=32 - local.get $u64a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and 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 $u64a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - 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 $u64a - call $~lib/typedarray/Uint64Array#get:length - local.get $len + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 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 $len - call $~lib/typedarray/Float32Array#constructor - local.tee $f32a - i32.store $0 offset=36 - local.get $f32a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value 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 $f32a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - 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 $f32a - call $~lib/typedarray/Float32Array#get:length - local.get $len + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 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 $len - call $~lib/typedarray/Float64Array#constructor - local.tee $f64a - i32.store $0 offset=40 - local.get $f64a - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value 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 $f64a - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $len - global.get $~lib/typedarray/Float64Array.BYTES_PER_ELEMENT - i32.mul + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 2 + f32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 0 + f32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 2 + f64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 0 + f64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 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 $f64a - call $~lib/typedarray/Float64Array#get:length - local.get $len + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 4 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 - global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 747 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and i32.const 2 - i32.shl - i32.add + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - i32.store $0 + i32.const 255 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int32Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 736 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s i32.const 2 - i32.shl - i32.add - i32.load $0 - return + i32.eq ) - (func $~lib/typedarray/Float64Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value f64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1457 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - f64.store $0 + i32.extend16_s + i32.const 4 + i32.eq ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a f64) - (local $b f64) - (local $min f64) - (local $max f64) - (local $j i32) - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 i32.and - i32.sub - local.get $presorted - i32.const 0 + i32.const 4 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - f64.store $0 offset=16 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $max - f64.store $0 offset=16 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - f64.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $min - f64.store $0 offset=8 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp f64) - local.get $i - local.get $right + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 i32.eq - if - local.get $i - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 3 - i32.shl - i32.add - f64.load $0 + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 2 + f32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 4 + f32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 2 + f64.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 4 + f64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 4 + i64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 2 + f32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 4 + f32.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 2 + f64.eq + ) + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 4 + f64.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 + i32.rem_s i32.const 0 - i32.gt_s + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend8_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + 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 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + 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 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 255 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.extend16_s + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + 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 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 65535 + i32.and + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.rem_s + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.rem_u + i32.const 0 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i32.const 2 + i32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.rem_s + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.rem_u + i64.const 0 + i64.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + i64.const 2 + i64.eq + ) + (func $~lib/math/NativeMathf.mod (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) + (local $ux i32) + (local $uy i32) + (local $ex i32) + (local $ey i32) + (local $sm i32) + (local $uy1 i32) + (local $m f32) + (local $ux1 i32) + (local $shift i32) + local.get $y + f32.abs + f32.const 1 + f32.eq if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $tmp - f64.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 - end - end + local.get $x + local.get $x + f32.trunc + f32.sub + local.get $x + f32.copysign + return end - local.get $j - return - ) - (func $~lib/util/sort/nodePower (type $i32_i32_i32_i32_i32_=>_i32) (param $left i32) (param $right i32) (param $startA i32) (param $startB i32) (param $endB i32) (result i32) - (local $n i64) - (local $s i32) - (local $l i32) - (local $r i32) - (local $a i64) - (local $b i64) - local.get $right - local.get $left - i32.sub + local.get $x + i32.reinterpret_f32 + local.set $ux + local.get $y + i32.reinterpret_f32 + local.set $uy + local.get $ux + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $ex + local.get $uy + i32.const 23 + i32.shr_u + i32.const 255 + i32.and + local.set $ey + local.get $ux + i32.const -2147483648 + i32.and + local.set $sm + local.get $uy i32.const 1 - i32.add - i64.extend_i32_u - local.set $n - local.get $startB - local.get $left + i32.shl + local.set $uy1 + local.get $uy1 + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $ex + i32.const 255 + i32.eq + end + if (result i32) + i32.const 1 + else + local.get $y + local.get $y + f32.ne + end + if + local.get $x + local.get $y + f32.mul + local.set $m + local.get $m + local.get $m + f32.div + return + end + local.get $ux i32.const 1 i32.shl - i32.sub - local.set $s - local.get $startA - local.get $s - i32.add - local.set $l - local.get $endB - local.get $s - i32.add - i32.const 1 - i32.add - local.set $r - local.get $l - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $n - i64.div_u - local.set $a - local.get $r - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $n - i64.div_u - local.set $b - local.get $a - local.get $b - i64.xor - i32.wrap_i64 - i32.clz - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a f64) - (local $b f64) - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m - i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + local.set $ux1 + local.get $ux1 + local.get $uy1 + i32.le_u + if + local.get $x + local.get $ux1 + local.get $uy1 + i32.ne + f32.convert_i32_u + f32.mul + return end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 offset=8 - f64.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $ex + i32.eqz + if + local.get $ex + local.get $ux + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $ex + local.get $ux + i32.const 1 + local.get $ex + i32.sub + i32.shl + local.set $ux + else + local.get $ux + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $ux + local.get $ux + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $ux end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s + local.get $ey + i32.eqz + if + local.get $ey + local.get $uy + i32.const 9 + i32.shl + i32.clz + i32.sub + local.set $ey + local.get $uy + i32.const 1 + local.get $ey + i32.sub + i32.shl + local.set $uy + else + local.get $uy + i32.const -1 + i32.const 9 + i32.shr_u + i32.and + local.set $uy + local.get $uy + i32.const 1 + i32.const 23 + i32.shl + i32.or + local.set $uy + end + loop $while-continue|0 + local.get $ex + local.get $ey + i32.gt_s if - local.get $buffer - local.get $j - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $a - local.get $buffer - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.lt_s + local.get $ux + local.get $uy + i32.ge_u if - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $a - f64.store $0 - local.get $j - i32.const 1 + local.get $ux + local.get $uy + i32.eq + if + f32.const 0 + local.get $x + f32.mul + return + end + local.get $ux + local.get $uy i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $b - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i + local.set $ux end - local.get $k + local.get $ux i32.const 1 - i32.add - local.set $k - br $for-loop|2 + i32.shl + local.set $ux + local.get $ex + i32.const 1 + i32.sub + local.set $ex + br $while-continue|0 end end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a f64) - (local $b f64) - (local $c i32) - (local $a|7 f64) - (local $b|8 f64) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + local.get $ux + local.get $uy + i32.ge_u if - local.get $len - i32.const 1 - i32.le_s + local.get $ux + local.get $uy + i32.eq if + f32.const 0 + local.get $x + f32.mul return end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - f64.load $0 - local.set $a - local.get $ptr - f64.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f64.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - f64.load $0 offset=16 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f64.store $0 offset=8 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - f64.store $0 offset=16 - end - local.get $ptr - f64.load $0 - local.set $a|7 - local.get $ptr - f64.load $0 offset=8 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - f64.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - f64.store $0 offset=8 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.0 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz + local.get $ux + local.get $uy i32.sub - br $~lib/util/sort/log2u|inlined.0 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end + local.set $ux end - local.get $len - i32.const 3 + local.get $ux + i32.const 8 i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 + i32.clz + local.set $shift + local.get $ex + local.get $shift i32.sub - local.set $hi - local.get $ptr + local.set $ex + local.get $ux + local.get $shift + i32.shl + local.set $ux + local.get $ex i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + i32.gt_s if - local.get $hi - local.tee $20 - i32.const 32 + local.get $ux i32.const 1 + i32.const 23 + i32.shl i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr - i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 + local.set $ux + local.get $ux + local.get $ex + i32.const 23 + i32.shl + i32.or + local.set $ux + else + local.get $ux i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end - end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Float64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Float64Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) - (local $ia i64) - (local $ib i64) - local.get $a - i64.reinterpret_f64 - local.set $ia - local.get $b - i64.reinterpret_f64 - local.set $ib - local.get $ia - local.get $ia - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $ia - local.get $ib - local.get $ib - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - i64.xor - local.set $ib - local.get $ia - local.get $ib - i64.gt_s - local.get $ia - local.get $ib - i64.lt_s - i32.sub - return - ) - (func $~lib/typedarray/Float64Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1446 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $ex + i32.sub + i32.const 1 + i32.add + i32.shr_u + local.set $ux end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 + local.get $ux + local.get $sm + i32.or + f32.reinterpret_i32 return ) - (func $~lib/typedarray/Uint8ClampedArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 320 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - local.get $value - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $value - i32.sub - i32.const 31 - i32.shr_s + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - i32.or - i32.and - i32.store8 $0 + f32.const 2 + call $~lib/math/NativeMathf.mod + f32.const 0 + f32.eq ) - (func $~lib/typedarray/Uint8ClampedArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 309 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_u $0 - return + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f32.const 2 + f32.eq ) - (func $~lib/typedarray/Int8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u + (func $~lib/math/NativeMath.mod (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) + (local $ux i64) + (local $uy i64) + (local $ex i64) + (local $ey i64) + (local $sx i64) + (local $uy1 i64) + (local $m f64) + (local $ux1 i64) + (local $shift i64) + local.get $y + f64.abs + f64.const 1 + f64.eq if - i32.const 336 - i32.const 608 - i32.const 36 - i32.const 45 - call $~lib/builtins/abort - unreachable + local.get $x + local.get $x + f64.trunc + f64.sub + local.get $x + f64.copysign + return end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - local.get $value - i32.store8 $0 - ) - (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end 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 $start - i32.const 0 - i32.lt_s + local.get $x + i64.reinterpret_f64 + local.set $ux + local.get $y + i64.reinterpret_f64 + local.set $uy + local.get $ux + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $ex + local.get $uy + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.set $ey + local.get $ux + i64.const 63 + i64.shr_u + local.set $sx + local.get $uy + i64.const 1 + i64.shl + local.set $uy1 + local.get $uy1 + i64.const 0 + i64.eq if (result i32) - local.get $len - local.get $start - i32.add - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_u - select + i32.const 1 else - local.get $start - local.tee $7 - local.get $len - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select + local.get $ex + i64.const 2047 + i64.eq end - local.set $start - local.get $end - i32.const 0 - i32.lt_s if (result i32) - local.get $len - local.get $end - i32.add - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_u - select + i32.const 1 else - local.get $end - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select + local.get $y + local.get $y + f64.ne end - local.set $end - i32.const 1 - i32.const 1 - i32.eq - drop - local.get $start - local.get $end - i32.lt_s if - local.get $ptr - local.get $start - i32.add - local.get $value - local.get $end - local.get $start - i32.sub - memory.fill $0 + local.get $x + local.get $y + f64.mul + local.set $m + local.get $m + local.get $m + f64.div + return end - ) - (func $~lib/typedarray/Int8Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int8Array#get:length - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/rt/__newBuffer (type $i32_i32_i32_=>_i32) (param $size i32) (param $id i32) (param $data i32) (result i32) - (local $buffer i32) - local.get $size - local.get $id - call $~lib/rt/itcms/__new - local.set $buffer - local.get $data + local.get $ux + i64.const 1 + i64.shl + local.set $ux1 + local.get $ux1 + local.get $uy1 + i64.le_u if - local.get $buffer - local.get $data - local.get $size - memory.copy $0 $0 + local.get $x + local.get $ux1 + local.get $uy1 + i64.ne + f64.convert_i32_u + f64.mul + return end - local.get $buffer - return - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Int8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 25 - i32.const 45 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_s $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u + local.get $ex + i64.const 0 + i64.ne + i32.eqz if - i32.const 336 - i32.const 736 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable + local.get $ex + local.get $ux + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $ex + local.get $ux + i64.const 1 + local.get $ex + i64.sub + i64.shl + local.set $ux + else + local.get $ux + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $ux + local.get $ux + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $ux end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - local.get $value - return - ) - (func $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - (local $i i32) - (local $len i32) - local.get $a - call $~lib/typedarray/Int8Array#get:length - local.get $b - call $~lib/array/Array#get:length - i32.ne + local.get $ey + i64.const 0 + i64.ne + i32.eqz if - i32.const 0 - return + local.get $ey + local.get $uy + i64.const 12 + i64.shl + i64.clz + i64.sub + local.set $ey + local.get $uy + i64.const 1 + local.get $ey + i64.sub + i64.shl + local.set $uy + else + local.get $uy + i64.const -1 + i64.const 12 + i64.shr_u + i64.and + local.set $uy + local.get $uy + i64.const 1 + i64.const 52 + i64.shl + i64.or + local.set $uy end - i32.const 0 - local.set $i - local.get $a - call $~lib/typedarray/Int8Array#get:length - local.set $len - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s + loop $while-continue|0 + local.get $ex + local.get $ey + i64.gt_s if - local.get $a - local.get $i - call $~lib/typedarray/Int8Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - i32.ne + local.get $ux + local.get $uy + i64.ge_u if - i32.const 0 - return - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/typedarray/Int8Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $ux + local.get $uy + i64.eq + if + f64.const 0 + local.get $x + f64.mul + return end - unreachable + local.get $ux + local.get $uy + i64.sub + local.set $ux end - i32.const 0 - local.set $start + local.get $ux + i64.const 1 + i64.shl + local.set $ux + local.get $ex + i64.const 1 + i64.sub + local.set $ex + br $while-continue|0 end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/typedarray/Int8Array#fill - ) - (func $~lib/util/bytes/FILL (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $value i32) (param $start i32) (param $end 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 $start - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start - i32.add - local.tee $5 - i32.const 0 - local.tee $6 - local.get $5 - local.get $6 - i32.gt_u - select - else - local.get $start - local.tee $7 - local.get $len - local.tee $8 - local.get $7 - local.get $8 - i32.lt_s - select - end - local.set $start - local.get $end - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end - i32.add - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_u - select - else - local.get $end - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select end - local.set $end - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 1 - drop - local.get $value - i32.const 0 - i32.eq - local.get $value - i32.const -1 - i32.eq - i32.or + local.get $ux + local.get $uy + i64.ge_u if - local.get $start - local.get $end - i32.lt_s + local.get $ux + local.get $uy + i64.eq if - local.get $ptr - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $value - local.get $end - local.get $start - i32.sub - i32.const 2 - i32.shl - memory.fill $0 + f64.const 0 + local.get $x + f64.mul + return end - return + local.get $ux + local.get $uy + i64.sub + local.set $ux end - loop $for-loop|0 - local.get $start - local.get $end - i32.lt_s - if - local.get $ptr - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - local.get $start - i32.const 1 - i32.add - local.set $start - br $for-loop|0 - end + local.get $ux + i64.const 11 + i64.shl + i64.clz + local.set $shift + local.get $ex + local.get $shift + i64.sub + local.set $ex + local.get $ux + local.get $shift + i64.shl + local.set $ux + local.get $ex + i64.const 0 + i64.gt_s + if + local.get $ux + i64.const 1 + i64.const 52 + i64.shl + i64.sub + local.set $ux + local.get $ux + local.get $ex + i64.const 52 + i64.shl + i64.or + local.set $ux + else + local.get $ux + i64.const 0 + local.get $ex + i64.sub + i64.const 1 + i64.add + i64.shr_u + local.set $ux end - ) - (func $~lib/typedarray/Int32Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int32Array#get:length - local.get $value - local.get $start - local.get $end - call $~lib/util/bytes/FILL - local.get $this - return - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ + local.get $ux + local.get $sx + i64.const 63 + i64.shl + i64.or + f64.reinterpret_i64 return ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) + local.get $value + f64.const 2 + call $~lib/math/NativeMath.mod + f64.const 0 + f64.eq ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $value i32) - local.get $index - local.get $this - call $~lib/array/Array#get:length_ - i32.ge_u - if - i32.const 336 - i32.const 736 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) local.get $value - return + f64.const 2 + f64.eq ) - (func $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) - (local $len i32) - local.get $a - call $~lib/typedarray/Int32Array#get:length - local.get $b - call $~lib/array/Array#get:length - i32.ne + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $7 i64) + (local $8 i64) + (local $temp i64) + (local $10 i64) + (local $11 i64) + (local $front|12 i32) + (local $back|13 i32) + (local $temp|14 i32) + local.get $len + i32.const 1 + i32.gt_u if i32.const 0 - return - end - i32.const 0 - local.set $i - local.get $a - call $~lib/typedarray/Int32Array#get:length - local.set $len - loop $for-loop|0 - local.get $i + local.set $i local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 i32.lt_s - if - local.get $a - local.get $i - call $~lib/typedarray/Int32Array#__get - local.get $b - local.get $i - call $~lib/array/Array#__get - i32.ne - if - i32.const 0 - return - end + drop + i32.const 1 + i32.const 1 + i32.eq + drop + local.get $len + i32.const 8 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - i32.const 1 + i32.const 7 i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 1 - return - ) - (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $start - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $value - local.get $start - local.get $end - call $~lib/typedarray/Int32Array#fill - ) - (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - br_table $0of2 $1of2 $2of2 $outOfRange - end - unreachable + local.get $hlen + i32.lt_u + if + local.get $ptr + local.get $i + i32.add + local.set $front + local.get $ptr + local.get $tail + i32.add + local.get $i + i32.sub + local.set $back + local.get $front + i64.load $0 + local.tee $7 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $7 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.tee $8 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $8 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + local.set $temp + local.get $front + local.get $back + i64.load $0 + local.tee $10 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $10 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.tee $11 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $11 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + i64.store $0 + local.get $back + local.get $temp + i64.store $0 + local.get $i + i32.const 8 + i32.add + local.set $i + br $while-continue|0 end - i32.const 0 - local.set $begin - end - global.get $~lib/builtins/i32.MAX_VALUE - local.set $end - end - local.get $this - local.get $begin - local.get $end - call $~lib/typedarray/Int32Array#slice - ) - (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) - (local $array i32) - (local $target|5 i32) - (local $start|6 i32) - (local $end|7 i32) - (local $len i32) - (local $ptr i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $13 i32) - (local $14 i32) - (local $15 i32) - (local $to i32) - (local $17 i32) - (local $18 i32) - (local $19 i32) - (local $20 i32) - (local $from i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $last i32) - (local $27 i32) - (local $28 i32) - (local $count i32) - block $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $target - local.set $target|5 - local.get $start - local.set $start|6 - local.get $end - local.set $end|7 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $end|7 - local.tee $10 - local.get $len - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - local.set $end|7 - local.get $target|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $target|5 - i32.add - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - else - local.get $target|5 - local.tee $14 - local.get $len - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - end - local.set $to - local.get $start|6 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $start|6 - i32.add - local.tee $17 - i32.const 0 - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - else - local.get $start|6 - local.tee $19 - local.get $len - local.tee $20 - local.get $19 - local.get $20 - i32.lt_s - select - end - local.set $from - local.get $end|7 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|7 - i32.add - local.tee $22 - i32.const 0 - local.tee $23 - local.get $22 - local.get $23 - i32.gt_s - select - else - local.get $end|7 - local.tee $24 - local.get $len - local.tee $25 - local.get $24 - local.get $25 - i32.lt_s - select end - local.set $last - local.get $last - local.get $from - i32.sub - local.tee $27 + i32.const 1 + i32.const 2 + i32.eq + drop local.get $len - local.get $to + i32.const 1 i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $count - local.get $ptr - local.get $to - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $from - i32.const 2 - i32.shl - i32.add - local.get $count - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $array - br $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 - end - return - ) - (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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 $end - end - local.get $this - local.get $target - local.get $start - local.get $end - call $~lib/typedarray/Int32Array#copyWithin - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Int8Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $k - loop $for-loop|0 + local.set $tail + loop $while-continue|1 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i i32.const 0 i32.shl i32.add - i32.load8_s $0 + local.set $front|12 + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.sub + i32.const 0 + i32.shl + i32.add + local.set $back|13 + local.get $front|12 + i32.load8_u $0 + local.set $temp|14 + local.get $front|12 + local.get $back|13 + i32.load8_u $0 + i32.store8 $0 + local.get $back|13 + local.get $temp|14 + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|1 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 - end - return - ) - (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 178 - i32.const 45 - call $~lib/builtins/abort - unreachable end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - local.get $value - i32.store8 $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add ) - (func $~lib/typedarray/Uint8Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp i32) + (local $front|8 i32) + (local $back|9 i32) + (local $temp|10 i32) + local.get $len + i32.const 1 + i32.gt_u + if i32.const 0 local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $len + i32.const 2 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - local.get $k - i32.lt_s + i32.const 1 + i32.add + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i - i32.const 0 + i32.const 1 i32.shl i32.add - i32.load8_u $0 + local.set $front + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $back + local.get $back i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.const 16 + i32.rotr + local.set $temp + local.get $back + local.get $front + i32.load $0 + i32.const 16 + i32.rotr + i32.store $0 + local.get $front + local.get $temp + i32.store $0 local.get $i - i32.const 1 + i32.const 2 i32.add local.set $i - br $for-loop|0 + br $while-continue|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint8ClampedArray#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.sub + local.set $tail + loop $while-continue|1 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i - i32.const 0 + i32.const 1 i32.shl i32.add - i32.load8_u $0 + local.set $front|8 + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.sub + i32.const 1 + i32.shl + i32.add + local.set $back|9 + local.get $front|8 + i32.load16_u $0 + local.set $temp|10 + local.get $front|8 + local.get $back|9 + i32.load16_u $0 + i32.store16 $0 + local.get $back|9 + local.get $temp|10 + i32.store16 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|1 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 end - return ) - (func $~lib/typedarray/Int16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) + (local $i i32) + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp i32) + local.get $len i32.const 1 - i32.shr_u - i32.ge_u + i32.gt_u if - i32.const 336 - i32.const 608 - i32.const 463 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Int16Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr i32.const 0 local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + local.get $len + i32.const 1 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s $0 + local.set $front + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 + i32.sub + i32.const 2 + i32.shl + i32.add + local.set $back + local.get $front i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + local.set $temp + local.get $front + local.get $back + i32.load $0 + i32.store $0 + local.get $back + local.get $temp + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end - return ) - (func $~lib/typedarray/Uint16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) + (local $i i32) + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp i64) + local.get $len i32.const 1 - i32.shr_u - i32.ge_u + i32.gt_u if - i32.const 336 - i32.const 608 - i32.const 605 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint16Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr i32.const 0 local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + local.get $len + i32.const 1 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i - i32.const 1 + i32.const 3 i32.shl i32.add - i32.load16_u $0 + local.set $front + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.sub + i32.const 3 + i32.shl + i32.add + local.set $back + local.get $front + i64.load $0 + local.set $temp + local.get $front + local.get $back + i64.load $0 + i64.store $0 + local.get $back + local.get $temp + i64.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 end - return - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add ) - (func $~lib/typedarray/Int32Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp f32) + local.get $len + i32.const 1 + i32.gt_u + if i32.const 0 local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + local.get $len + i32.const 1 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i i32.const 2 i32.shl i32.add - i32.load $0 + local.set $front + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.sub + i32.const 2 + i32.shl + i32.add + local.set $back + local.get $front + f32.load $0 + local.set $temp + local.get $front + local.get $back + f32.load $0 + f32.store $0 + local.get $back + local.get $temp + f32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 - end - return - ) - (func $~lib/typedarray/Uint32Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 889 - i32.const 64 - call $~lib/builtins/abort - unreachable end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add ) - (func $~lib/typedarray/Uint32Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) + (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $tail i32) + (local $hlen i32) + (local $front i32) + (local $back i32) + (local $temp f64) + local.get $len + i32.const 1 + i32.gt_u + if i32.const 0 local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $k - loop $for-loop|0 + local.get $len + i32.const 1 + i32.shr_u + local.set $hlen + i32.const 0 + i32.const 1 + i32.lt_s + drop + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + local.get $len + i32.const 1 + i32.sub + local.set $tail + loop $while-continue|0 local.get $i - local.get $k - i32.lt_s + local.get $hlen + i32.lt_u if - local.get $initialValue|5 local.get $ptr local.get $i - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 + local.set $front + local.get $ptr + local.get $tail local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 + i32.sub + i32.const 3 + i32.shl + i32.add + local.set $back + local.get $front + f64.load $0 + local.set $temp + local.get $front + local.get $back + f64.load $0 + f64.store $0 + local.get $back + local.get $temp + f64.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $while-continue|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end - return ) - (func $~lib/typedarray/Int64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u + (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) + local.get $value + i32.const 100000 + i32.lt_u if - i32.const 336 - i32.const 608 - i32.const 1031 - i32.const 64 - call $~lib/builtins/abort + local.get $value + i32.const 100 + i32.lt_u + if + i32.const 1 + local.get $value + i32.const 10 + i32.ge_u + i32.add + return + else + i32.const 3 + local.get $value + i32.const 10000 + i32.ge_u + i32.add + local.get $value + i32.const 1000 + i32.ge_u + i32.add + return + end unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) - local.get $acc - local.get $val - i64.add - ) - (func $~lib/typedarray/Int64Array#reduce (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i64) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + else + local.get $value + i32.const 10000000 + i32.lt_u + if + i32.const 6 + local.get $value + i32.const 1000000 + i32.ge_u + i32.add + return + else + i32.const 8 + local.get $value + i32.const 1000000000 + i32.ge_u + i32.add + local.get $value + i32.const 100000000 + i32.ge_u + i32.add + return end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 - end - return - ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value i64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort unreachable end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) - local.get $acc - local.get $val - i64.add + unreachable ) - (func $~lib/typedarray/Uint64Array#reduce (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i64) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) + (local $t i32) + (local $r i32) + (local $d1 i32) + (local $d2 i32) + (local $digits1 i64) + (local $digits2 i64) + (local $t|9 i32) + (local $d1|10 i32) + (local $digits i32) + (local $digits|12 i32) + (local $digit i32) + loop $while-continue|0 + local.get $num + i32.const 10000 + i32.ge_u + if + local.get $num + i32.const 10000 + i32.div_u + local.set $t + local.get $num + i32.const 10000 + i32.rem_u + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 100 + i32.div_u + local.set $d1 + local.get $r + i32.const 100 + i32.rem_u + local.set $d2 + i32.const 6988 + local.get $d1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 6988 + local.get $d2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 end - return - ) - (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u + local.get $num + i32.const 100 i32.ge_u if - i32.const 336 - i32.const 608 - i32.const 1315 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - local.get $value - f32.store $0 - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) - local.get $acc - local.get $val - f32.add - ) - (func $~lib/typedarray/Float32Array#reduce (type $i32_i32_f32_=>_f32) (param $this i32) (param $fn i32) (param $initialValue f32) (result f32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 f32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) - local.get $acc - local.get $val - f64.add - ) - (func $~lib/typedarray/Float64Array#reduce (type $i32_i32_f64_=>_f64) (param $this i32) (param $fn i32) (param $initialValue f64) (result f64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 f64) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + local.get $num + i32.const 100 + i32.div_u + local.set $t|9 + local.get $num + i32.const 100 + i32.rem_u + local.set $d1|10 + local.get $t|9 + local.set $num + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 6988 + local.get $d1|10 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $digits + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits + i32.store $0 end - return - ) - (func $~lib/typedarray/Int8Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $len - local.get $index - i32.const 0 - local.get $len - local.get $index - i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len + local.get $num + i32.const 10 i32.ge_u if - i32.const 336 - i32.const 608 + local.get $offset + i32.const 2 + i32.sub + local.set $offset + i32.const 6988 + local.get $num + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $digits|12 + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits|12 + i32.store $0 + else + local.get $offset + i32.const 1 + i32.sub + local.set $offset i32.const 48 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $num + i32.add + local.set $digit + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digit + i32.store16 $0 end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_s $0 - return ) - (func $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 0 - call $~lib/typedarray/Int8Array#at + (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) + loop $while-continue|0 + local.get $offset + i32.const 2 + i32.ge_u + if + local.get $offset + i32.const 2 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 7408 + local.get $num + i32.wrap_i64 + i32.const 255 + i32.and + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $num + i64.const 8 + i64.shr_u + local.set $num + br $while-continue|0 + end + end + local.get $offset i32.const 1 - i32.eq - i32.eqz + i32.and if - i32.const 0 - i32.const 544 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + i32.const 7408 + local.get $num + i32.wrap_i64 + i32.const 6 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + end + ) + (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) + (local $value i32) + (local $b64 i64) + (local $b i64) + (local $e i32) + block $~lib/util/number/isPowerOf2|inlined.0 (result i32) + local.get $base + local.set $value + local.get $value + i32.popcnt + i32.const 1 + i32.eq + br $~lib/util/number/isPowerOf2|inlined.0 end - local.get $array - 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 + i32.const 63 + local.get $num + i64.clz + i32.wrap_i64 + i32.sub + i32.const 31 + local.get $base + i32.clz + i32.sub + i32.div_u + i32.const 1 + i32.add + return end - local.get $array - i32.const -3 - call $~lib/typedarray/Int8Array#at + local.get $base + i64.extend_i32_s + local.set $b64 + local.get $b64 + local.set $b 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 + local.set $e + loop $while-continue|0 + local.get $num + local.get $b + i64.ge_u + if + local.get $num + local.get $b + i64.div_u + local.set $num + local.get $b + local.get $b + i64.mul + local.set $b + local.get $e + i32.const 1 + i32.shl + local.set $e + br $while-continue|0 + end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + loop $while-continue|1 + local.get $num + i64.const 1 + i64.ge_u + if + local.get $num + local.get $b64 + i64.div_u + local.set $num + local.get $e + i32.const 1 + i32.add + local.set $e + br $while-continue|1 + end + end + local.get $e + i32.const 1 + i32.sub + return ) - (func $~lib/typedarray/Uint8Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $len - local.get $index - i32.const 0 - local.get $len - local.get $index + (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) + (local $base i64) + (local $shift i64) + (local $mask i64) + (local $q i64) + local.get $radix + i64.extend_i32_s + local.set $base + local.get $radix + local.get $radix + i32.const 1 + i32.sub + i32.and i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u + i32.eq if - i32.const 336 - i32.const 608 - i32.const 190 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $radix + i32.ctz + i32.const 7 + i32.and + i64.extend_i32_s + local.set $shift + local.get $base + i64.const 1 + i64.sub + local.set $mask + loop $do-loop|0 + local.get $offset + i32.const 1 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 8464 + local.get $num + local.get $mask + i64.and + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $num + local.get $shift + i64.shr_u + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|0 + end + else + loop $do-loop|1 + local.get $offset + i32.const 1 + i32.sub + local.set $offset + local.get $num + local.get $base + i64.div_u + local.set $q + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + i32.const 8464 + local.get $num + local.get $q + local.get $base + i64.mul + i64.sub + i32.wrap_i64 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $q + local.set $num + local.get $num + i64.const 0 + i64.ne + br_if $do-loop|1 + end end + ) + (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_u $0 - return + i32.load $0 offset=16 ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 + (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.const 20 i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $array + call $~lib/rt/common/OBJECT#get:rtSize i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $array + i32.shr_u + return + ) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 - call $~lib/typedarray/Uint8Array#at + local.set $sign 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 $array - i32.const -1 - call $~lib/typedarray/Uint8Array#at - i32.const 3 - i32.eq - i32.eqz + drop + local.get $value + i32.extend8_s + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign if + i32.const 1 + i32.const 1 + i32.eq + drop + local.get $value + i32.extend8_s + i32.const -128 + i32.eq + if + local.get $buffer + i32.const 45 + i64.extend_i32_s + i32.const 48 + i32.const 1 + i32.add + i64.extend_i32_s + i64.const 16 + i64.shl + i64.or + i32.const 48 + i32.const 2 + i32.add + i64.extend_i32_s + i64.const 32 + i64.shl + i64.or + i32.const 48 + i32.const 8 + i32.add + i64.extend_i32_s + i64.const 48 + i64.shl + i64.or + i64.store $0 + i32.const 4 + return + end + i32.const 1 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 i32.const 0 - i32.const 544 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $value + i32.sub + local.set $value end - local.get $array - i32.const -3 - call $~lib/typedarray/Uint8Array#at + local.get $buffer + local.get $sign i32.const 1 - i32.eq - i32.eqz + i32.shl + i32.add + local.set $dest + 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 $value + i32.extend8_s + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $dest + local.get $value + i32.extend8_s + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.set $len - local.get $index i32.const 0 - local.get $len - local.get $index + local.set $decimals + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend8_s + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 + i32.const 1 i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 332 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - i32.load8_u $0 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 + (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) + (local $ptr1 i32) + (local $ptr2 i32) + (local $7 i32) + (local $a i32) + (local $b i32) + local.get $str1 + local.get $index1 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array + i32.shl + i32.add + local.set $ptr1 + local.get $str2 + local.get $index2 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array + i32.shl + i32.add + local.set $ptr2 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 1 - i32.eq - i32.eqz - if + i32.const 2 + i32.lt_s + drop + local.get $len + i32.const 4 + i32.ge_u + if (result i32) + local.get $ptr1 + i32.const 7 + i32.and + local.get $ptr2 + i32.const 7 + i32.and + i32.or + i32.eqz + else i32.const 0 - i32.const 544 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable end - local.get $array - i32.const -1 - call $~lib/typedarray/Uint8ClampedArray#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 + block $do-break|0 + loop $do-loop|0 + local.get $ptr1 + i64.load $0 + local.get $ptr2 + i64.load $0 + i64.ne + if + br $do-break|0 + end + local.get $ptr1 + i32.const 8 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 8 + i32.add + local.set $ptr2 + local.get $len + i32.const 4 + i32.sub + local.set $len + local.get $len + i32.const 4 + i32.ge_u + br_if $do-loop|0 + end + end end - local.get $array - 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 + loop $while-continue|1 + local.get $len + local.tee $7 + i32.const 1 + i32.sub + local.set $len + local.get $7 + if + local.get $ptr1 + i32.load16_u $0 + local.set $a + local.get $ptr2 + i32.load16_u $0 + local.set $b + local.get $a + local.get $b + i32.ne + if + local.get $a + local.get $b + i32.sub + return + end + local.get $ptr1 + i32.const 2 + i32.add + local.set $ptr1 + local.get $ptr2 + i32.const 2 + i32.add + local.set $ptr2 + br $while-continue|1 + end end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 0 + return ) - (func $~lib/typedarray/Int16Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - local.set $len - local.get $index + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 - local.get $len - local.get $index + local.set $sign i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 475 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + drop + local.get $buffer + local.get $sign i32.const 1 i32.shl i32.add - i32.load16_s $0 - return - ) - (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $array - i32.store $0 - local.get $array + local.set $dest i32.const 0 i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $array + i32.le_s + drop i32.const 0 - call $~lib/typedarray/Int16Array#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 $array - i32.const -1 - call $~lib/typedarray/Int16Array#at - i32.const 3 - i32.eq - i32.eqz + drop + local.get $value + i32.const 255 + i32.and + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + local.get $value + i32.const 255 + i32.and + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end - local.get $array - i32.const -3 - call $~lib/typedarray/Int16Array#at + i32.const 0 + local.set $decimals 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.le_u + drop + local.get $value + i32.const 255 + i32.and + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - global.set $~lib/memory/__stack_pointer + return ) - (func $~lib/typedarray/Uint16Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - local.set $len - local.get $index + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 - local.get $len - local.get $index + local.set $sign + i32.const 1 + drop + local.get $value + i32.extend16_s i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u + i32.lt_s + local.set $sign + local.get $sign if - i32.const 336 - i32.const 608 - i32.const 617 - i32.const 33 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.const 1 + i32.eq + drop + i32.const 2 + i32.const 2 + i32.eq + drop + local.get $value + i32.extend16_s + i32.const -32768 + i32.eq + if + local.get $buffer + i32.const 45 + i64.extend_i32_s + i32.const 48 + i32.const 3 + i32.add + i64.extend_i32_s + i64.const 16 + i64.shl + i64.or + i32.const 48 + i32.const 2 + i32.add + i64.extend_i32_s + i64.const 32 + i64.shl + i64.or + i32.const 48 + i32.const 7 + i32.add + i64.extend_i32_s + i64.const 48 + i64.shl + i64.or + i64.store $0 + local.get $buffer + i32.const 8 + i32.add + i32.const 48 + i32.const 6 + i32.add + i32.const 0 + i32.shl + i32.const 48 + i32.const 8 + i32.add + i32.const 16 + i32.shl + i32.or + i32.store $0 + i32.const 6 + return + end + local.get $buffer + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $value + i32.sub + local.set $value end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + local.get $buffer + local.get $sign i32.const 1 i32.shl i32.add - i32.load16_u $0 - return - ) - (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $array - i32.store $0 - local.get $array + local.set $dest i32.const 0 i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $array + i32.le_s + drop i32.const 1 + drop i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $array - 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 $array - 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 $array - i32.const -3 - call $~lib/typedarray/Uint16Array#at - i32.const 1 - i32.eq - i32.eqz + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend16_s + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $dest + local.get $value + i32.extend16_s + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - local.set $len - local.get $index i32.const 0 - local.get $len - local.get $index + local.set $decimals + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.extend16_s + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 + i32.const 1 i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 759 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - i32.load $0 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $array - i32.store $0 - local.get $array + local.set $sign i32.const 0 + drop + local.get $buffer + local.get $sign i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $array + i32.shl + i32.add + local.set $dest 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 $array - 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 $array - i32.const -3 - call $~lib/typedarray/Int32Array#at i32.const 1 - i32.eq - i32.eqz + i32.le_s + drop + i32.const 0 + drop + local.get $value + i32.const 65535 + i32.and + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + local.get $value + i32.const 65535 + i32.and + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - local.set $len - local.get $index i32.const 0 - local.get $len - local.get $index + local.set $decimals + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 65535 + i32.and + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 + i32.const 1 i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 901 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - i32.load $0 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $array - i32.store $0 - local.get $array + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 + local.set $sign i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $array + drop + local.get $value i32.const 0 - call $~lib/typedarray/Uint32Array#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 $array - i32.const -1 - call $~lib/typedarray/Uint32Array#at - i32.const 3 - i32.eq - i32.eqz + i32.lt_s + local.set $sign + local.get $sign if + i32.const 4 + i32.const 1 + i32.eq + drop + i32.const 4 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 i32.const 0 - i32.const 544 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $value + i32.sub + local.set $value end - local.get $array - i32.const -3 - call $~lib/typedarray/Uint32Array#at + local.get $buffer + local.get $sign i32.const 1 - i32.eq - i32.eqz + i32.shl + i32.add + local.set $dest + 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 $value + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $dest + local.get $value + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + local.get $sign + i32.add + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#at (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - local.set $len - local.get $index i32.const 0 - local.get $len - local.get $index + local.set $decimals + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 + i32.const 1 i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1043 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - i64.load $0 return ) - (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $array i32) - global.get $~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/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer + local.set $sign i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $array - i32.store $0 - local.get $array + drop + local.get $buffer + local.get $sign + i32.const 1 + i32.shl + i32.add + local.set $dest i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $array i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $array + i32.le_s + drop i32.const 0 - 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 $array - 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 $array - i32.const -3 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.eq - i32.eqz + drop + local.get $value + i32.const 10 + i32.lt_u if - i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + local.get $value + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint64Array#at (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - local.set $len - local.get $index i32.const 0 - local.get $len - local.get $index + local.set $decimals + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 + i32.const 1 i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1185 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + local.get $sign + local.get $decimals i32.add - i64.load $0 return ) - (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 0 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.eq - i32.eqz + (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) + local.get $value + i64.const 1000000000000000 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort + local.get $value + i64.const 1000000000000 + i64.lt_u + if + i32.const 10 + local.get $value + i64.const 100000000000 + i64.ge_u + i32.add + local.get $value + i64.const 10000000000 + i64.ge_u + i32.add + return + else + i32.const 13 + local.get $value + i64.const 100000000000000 + i64.ge_u + i32.add + local.get $value + i64.const 10000000000000 + i64.ge_u + i32.add + return + end unreachable - end - local.get $array - i32.const -1 - call $~lib/typedarray/Uint64Array#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 + else + local.get $value + i64.const 100000000000000000 + i64.lt_u + if + i32.const 16 + local.get $value + i64.const 10000000000000000 + i64.ge_u + i32.add + return + else + i32.const 18 + local.get $value + i64.const -8446744073709551616 + i64.ge_u + i32.add + local.get $value + i64.const 1000000000000000000 + i64.ge_u + i32.add + return + end unreachable end - local.get $array - 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 + unreachable + ) + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) + (local $t i64) + (local $r i32) + (local $b i32) + (local $c i32) + (local $b1 i32) + (local $b2 i32) + (local $c1 i32) + (local $c2 i32) + (local $digits1 i64) + (local $digits2 i64) + loop $while-continue|0 + local.get $num + i64.const 100000000 + i64.ge_u + if + local.get $num + i64.const 100000000 + i64.div_u + local.set $t + local.get $num + local.get $t + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.set $r + local.get $t + local.set $num + local.get $r + i32.const 10000 + i32.div_u + local.set $b + local.get $r + i32.const 10000 + i32.rem_u + local.set $c + local.get $b + i32.const 100 + i32.div_u + local.set $b1 + local.get $b + i32.const 100 + i32.rem_u + local.set $b2 + local.get $c + i32.const 100 + i32.div_u + local.set $c1 + local.get $c + i32.const 100 + i32.rem_u + local.set $c2 + i32.const 6988 + local.get $c1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 6988 + local.get $c2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + i32.const 6988 + local.get $b1 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits1 + i32.const 6988 + local.get $b2 + i32.const 2 + i32.shl + i32.add + i64.load32_u $0 + local.set $digits2 + local.get $offset + i32.const 4 + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $digits1 + local.get $digits2 + i64.const 32 + i64.shl + i64.or + i64.store $0 + 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 $buffer + local.get $num + i32.wrap_i64 + local.get $offset + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/typedarray/Float32Array#at (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - local.set $len - local.get $index - i32.const 0 - local.get $len - local.get $index + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + (local $val64 i64) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u + local.set $sign + i32.const 1 + drop + local.get $value + i64.const 0 + i64.lt_s + local.set $sign + local.get $sign if - i32.const 336 - i32.const 608 - i32.const 1327 - i32.const 33 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.const 1 + i32.eq + drop + i32.const 8 + i32.const 2 + i32.eq + drop + local.get $buffer + i32.const 45 + i32.store16 $0 + i64.const 0 + local.get $value + i64.sub + local.set $value end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 + local.get $buffer + local.get $sign + i32.const 1 i32.shl i32.add - f32.load $0 - return - ) - (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $array - i32.store $0 - local.get $array + local.set $dest i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $array i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 0 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.eq - i32.eqz + i32.le_s + drop + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + i64.const 10 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $dest + local.get $value + i32.const 48 + i64.extend_i32_s + i64.or + i64.store16 $0 + i32.const 1 + local.get $sign + i32.add + return end - local.get $array - i32.const -1 - call $~lib/typedarray/Float32Array#at - f32.const 3 - f32.eq - i32.eqz + i32.const 0 + local.set $decimals + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 - i32.const 544 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i32.const -3 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.eq - i32.eqz - if + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + local.set $val64 + local.get $val64 + call $~lib/util/number/decimalCount64High + local.set $decimals + local.get $dest + local.set $buffer|10 + local.get $val64 + local.set $num|11 + local.get $decimals + local.set $offset|12 i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut end - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $sign + local.get $decimals i32.add - global.set $~lib/memory/__stack_pointer + return ) - (func $~lib/typedarray/Float64Array#at (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - (local $len i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - local.set $len - local.get $index + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) + (local $sign i32) + (local $dest i32) + (local $decimals i32) + (local $val32 i32) + (local $buffer|6 i32) + (local $num i32) + (local $offset i32) + (local $val64 i64) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) i32.const 0 - local.get $len - local.get $index + local.set $sign i32.const 0 - i32.ge_s - select - i32.add - local.set $index - local.get $index - local.get $len - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1469 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 + drop + local.get $buffer + local.get $sign + i32.const 1 i32.shl i32.add - f64.load $0 - return - ) - (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $array i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $array - i32.store $0 - local.get $array + local.set $dest i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $array i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $array + i32.le_s + drop i32.const 0 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.eq - i32.eqz + drop + local.get $value + i64.const 10 + i64.lt_u if - i32.const 0 - i32.const 544 - i32.const 344 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $buffer + local.get $value + i32.const 48 + i64.extend_i32_s + i64.or + i64.store16 $0 + i32.const 1 + return end - local.get $array - i32.const -1 - call $~lib/typedarray/Float64Array#at - f64.const 3 - f64.eq - i32.eqz + i32.const 0 + local.set $decimals + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + local.get $dest + local.set $buffer|6 + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 - i32.const 544 - i32.const 345 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i32.const -3 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.eq - i32.eqz - if + i32.const 1 + i32.ge_s + drop + local.get $buffer|6 + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + local.set $val64 + local.get $val64 + call $~lib/util/number/decimalCount64High + local.set $decimals + local.get $dest + local.set $buffer|10 + local.get $val64 + local.set $num|11 + local.get $decimals + local.set $offset|12 i32.const 0 - i32.const 544 - i32.const 346 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val + local.get $sign + local.get $decimals i32.add + return ) - (func $~lib/typedarray/Int8Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i + (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) + (local $one_exp i32) + (local $one_frc i64) + (local $mask i64) + (local $wp_w_frc i64) + (local $p1 i32) + (local $p2 i64) + (local $kappa i32) + (local $len i32) + (local $d i32) + (local $16 i32) + (local $17 i32) + (local $tmp i64) + (local $buffer|19 i32) + (local $len|20 i32) + (local $delta|21 i64) + (local $rest i64) + (local $ten_kappa i64) + (local $wp_w i64) + (local $lastp i32) + (local $digit i32) + (local $d|27 i64) + (local $28 i32) + (local $buffer|29 i32) + (local $len|30 i32) + (local $delta|31 i64) + (local $rest|32 i64) + (local $ten_kappa|33 i64) + (local $wp_w|34 i64) + (local $lastp|35 i32) + (local $digit|36 i32) + i32.const 0 + local.get $mp_exp + i32.sub + local.set $one_exp + i64.const 1 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $one_frc + local.get $one_frc + i64.const 1 + i64.sub + local.set $mask + local.get $mp_frc + local.get $w_frc + i64.sub + local.set $wp_w_frc + local.get $mp_frc + local.get $one_exp + i64.extend_i32_s + i64.shr_u + i32.wrap_i64 + local.set $p1 + local.get $mp_frc + local.get $mask + i64.and + local.set $p2 + local.get $p1 + call $~lib/util/number/decimalCount32 + local.set $kappa + local.get $sign + local.set $len + loop $while-continue|0 + local.get $kappa + 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 $kappa + local.set $16 + local.get $16 + i32.const 10 + i32.eq + br_if $case0|1 + local.get $16 + i32.const 9 + i32.eq + br_if $case1|1 + local.get $16 + i32.const 8 + i32.eq + br_if $case2|1 + local.get $16 + i32.const 7 + i32.eq + br_if $case3|1 + local.get $16 + i32.const 6 + i32.eq + br_if $case4|1 + local.get $16 + i32.const 5 + i32.eq + br_if $case5|1 + local.get $16 + i32.const 4 + i32.eq + br_if $case6|1 + local.get $16 + i32.const 3 + i32.eq + br_if $case7|1 + local.get $16 + i32.const 2 + i32.eq + br_if $case8|1 + local.get $16 + i32.const 1 + i32.eq + br_if $case9|1 + br $case10|1 + end + local.get $p1 + i32.const 1000000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 1000000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100000 + i32.div_u + local.set $d + local.get $p1 + i32.const 100000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10000 + i32.div_u + local.set $d + local.get $p1 + i32.const 10000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 1000 + i32.div_u + local.set $d + local.get $p1 + i32.const 1000 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 100 + i32.div_u + local.set $d + local.get $p1 + i32.const 100 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + i32.const 10 + i32.div_u + local.set $d + local.get $p1 + i32.const 10 + i32.rem_u + local.set $p1 + br $break|1 + end + local.get $p1 + local.set $d + i32.const 0 + local.set $p1 + br $break|1 + end i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + local.set $d + br $break|1 end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint8Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s + local.get $d + local.get $len + i32.or if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 0 - i32.shl + local.get $buffer + local.get $len + local.tee $17 + i32.const 1 i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i + local.set $len + local.get $17 i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.shl + i32.add + i32.const 48 + local.get $d + i32.const 65535 + i32.and + i32.add + i32.store16 $0 end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint8ClampedArray#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s + local.get $kappa + i32.const 1 + i32.sub + local.set $kappa + local.get $p1 + i64.extend_i32_u + local.get $one_exp + i64.extend_i32_s + i64.shl + local.get $p2 + i64.add + local.set $tmp + local.get $tmp + local.get $delta + i64.le_u if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 0 + global.get $~lib/util/number/_K + local.get $kappa + i32.add + global.set $~lib/util/number/_K + local.get $buffer + local.set $buffer|19 + local.get $len + local.set $len|20 + local.get $delta + local.set $delta|21 + local.get $tmp + local.set $rest + i32.const 9712 + local.get $kappa + i32.const 2 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i + i64.load32_u $0 + local.get $one_exp + i64.extend_i32_s + i64.shl + local.set $ten_kappa + local.get $wp_w_frc + local.set $wp_w + local.get $buffer|19 + local.get $len|20 i32.const 1 i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Int16Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + local.set $lastp + local.get $lastp + i32.load16_u $0 + local.set $digit + loop $while-continue|3 + local.get $rest + local.get $wp_w + i64.lt_u + if (result i32) + local.get $delta|21 + local.get $rest + i64.sub + local.get $ten_kappa + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w + local.get $rest + i64.sub + local.get $rest + local.get $ten_kappa + i64.add + local.get $wp_w + i64.sub + i64.gt_u + end + else + i32.const 0 + end + if + local.get $digit + i32.const 1 + i32.sub + local.set $digit + local.get $rest + local.get $ten_kappa + i64.add + local.set $rest + br $while-continue|3 + end + end + local.get $lastp + local.get $digit + i32.store16 $0 + local.get $len + return end + br $while-continue|0 end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint16Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint16Array#get:length + loop $while-continue|4 i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s + if + local.get $p2 + i64.const 10 + i64.mul + local.set $p2 + local.get $delta + i64.const 10 + i64.mul + local.set $delta + local.get $p2 + local.get $one_exp + i64.extend_i32_s + i64.shr_u + local.set $d|27 + local.get $d|27 + local.get $len + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne if - local.get $initialValue|5 - local.get $ptr - local.get $i + local.get $buffer + local.get $len + local.tee $28 i32.const 1 - i32.shl i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i + local.set $len + local.get $28 i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Int32Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 2 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.const 48 + local.get $d|27 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.add + i32.store16 $0 end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $acc i32) (param $val i32) (param $$2 i32) (param $$3 i32) (result i32) - local.get $acc - local.get $val - i32.add - ) - (func $~lib/typedarray/Uint32Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s + local.get $p2 + local.get $mask + i64.and + local.set $p2 + local.get $kappa + i32.const 1 + i32.sub + local.set $kappa + local.get $p2 + local.get $delta + i64.lt_u if - local.get $initialValue|5 - local.get $ptr - local.get $i + global.get $~lib/util/number/_K + local.get $kappa + i32.add + global.set $~lib/util/number/_K + local.get $wp_w_frc + i32.const 9712 + i32.const 0 + local.get $kappa + i32.sub i32.const 2 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $initialValue|5 - local.get $i + i64.load32_u $0 + i64.mul + local.set $wp_w_frc + local.get $buffer + local.set $buffer|29 + local.get $len + local.set $len|30 + local.get $delta + local.set $delta|31 + local.get $p2 + local.set $rest|32 + local.get $one_frc + local.set $ten_kappa|33 + local.get $wp_w_frc + local.set $wp_w|34 + local.get $buffer|29 + local.get $len|30 i32.const 1 i32.sub - local.set $i - br $for-loop|0 + i32.const 1 + i32.shl + i32.add + local.set $lastp|35 + local.get $lastp|35 + i32.load16_u $0 + local.set $digit|36 + loop $while-continue|6 + local.get $rest|32 + local.get $wp_w|34 + i64.lt_u + if (result i32) + local.get $delta|31 + local.get $rest|32 + i64.sub + local.get $ten_kappa|33 + i64.ge_u + else + i32.const 0 + end + if (result i32) + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.get $wp_w|34 + i64.lt_u + if (result i32) + i32.const 1 + else + local.get $wp_w|34 + local.get $rest|32 + i64.sub + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.get $wp_w|34 + i64.sub + i64.gt_u + end + else + i32.const 0 + end + if + local.get $digit|36 + i32.const 1 + i32.sub + local.set $digit|36 + local.get $rest|32 + local.get $ten_kappa|33 + i64.add + local.set $rest|32 + br $while-continue|6 + end + end + local.get $lastp|35 + local.get $digit|36 + i32.store16 $0 + local.get $len + return end + br $while-continue|4 end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) - local.get $acc - local.get $val - i64.add + unreachable ) - (func $~lib/typedarray/Int64Array#reduceRight (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i64) - (local $ptr i32) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) + (local $kk i32) (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int64Array#get:length + (local $ptr i32) + (local $offset i32) + (local $i|7 i32) + (local $buffer|8 i32) + (local $k|9 i32) + (local $sign i32) + (local $decimals i32) + (local $buffer|12 i32) + (local $num i32) + (local $offset|14 i32) + (local $len i32) + (local $buffer|16 i32) + (local $k|17 i32) + (local $sign|18 i32) + (local $decimals|19 i32) + (local $buffer|20 i32) + (local $num|21 i32) + (local $offset|22 i32) + local.get $k + i32.eqz + if + local.get $buffer + local.get $length i32.const 1 - i32.sub + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $length + i32.const 2 + i32.add + return + end + local.get $length + local.get $k + i32.add + local.set $kk + local.get $length + local.get $kk + i32.le_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else + i32.const 0 + end + if + local.get $length local.set $i loop $for-loop|0 local.get $i - i32.const 0 - i32.ge_s + local.get $kk + i32.lt_s if - local.get $initialValue|5 - local.get $ptr + local.get $buffer local.get $i - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 + i32.const 48 + i32.store16 $0 local.get $i i32.const 1 - i32.sub + i32.add local.set $i br $for-loop|0 end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $acc i64) (param $val i64) (param $$2 i32) (param $$3 i32) (result i64) - local.get $acc - local.get $val - i64.add - ) - (func $~lib/typedarray/Uint64Array#reduceRight (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 i64) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint64Array#get:length + local.get $buffer + local.get $kk i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i + i32.shl + i32.add + i32.const 46 + i32.const 48 + i32.const 16 + i32.shl + i32.or + i32.store $0 + local.get $kk + i32.const 2 + i32.add + return + else + local.get $kk + i32.const 0 + i32.gt_s + if (result i32) + local.get $kk + i32.const 21 + i32.le_s + else i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $initialValue|5 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $acc f32) (param $val f32) (param $$2 i32) (param $$3 i32) (result f32) - local.get $acc - local.get $val - f32.add - ) - (func $~lib/typedarray/Float32Array#reduceRight (type $i32_i32_f32_=>_f32) (param $this i32) (param $fn i32) (param $initialValue f32) (result f32) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 f32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i + if + local.get $buffer + local.get $kk + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $ptr + i32.const 2 + i32.add + local.get $ptr i32.const 0 - i32.ge_s + local.get $k + i32.sub + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $buffer + local.get $kk + i32.const 1 + i32.shl + i32.add + i32.const 46 + i32.store16 $0 + local.get $length + i32.const 1 + i32.add + return + else + i32.const -6 + local.get $kk + i32.lt_s + if (result i32) + local.get $kk + i32.const 0 + i32.le_s + else + i32.const 0 + end if - local.get $initialValue|5 - local.get $ptr - local.get $i i32.const 2 + local.get $kk + i32.sub + local.set $offset + local.get $buffer + local.get $offset + i32.const 1 i32.shl i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $initialValue|5 - local.get $i + local.get $buffer + local.get $length i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $acc f64) (param $val f64) (param $$2 i32) (param $$3 i32) (result f64) - local.get $acc - local.get $val - f64.add - ) - (func $~lib/typedarray/Float64Array#reduceRight (type $i32_i32_f64_=>_f64) (param $this i32) (param $fn i32) (param $initialValue f64) (result f64) - (local $array i32) - (local $fn|4 i32) - (local $initialValue|5 f64) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) - local.get $this - local.set $array - local.get $fn - local.set $fn|4 - local.get $initialValue - local.set $initialValue|5 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if - local.get $initialValue|5 - local.get $ptr - local.get $i - i32.const 3 i32.shl + memory.copy $0 $0 + local.get $buffer + i32.const 48 + i32.const 46 + i32.const 16 + i32.shl + i32.or + i32.store $0 + i32.const 2 + local.set $i|7 + loop $for-loop|1 + local.get $i|7 + local.get $offset + i32.lt_s + if + local.get $buffer + local.get $i|7 + i32.const 1 + i32.shl + i32.add + i32.const 48 + i32.store16 $0 + local.get $i|7 + i32.const 1 + i32.add + local.set $i|7 + br $for-loop|1 + end + end + local.get $length + local.get $offset i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 4 - global.set $~argumentsLength - local.get $fn|4 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $initialValue|5 - local.get $i + return + else + local.get $length i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.eq + if + local.get $buffer + i32.const 101 + i32.store16 $0 offset=2 + block $~lib/util/number/genExponent|inlined.0 (result i32) + local.get $buffer + i32.const 4 + i32.add + local.set $buffer|8 + local.get $kk + i32.const 1 + i32.sub + local.set $k|9 + local.get $k|9 + i32.const 0 + i32.lt_s + local.set $sign + local.get $sign + if + i32.const 0 + local.get $k|9 + i32.sub + local.set $k|9 + end + local.get $k|9 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals + local.get $buffer|8 + local.set $buffer|12 + local.get $k|9 + local.set $num + local.get $decimals + local.set $offset|14 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|12 + local.get $num + local.get $offset|14 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|8 + i32.const 45 + i32.const 43 + local.get $sign + select + i32.store16 $0 + local.get $decimals + br $~lib/util/number/genExponent|inlined.0 + end + local.set $length + local.get $length + i32.const 2 + i32.add + return + else + local.get $length + i32.const 1 + i32.shl + local.set $len + local.get $buffer + i32.const 4 + i32.add + local.get $buffer + i32.const 2 + i32.add + local.get $len + i32.const 2 + i32.sub + memory.copy $0 $0 + local.get $buffer + i32.const 46 + i32.store16 $0 offset=2 + local.get $buffer + local.get $len + i32.add + i32.const 101 + i32.store16 $0 offset=2 + local.get $length + block $~lib/util/number/genExponent|inlined.1 (result i32) + local.get $buffer + local.get $len + i32.add + i32.const 4 + i32.add + local.set $buffer|16 + local.get $kk + i32.const 1 + i32.sub + local.set $k|17 + local.get $k|17 + i32.const 0 + i32.lt_s + local.set $sign|18 + local.get $sign|18 + if + i32.const 0 + local.get $k|17 + i32.sub + local.set $k|17 + end + local.get $k|17 + call $~lib/util/number/decimalCount32 + i32.const 1 + i32.add + local.set $decimals|19 + local.get $buffer|16 + local.set $buffer|20 + local.get $k|17 + local.set $num|21 + local.get $decimals|19 + local.set $offset|22 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|20 + local.get $num|21 + local.get $offset|22 + call $~lib/util/number/utoa32_dec_lut + local.get $buffer|16 + i32.const 45 + i32.const 43 + local.get $sign|18 + select + i32.store16 $0 + local.get $decimals|19 + br $~lib/util/number/genExponent|inlined.1 + end + i32.add + local.set $length + local.get $length + i32.const 2 + i32.add + return + end + unreachable end + unreachable end - local.get $initialValue|5 - br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - local.get $value - i32.mul - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - local.get $value - i32.mul - ) - (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 167 - i32.const 45 - call $~lib/builtins/abort unreachable end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_u $0 - return - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - local.get $value - i32.mul + unreachable ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) + (local $value|3 f64) + (local $buffer|4 i32) + (local $sign|5 i32) + (local $uv i64) + (local $exp i32) + (local $sid i64) + (local $frc i64) + (local $f i64) + (local $e i32) + (local $frc|12 i64) + (local $exp|13 i32) + (local $off i32) + (local $m i32) + (local $minExp i32) + (local $dk f64) + (local $k i32) + (local $index i32) + (local $off|20 i32) + (local $frc_pow i64) + (local $exp_pow i32) + (local $u i64) + (local $v i64) + (local $u0 i64) + (local $v0 i64) + (local $u1 i64) + (local $v1 i64) + (local $l i64) + (local $t i64) + (local $w i64) + (local $w_frc i64) + (local $e1 i32) + (local $e2 i32) + (local $w_exp i32) + (local $u|36 i64) + (local $v|37 i64) + (local $u0|38 i64) + (local $v0|39 i64) + (local $u1|40 i64) + (local $v1|41 i64) + (local $l|42 i64) + (local $t|43 i64) + (local $w|44 i64) + (local $wp_frc i64) + (local $e1|46 i32) + (local $e2|47 i32) + (local $wp_exp i32) + (local $u|49 i64) + (local $v|50 i64) + (local $u0|51 i64) + (local $v0|52 i64) + (local $u1|53 i64) + (local $v1|54 i64) + (local $l|55 i64) + (local $t|56 i64) + (local $w|57 i64) + (local $wm_frc i64) + (local $delta i64) + (local $len i32) local.get $value - i32.mul - ) - (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - i32.ge_u + f64.const 0 + f64.lt + local.set $sign + local.get $sign if - i32.const 336 - i32.const 608 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $value + f64.neg + local.set $value + local.get $buffer + i32.const 45 + i32.store16 $0 end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - return - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - local.get $value - i32.mul - ) - (func $~lib/typedarray/Uint16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 594 - i32.const 64 - call $~lib/builtins/abort - unreachable + block $~lib/util/number/grisu2|inlined.0 (result i32) + local.get $value + local.set $value|3 + local.get $buffer + local.set $buffer|4 + local.get $sign + local.set $sign|5 + local.get $value|3 + i64.reinterpret_f64 + local.set $uv + local.get $uv + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.set $exp + local.get $uv + i64.const 4503599627370495 + i64.and + local.set $sid + local.get $exp + i32.const 0 + i32.ne + i64.extend_i32_u + i64.const 52 + i64.shl + local.get $sid + i64.add + local.set $frc + local.get $exp + i32.const 1 + local.get $exp + select + i32.const 1023 + i32.const 52 + i32.add + i32.sub + local.set $exp + local.get $frc + local.set $f + local.get $exp + local.set $e + local.get $f + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.set $frc|12 + local.get $e + i32.const 1 + i32.sub + local.set $exp|13 + local.get $frc|12 + i64.clz + i32.wrap_i64 + local.set $off + local.get $frc|12 + local.get $off + i64.extend_i32_s + i64.shl + local.set $frc|12 + local.get $exp|13 + local.get $off + i32.sub + local.set $exp|13 + i32.const 1 + local.get $f + i64.const 4503599627370496 + i64.eq + i32.add + local.set $m + local.get $frc|12 + global.set $~lib/util/number/_frc_plus + local.get $f + local.get $m + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $e + local.get $m + i32.sub + local.get $exp|13 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $exp|13 + global.set $~lib/util/number/_exp + global.get $~lib/util/number/_exp + local.set $minExp + i32.const -61 + local.get $minExp + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.set $dk + local.get $dk + i32.trunc_sat_f64_s + local.set $k + local.get $k + local.get $k + f64.convert_i32_s + local.get $dk + f64.ne + i32.add + local.set $k + local.get $k + i32.const 3 + i32.shr_s + i32.const 1 + i32.add + local.set $index + i32.const 348 + local.get $index + i32.const 3 + i32.shl + i32.sub + global.set $~lib/util/number/_K + i32.const 8840 + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + i32.const 9536 + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $frc + i64.clz + i32.wrap_i64 + local.set $off|20 + local.get $frc + local.get $off|20 + i64.extend_i32_s + i64.shl + local.set $frc + local.get $exp + local.get $off|20 + i32.sub + local.set $exp + global.get $~lib/util/number/_frc_pow + local.set $frc_pow + global.get $~lib/util/number/_exp_pow + local.set $exp_pow + block $~lib/util/number/umul64f|inlined.0 (result i64) + local.get $frc + local.set $u + local.get $frc_pow + local.set $v + local.get $u + i64.const 4294967295 + i64.and + local.set $u0 + local.get $v + i64.const 4294967295 + i64.and + local.set $v0 + local.get $u + i64.const 32 + i64.shr_u + local.set $u1 + local.get $v + i64.const 32 + i64.shr_u + local.set $v1 + local.get $u0 + local.get $v0 + i64.mul + local.set $l + local.get $u1 + local.get $v0 + i64.mul + local.get $l + i64.const 32 + i64.shr_u + i64.add + local.set $t + local.get $u0 + local.get $v1 + i64.mul + local.get $t + i64.const 4294967295 + i64.and + i64.add + local.set $w + local.get $w + i64.const 2147483647 + i64.add + local.set $w + local.get $t + i64.const 32 + i64.shr_u + local.set $t + local.get $w + i64.const 32 + i64.shr_u + local.set $w + local.get $u1 + local.get $v1 + i64.mul + local.get $t + i64.add + local.get $w + i64.add + br $~lib/util/number/umul64f|inlined.0 + end + local.set $w_frc + block $~lib/util/number/umul64e|inlined.0 (result i32) + local.get $exp + local.set $e1 + local.get $exp_pow + local.set $e2 + local.get $e1 + local.get $e2 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.0 + end + local.set $w_exp + block $~lib/util/number/umul64f|inlined.1 (result i64) + global.get $~lib/util/number/_frc_plus + local.set $u|36 + local.get $frc_pow + local.set $v|37 + local.get $u|36 + i64.const 4294967295 + i64.and + local.set $u0|38 + local.get $v|37 + i64.const 4294967295 + i64.and + local.set $v0|39 + local.get $u|36 + i64.const 32 + i64.shr_u + local.set $u1|40 + local.get $v|37 + i64.const 32 + i64.shr_u + local.set $v1|41 + local.get $u0|38 + local.get $v0|39 + i64.mul + local.set $l|42 + local.get $u1|40 + local.get $v0|39 + i64.mul + local.get $l|42 + i64.const 32 + i64.shr_u + i64.add + local.set $t|43 + local.get $u0|38 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.const 4294967295 + i64.and + i64.add + local.set $w|44 + local.get $w|44 + i64.const 2147483647 + i64.add + local.set $w|44 + local.get $t|43 + i64.const 32 + i64.shr_u + local.set $t|43 + local.get $w|44 + i64.const 32 + i64.shr_u + local.set $w|44 + local.get $u1|40 + local.get $v1|41 + i64.mul + local.get $t|43 + i64.add + local.get $w|44 + i64.add + br $~lib/util/number/umul64f|inlined.1 + end + i64.const 1 + i64.sub + local.set $wp_frc + block $~lib/util/number/umul64e|inlined.1 (result i32) + global.get $~lib/util/number/_exp + local.set $e1|46 + local.get $exp_pow + local.set $e2|47 + local.get $e1|46 + local.get $e2|47 + i32.add + i32.const 64 + i32.add + br $~lib/util/number/umul64e|inlined.1 + end + local.set $wp_exp + block $~lib/util/number/umul64f|inlined.2 (result i64) + global.get $~lib/util/number/_frc_minus + local.set $u|49 + local.get $frc_pow + local.set $v|50 + local.get $u|49 + i64.const 4294967295 + i64.and + local.set $u0|51 + local.get $v|50 + i64.const 4294967295 + i64.and + local.set $v0|52 + local.get $u|49 + i64.const 32 + i64.shr_u + local.set $u1|53 + local.get $v|50 + i64.const 32 + i64.shr_u + local.set $v1|54 + local.get $u0|51 + local.get $v0|52 + i64.mul + local.set $l|55 + local.get $u1|53 + local.get $v0|52 + i64.mul + local.get $l|55 + i64.const 32 + i64.shr_u + i64.add + local.set $t|56 + local.get $u0|51 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.const 4294967295 + i64.and + i64.add + local.set $w|57 + local.get $w|57 + i64.const 2147483647 + i64.add + local.set $w|57 + local.get $t|56 + i64.const 32 + i64.shr_u + local.set $t|56 + local.get $w|57 + i64.const 32 + i64.shr_u + local.set $w|57 + local.get $u1|53 + local.get $v1|54 + i64.mul + local.get $t|56 + i64.add + local.get $w|57 + i64.add + br $~lib/util/number/umul64f|inlined.2 + end + i64.const 1 + i64.add + local.set $wm_frc + local.get $wp_frc + local.get $wm_frc + i64.sub + local.set $delta + local.get $buffer|4 + local.get $w_frc + local.get $w_exp + local.get $wp_frc + local.get $wp_exp + local.get $delta + local.get $sign|5 + call $~lib/util/number/genDigits + br $~lib/util/number/grisu2|inlined.0 end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + local.set $len + local.get $buffer + local.get $sign i32.const 1 i32.shl i32.add - i32.load16_u $0 + local.get $len + local.get $sign + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.set $len + local.get $len + local.get $sign + i32.add return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) + (local $sign i32) local.get $value - i32.mul - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) + f64.const 0 + f64.eq + if + local.get $buffer + i32.const 48 + i32.store16 $0 + local.get $buffer + i32.const 46 + i32.store16 $0 offset=2 + local.get $buffer + i32.const 48 + i32.store16 $0 offset=4 + i32.const 3 + return + end local.get $value local.get $value - i32.mul - ) - (func $~lib/typedarray/Uint32Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u + f64.sub + f64.const 0 + f64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 878 - i32.const 64 - call $~lib/builtins/abort + local.get $value + local.get $value + f64.ne + if + local.get $buffer + i32.const 78 + i32.store16 $0 + local.get $buffer + i32.const 97 + i32.store16 $0 offset=2 + local.get $buffer + i32.const 78 + i32.store16 $0 offset=4 + i32.const 3 + return + else + local.get $value + f64.const 0 + f64.lt + local.set $sign + local.get $sign + if + local.get $buffer + i32.const 45 + i32.store16 $0 + local.get $buffer + i32.const 2 + i32.add + local.set $buffer + end + local.get $buffer + i64.const 29555310648492105 + i64.store $0 + local.get $buffer + i64.const 34058970405077102 + i64.store $0 offset=8 + i32.const 8 + local.get $sign + i32.add + return + end unreachable end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - return - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) - local.get $value + local.get $buffer local.get $value - i64.mul + call $~lib/util/number/dtoa_core + return ) - (func $~lib/typedarray/Int64Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - local.get $index + (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1020 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 + i32.const 20 + i32.sub + call $~lib/rt/common/OBJECT#get:rtSize return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $value i64) (param $$1 i32) (param $$2 i32) (result i64) - local.get $value - local.get $value - i64.mul - ) - (func $~lib/typedarray/Uint64Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1162 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - return - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_f32) (param $value f32) (param $$1 i32) (param $$2 i32) (result f32) - local.get $value - local.get $value - f32.mul + i32.load $0 offset=12 ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - local.get $index - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 336 - i32.const 608 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - return + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_f64) (param $value f64) (param $$1 i32) (param $$2 i32) (result f64) - local.get $value - local.get $value - f64.mul + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 - i32.gt_s + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/rt/itcms/Object#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load $0 offset=12 ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $oldPtr i32) (param $size i32) (result i32) - (local $oldObj i32) - (local $newPtr i32) - (local $4 i32) - (local $5 i32) - local.get $oldPtr - i32.const 20 - i32.sub - local.set $oldObj - local.get $size - local.get $oldObj - call $~lib/rt/common/BLOCK#get:mmInfo - i32.const 3 - i32.const -1 - i32.xor - i32.and - i32.const 16 - i32.sub - i32.le_u - if - local.get $oldObj - local.get $size - call $~lib/rt/itcms/Object#set:rtSize - local.get $oldPtr - return - end - local.get $size - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtId - call $~lib/rt/itcms/__new - local.set $newPtr - local.get $newPtr - local.get $oldPtr - local.get $size - local.tee $4 - local.get $oldObj - call $~lib/rt/itcms/Object#get:rtSize - local.tee $5 - local.get $4 - local.get $5 - i32.lt_u - select - memory.copy $0 $0 - local.get $newPtr - return + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.gt_u + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.gt_u + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 2 - i32.gt_s + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 2 - i32.gt_u + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.gt_s + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.gt_u + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.gt_s + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.gt_u + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - f32.gt + (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=12 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - f64.gt + (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $a + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 offset=1 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $a + i32.store8 $0 offset=2 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $max + i32.store8 $0 offset=2 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $a + i32.store8 $0 offset=1 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $min + i32.store8 $0 offset=1 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 + end + end ) - (func $~lib/typedarray/Int8Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length + (local $tmp i32) + local.get $i + local.get $right + i32.eq + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 offset=1 + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j local.set $k - loop $for-loop|0 + loop $while-continue|1 local.get $i local.get $k i32.lt_s @@ -8171,17703 +8600,8766 @@ i32.shl i32.add i32.load8_s $0 + local.set $tmp + local.get $ptr local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $i - i32.const 1 + i32.const 0 + i32.shl i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if local.get $ptr - local.get $i + local.get $k i32.const 0 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 - end + i32.load8_s $0 + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 - end - end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if local.get $ptr - local.get $i + local.get $k i32.const 0 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $i + local.get $tmp + i32.store8 $0 + local.get $k i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int16Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s - if + if (result i32) local.get $ptr - local.get $i - i32.const 1 + local.get $j + i32.const 0 i32.shl i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if + i32.load8_s $0 offset=1 local.get $ptr - local.get $i - i32.const 1 + local.get $j + i32.const 0 i32.shl i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 + i32.load8_s $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer local.get $i - local.get $k + i32.const 1 + i32.sub + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + i32.store8 $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 offset=1 + i32.store8 $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $a + local.get $buffer + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if local.get $ptr - local.get $i - i32.const 2 + local.get $k + i32.const 0 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $i + local.get $a + i32.store8 $0 + local.get $j i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 0 - i32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if + i32.sub + local.set $j + else local.get $ptr - local.get $i - i32.const 2 + local.get $k + i32.const 0 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 - end + local.get $b + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 0 - i32.eq ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + i32.extend8_s + local.get $b + i32.extend8_s + i32.sub ) - (func $~lib/typedarray/Int64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $k - loop $for-loop|0 + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + i32.extend8_s + local.get $a + i32.extend8_s + i32.gt_s + local.get $b + i32.extend8_s + local.get $a + i32.extend8_s + i32.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr local.get $i - local.get $k - i32.lt_s + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $a + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 offset=1 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $a + i32.store8 $0 offset=2 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $max + i32.store8 $0 offset=2 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $a + i32.store8 $0 offset=1 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + local.get $min + i32.store8 $0 offset=1 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 end - return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 0 - i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + (local $tmp i32) + local.get $i + local.get $right + i32.eq + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right i32.lt_s - if + if (result i32) local.get $ptr - local.get $i - i32.const 3 + local.get $j + i32.const 0 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load8_u $0 offset=1 + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|0 end end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 0 - i64.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - f32.eq - ) - (func $~lib/typedarray/Float32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length + local.get $j local.set $k - loop $for-loop|0 + loop $while-continue|1 local.get $i local.get $k i32.lt_s if local.get $ptr local.get $i - i32.const 2 + i32.const 0 i32.shl i32.add - f32.load $0 + i32.load8_u $0 + local.set $tmp + local.get $ptr local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 - end + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + local.get $ptr + local.get $k + i32.const 0 + i32.shl + i32.add + local.get $tmp + i32.store8 $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 0 - f32.eq - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Float64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s - if + if (result i32) local.get $ptr - local.get $i - i32.const 3 + local.get $j + i32.const 0 i32.shl i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load8_u $0 offset=1 + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - if - i32.const 1 - br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const 0 - br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 0 - f64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int8Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $k - loop $for-loop|0 + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer local.get $i - local.get $k + i32.const 1 + i32.sub + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + i32.store8 $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 0 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 offset=1 + i32.store8 $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $a + local.get $buffer + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if local.get $ptr - local.get $i + local.get $k i32.const 0 i32.shl i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $i + local.get $a + i32.store8 $0 + local.get $j i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if + i32.sub + local.set $j + else local.get $ptr - local.get $i + local.get $k i32.const 0 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - end + local.get $b + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 end - return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a i32.const 255 i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + local.get $b i32.const 255 i32.and - i32.const 2 - i32.eq + i32.gt_u + local.get $a + i32.const 255 + i32.and + local.get $b + i32.const 255 + i32.and + i32.lt_u + i32.sub ) - (func $~lib/typedarray/Uint8ClampedArray#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - return + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + i32.const 255 + i32.and + local.get $a + i32.const 255 + i32.and + i32.gt_u + local.get $b + i32.const 255 + i32.and + local.get $a + i32.const 255 + i32.and + i32.lt_u + i32.sub ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a i32.const 255 i32.and - i32.const 4 - i32.eq + local.get $b + i32.const 255 + i32.and + i32.gt_u + local.get $a + i32.const 255 + i32.and + local.get $b + i32.const 255 + i32.and + i32.lt_u + i32.sub ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 2 - i32.eq + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + i32.const 255 + i32.and + local.get $a + i32.const 255 + i32.and + i32.gt_u + local.get $b + i32.const 255 + i32.and + local.get $a + i32.const 255 + i32.and + i32.lt_u + i32.sub ) - (func $~lib/typedarray/Int16Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 i32.and - i32.const 2 + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 i32.eq - ) - (func $~lib/typedarray/Uint16Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k - loop $for-loop|0 + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr local.get $i - local.get $k - i32.lt_s + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $a + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 offset=2 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $a + local.set $min + local.get $b + local.set $max end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $a + i32.store16 $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $max + i32.store16 $0 offset=4 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $a + i32.store16 $0 offset=2 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $min + i32.store16 $0 offset=2 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 end - return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 4 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i32) + local.get $i + local.get $right i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right i32.lt_s - if + if (result i32) local.get $ptr - local.get $i - i32.const 2 + local.get $j + i32.const 1 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load16_s $0 offset=2 + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|0 end end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Int64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length + local.get $j local.set $k - loop $for-loop|0 + loop $while-continue|1 local.get $i local.get $k i32.lt_s if local.get $ptr local.get $i - i32.const 3 + i32.const 1 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - end + i32.load16_s $0 + local.set $tmp + local.get $ptr local.get $i i32.const 1 + i32.shl i32.add - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if local.get $ptr - local.get $i - i32.const 3 + local.get $k + i32.const 1 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - end + i32.load16_s $0 + i32.store16 $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - f32.eq - ) - (func $~lib/typedarray/Float32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if local.get $ptr - local.get $i - i32.const 2 + local.get $k + i32.const 1 i32.shl i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $i + local.get $tmp + i32.store16 $0 + local.get $k i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 4 - f32.eq - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Float64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s - if + if (result i32) local.get $ptr - local.get $i - i32.const 3 + local.get $j + i32.const 1 i32.shl i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load16_s $0 offset=2 + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const -1 - br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 4 - f64.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int8Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + i32.store16 $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 offset=2 + i32.store16 $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $a + local.get $buffer local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.lt_s if local.get $ptr - local.get $i - i32.const 0 + local.get $k + i32.const 1 i32.shl i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $i + local.get $a + i32.store16 $0 + local.get $j i32.const 1 i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 1 + i32.shl + i32.add + local.get $b + i32.store16 $0 + local.get $i + i32.const 1 + i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 end - return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 4 - i32.eq + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + i32.extend16_s + local.get $b + i32.extend16_s + i32.sub ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.eq + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + i32.extend16_s + local.get $a + i32.extend16_s + i32.gt_s + local.get $b + i32.extend16_s + local.get $a + i32.extend16_s + i32.lt_s + i32.sub ) - (func $~lib/typedarray/Uint8Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $a + local.get $ptr local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 offset=2 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $a + i32.store16 $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $max + i32.store16 $0 offset=4 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $a + i32.store16 $0 offset=2 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end end - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 end + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + local.get $min + i32.store16 $0 offset=2 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 end - return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 4 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i32) + local.get $i + local.get $right i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) local.get $ptr - local.get $i - i32.const 0 + local.get $j + i32.const 1 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 + i32.load16_u $0 offset=2 + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.add + local.set $j + br $while-continue|0 end end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int16Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int16Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + local.get $j + local.set $k + loop $while-continue|1 local.get $i - i32.const 0 - i32.ge_s + local.get $k + i32.lt_s if local.get $ptr local.get $i i32.const 1 i32.shl i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - end + i32.load16_u $0 + local.set $tmp + local.get $ptr local.get $i i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint16Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if + i32.shl + i32.add local.get $ptr - local.get $i + local.get $k i32.const 1 i32.shl i32.add i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - end + i32.store16 $0 local.get $i i32.const 1 - i32.sub + i32.add local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Int32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if local.get $ptr - local.get $i - i32.const 2 + local.get $k + i32.const 1 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $i + local.get $tmp + i32.store16 $0 + local.get $k i32.const 1 i32.sub - local.set $i - br $for-loop|0 + local.set $k + br $while-continue|1 end end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) local.get $ptr - local.get $i - i32.const 2 + local.get $j + i32.const 1 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load16_u $0 offset=2 + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.add + local.set $j + br $while-continue|2 end end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 4 - i32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Int64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Int64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + i32.store16 $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 offset=2 + i32.store16 $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $a + local.get $buffer local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.lt_s if local.get $ptr - local.get $i - i32.const 3 + local.get $k + i32.const 1 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $i + local.get $a + i32.store16 $0 + local.get $j i32.const 1 i32.sub - local.set $i - br $for-loop|0 - end - end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 4 - i64.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq - ) - (func $~lib/typedarray/Uint64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Uint64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 - local.get $i - i32.const 0 - i32.ge_s - if + local.set $j + else local.get $ptr - local.get $i - i32.const 3 + local.get $k + i32.const 1 i32.shl i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - end + local.get $b + i32.store16 $0 local.get $i i32.const 1 - i32.sub + i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 4 - i64.eq ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - f32.eq + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + i32.const 65535 + i32.and + local.get $b + i32.const 65535 + i32.and + i32.gt_u + local.get $a + i32.const 65535 + i32.and + local.get $b + i32.const 65535 + i32.and + i32.lt_u + i32.sub ) - (func $~lib/typedarray/Float32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + i32.const 65535 + i32.and + local.get $a + i32.const 65535 + i32.and + i32.gt_u + local.get $b + i32.const 65535 + i32.and + local.get $a + i32.const 65535 + i32.and + i32.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float32Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $ptr local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + i32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 + end + end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i32) + local.get $i + local.get $right + i32.eq + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) local.get $ptr - local.get $i + local.get $j i32.const 2 i32.shl i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 3 + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $i + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j i32.const 1 - i32.sub - local.set $i - br $for-loop|0 + i32.add + local.set $j + br $while-continue|0 end end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 4 - f32.eq - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Float64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $array - call $~lib/typedarray/Float64Array#get:length - i32.const 1 - i32.sub - local.set $i - loop $for-loop|0 + local.get $j + local.set $k + loop $while-continue|1 local.get $i - i32.const 0 - i32.ge_s + local.get $k + i32.lt_s if local.get $ptr local.get $i - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + i32.load $0 + local.set $tmp + local.get $ptr local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - if - local.get $i - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - end + i32.store $0 local.get $i i32.const 1 - i32.sub + i32.add local.set $i - br $for-loop|0 + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const -1 - br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 4 - f64.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int8Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend8_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint8Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer local.get $i - local.get $k + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $buffer + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $b + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 end - return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 - i32.eq + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.sub ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + local.get $a + i32.gt_s + local.get $b + local.get $a + i32.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) + (local $i i32) + (local $a i32) + (local $b i32) + (local $min i32) + (local $max i32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 i32.and - i32.const 2 - i32.rem_u + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 i32.eq - ) - (func $~lib/typedarray/Uint8ClampedArray#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $k - loop $for-loop|0 + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr local.get $i - local.get $k - i32.lt_s + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s if - br $for-continue|0 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + i32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 end - i32.const 0 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + i32.store $0 offset=4 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 255 - i32.and - i32.const 2 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i32) + local.get $i + local.get $right i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j i32.const 2 - i32.rem_s + i32.shl + i32.add + i32.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int16Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j local.set $k - loop $for-loop|0 + loop $while-continue|1 local.get $i local.get $k i32.lt_s if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 - end - end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.extend16_s - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint16Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k - i32.lt_s - if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i - i32.const 1 + local.get $ptr + local.get $k + i32.const 2 + i32.shl i32.add - local.set $i - br $for-loop|0 + local.get $tmp + i32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 65535 - i32.and - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.rem_s - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Int32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + else + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.rem_u - i32.const 0 - i32.eq - ) - (func $~lib/typedarray/Uint32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $k - loop $for-loop|0 + (local $a i32) + (local $b i32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $l + i32.gt_s + if + local.get $buffer local.get $i - local.get $k - i32.lt_s - if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store $0 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 end - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $value i32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i32.const 2 - i32.eq - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.rem_s - i64.const 0 - i64.eq - ) - (func $~lib/typedarray/Int64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $k - loop $for-loop|0 + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r + i32.lt_s + if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $j + i32.const 1 + i32.add + local.set $j + br $for-loop|1 + end + end + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $a + local.get $buffer local.get $i - local.get $k + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $a + i32.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $b + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 end - return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $a + local.get $b + i32.gt_u + local.get $a + local.get $b + i32.lt_u + i32.sub ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.rem_u - i64.const 0 - i64.eq + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + local.get $b + local.get $a + i32.gt_u + local.get $b + local.get $a + i32.lt_u + i32.sub ) - (func $~lib/typedarray/Uint64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 + (local $a i64) + (local $b i64) + (local $min i64) + (local $max i64) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted + i32.const 0 + i32.eq + select + i32.add + local.set $i + loop $for-loop|0 + local.get $i + local.get $right + i32.le_s + if + local.get $ptr local.get $i - local.get $k - i32.lt_s - if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $a + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end + local.get $i + i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 offset=16 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $max + i64.store $0 offset=16 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $min + i64.store $0 offset=8 + local.get $i + i32.const 2 + i32.add + local.set $i + br $for-loop|0 end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 end - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $value i64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - i64.const 2 - i64.eq ) - (func $~lib/math/NativeMathf.mod (type $f32_f32_=>_f32) (param $x f32) (param $y f32) (result f32) - (local $ux i32) - (local $uy i32) - (local $ex i32) - (local $ey i32) - (local $sm i32) - (local $uy1 i32) - (local $m f32) - (local $ux1 i32) - (local $shift i32) - local.get $y - f32.abs - f32.const 1 - f32.eq - if - local.get $x - local.get $x - f32.trunc - f32.sub - local.get $x - f32.copysign - return - end - local.get $x - i32.reinterpret_f32 - local.set $ux - local.get $y - i32.reinterpret_f32 - local.set $uy - local.get $ux - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $ex - local.get $uy - i32.const 23 - i32.shr_u - i32.const 255 - i32.and - local.set $ey - local.get $ux - i32.const -2147483648 - i32.and - local.set $sm - local.get $uy - i32.const 1 - i32.shl - local.set $uy1 - local.get $uy1 - i32.const 0 + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) + (local $k i32) + (local $tmp i64) + local.get $i + local.get $right i32.eq - if (result i32) - i32.const 1 - else - local.get $ex - i32.const 255 - i32.eq - end - if (result i32) - i32.const 1 - else - local.get $y - local.get $y - f32.ne - end if - local.get $x - local.get $y - f32.mul - local.set $m - local.get $m - local.get $m - f32.div + local.get $i return end - local.get $ux + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $ptr + local.get $j i32.const 1 + i32.add + local.tee $j + i32.const 3 i32.shl - local.set $ux1 - local.get $ux1 - local.get $uy1 - i32.le_u - if - local.get $x - local.get $ux1 - local.get $uy1 - i32.ne - f32.convert_i32_u - f32.mul - return - end - local.get $ex - i32.eqz - if - local.get $ex - local.get $ux - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $ex - local.get $ux - i32.const 1 - local.get $ex - i32.sub - i32.shl - local.set $ux - else - local.get $ux - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $ux - local.get $ux - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $ux - end - local.get $ey - i32.eqz + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s if - local.get $ey - local.get $uy - i32.const 9 - i32.shl - i32.clz - i32.sub - local.set $ey - local.get $uy - i32.const 1 - local.get $ey - i32.sub - i32.shl - local.set $uy - else - local.get $uy - i32.const -1 - i32.const 9 - i32.shr_u - i32.and - local.set $uy - local.get $uy - i32.const 1 - i32.const 23 - i32.shl - i32.or - local.set $uy - end - loop $while-continue|0 - local.get $ex - local.get $ey - i32.gt_s - if - local.get $ux - local.get $uy - i32.ge_u + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end if - local.get $ux - local.get $uy - i32.eq - if - f32.const 0 - local.get $x - f32.mul - return - end - local.get $ux - local.get $uy - i32.sub - local.set $ux + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 end - local.get $ux - i32.const 1 - i32.shl - local.set $ux - local.get $ex - i32.const 1 - i32.sub - local.set $ex - br $while-continue|0 - end - end - local.get $ux - local.get $uy - i32.ge_u - if - local.get $ux - local.get $uy - i32.eq - if - f32.const 0 - local.get $x - f32.mul - return end - local.get $ux - local.get $uy - i32.sub - local.set $ux - end - local.get $ux - i32.const 8 - i32.shl - i32.clz - local.set $shift - local.get $ex - local.get $shift - i32.sub - local.set $ex - local.get $ux - local.get $shift - i32.shl - local.set $ux - local.get $ex - i32.const 0 - i32.gt_s - if - local.get $ux - i32.const 1 - i32.const 23 - i32.shl - i32.sub - local.set $ux - local.get $ux - local.get $ex - i32.const 23 - i32.shl - i32.or - local.set $ux - else - local.get $ux - i32.const 0 - local.get $ex - i32.sub - i32.const 1 - i32.add - i32.shr_u - local.set $ux - end - local.get $ux - local.get $sm - i32.or - f32.reinterpret_i32 - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - call $~lib/math/NativeMathf.mod - f32.const 0 - f32.eq - ) - (func $~lib/typedarray/Float32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length + local.get $j local.set $k - loop $for-loop|0 + loop $while-continue|1 local.get $i local.get $k i32.lt_s if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + i64.load $0 + i64.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 - end - end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $value f32) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f32.const 2 - f32.eq - ) - (func $~lib/math/NativeMath.mod (type $f64_f64_=>_f64) (param $x f64) (param $y f64) (result f64) - (local $ux i64) - (local $uy i64) - (local $ex i64) - (local $ey i64) - (local $sx i64) - (local $uy1 i64) - (local $m f64) - (local $ux1 i64) - (local $shift i64) - local.get $y - f64.abs - f64.const 1 - f64.eq - if - local.get $x - local.get $x - f64.trunc - f64.sub - local.get $x - f64.copysign - return - end - local.get $x - i64.reinterpret_f64 - local.set $ux - local.get $y - i64.reinterpret_f64 - local.set $uy - local.get $ux - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $ex - local.get $uy - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.set $ey - local.get $ux - i64.const 63 - i64.shr_u - local.set $sx - local.get $uy - i64.const 1 - i64.shl - local.set $uy1 - local.get $uy1 - i64.const 0 - i64.eq - if (result i32) - i32.const 1 - else - local.get $ex - i64.const 2047 - i64.eq - end - if (result i32) - i32.const 1 - else - local.get $y - local.get $y - f64.ne - end - if - local.get $x - local.get $y - f64.mul - local.set $m - local.get $m - local.get $m - f64.div - return - end - local.get $ux - i64.const 1 - i64.shl - local.set $ux1 - local.get $ux1 - local.get $uy1 - i64.le_u - if - local.get $x - local.get $ux1 - local.get $uy1 - i64.ne - f64.convert_i32_u - f64.mul - return - end - local.get $ex - i64.const 0 - i64.ne - i32.eqz - if - local.get $ex - local.get $ux - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $ex - local.get $ux - i64.const 1 - local.get $ex - i64.sub - i64.shl - local.set $ux - else - local.get $ux - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $ux - local.get $ux - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $ux - end - local.get $ey - i64.const 0 - i64.ne - i32.eqz - if - local.get $ey - local.get $uy - i64.const 12 - i64.shl - i64.clz - i64.sub - local.set $ey - local.get $uy - i64.const 1 - local.get $ey - i64.sub - i64.shl - local.set $uy - else - local.get $uy - i64.const -1 - i64.const 12 - i64.shr_u - i64.and - local.set $uy - local.get $uy - i64.const 1 - i64.const 52 - i64.shl - i64.or - local.set $uy - end - loop $while-continue|0 - local.get $ex - local.get $ey - i64.gt_s - if - local.get $ux - local.get $uy - i64.ge_u - if - local.get $ux - local.get $uy - i64.eq - if - f64.const 0 - local.get $x - f64.mul - return - end - local.get $ux - local.get $uy - i64.sub - local.set $ux + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $tmp + i64.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 end - local.get $ux - i64.const 1 - i64.shl - local.set $ux - local.get $ex - i64.const 1 - i64.sub - local.set $ex - br $while-continue|0 - end - end - local.get $ux - local.get $uy - i64.ge_u - if - local.get $ux - local.get $uy - i64.eq - if - f64.const 0 - local.get $x - f64.mul - return end - local.get $ux - local.get $uy - i64.sub - local.set $ux - end - local.get $ux - i64.const 11 - i64.shl - i64.clz - local.set $shift - local.get $ex - local.get $shift - i64.sub - local.set $ex - local.get $ux - local.get $shift - i64.shl - local.set $ux - local.get $ex - i64.const 0 - i64.gt_s - if - local.get $ux - i64.const 1 - i64.const 52 - i64.shl - i64.sub - local.set $ux - local.get $ux - local.get $ex - i64.const 52 - i64.shl - i64.or - local.set $ux else - local.get $ux - i64.const 0 - local.get $ex - i64.sub - i64.const 1 - i64.add - i64.shr_u - local.set $ux - end - local.get $ux - local.get $sx - i64.const 63 - i64.shl - i64.or - f64.reinterpret_i64 - return - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - call $~lib/math/NativeMath.mod - f64.const 0 - f64.eq - ) - (func $~lib/typedarray/Float64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + loop $while-continue|2 + local.get $j + local.get $right i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end if - block $for-continue|0 - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (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 $i + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $while-continue|2 end end - i32.const 1 - br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 end + local.get $j return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $value f64) (param $$1 i32) (param $$2 i32) (result i32) - local.get $value - f64.const 2 - f64.eq - ) - (func $~lib/typedarray/Int8Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 + (local $a i64) + (local $b i64) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add local.set $i - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $k loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + local.get $l + i32.gt_s if - local.get $ptr + local.get $buffer local.get $i - i32.const 0 + i32.const 1 + i32.sub + i32.const 3 i32.shl i32.add - i32.load8_s $0 + local.get $ptr local.get $i - local.get $array + i32.const 1 + i32.sub i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.shl + i32.add + i64.load $0 + i64.store $0 local.get $i i32.const 1 - i32.add + i32.sub local.set $i br $for-loop|0 end end - ) - (func $~lib/typedarray/Uint8Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r i32.lt_s if - local.get $ptr - local.get $i - i32.const 0 + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 3 i32.shl i32.add - i32.load8_u $0 - local.get $i - local.get $array + local.get $ptr + local.get $j i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i + i32.shl + i32.add + i64.load $0 offset=8 + i64.store $0 + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $for-loop|1 end end - ) - (func $~lib/typedarray/Uint8ClampedArray#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length + local.get $l local.set $k - loop $for-loop|0 - local.get $i + loop $for-loop|2 local.get $k - i32.lt_s + local.get $r + i32.le_s if - local.get $ptr - local.get $i - i32.const 0 + local.get $buffer + local.get $j + i32.const 3 i32.shl i32.add - i32.load8_u $0 + i64.load $0 + local.set $a + local.get $buffer local.get $i - local.get $array i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i + i32.shl + i32.add + i64.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $b + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $k + br $for-loop|2 end end ) - (func $~lib/typedarray/Int16Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) + local.get $a + local.get $b + i64.gt_s + local.get $a + local.get $b + i64.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) + local.get $b + local.get $a + i64.gt_s + local.get $b + local.get $a + i64.lt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $a i64) + (local $b i64) + (local $min i64) + (local $max i64) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 + i32.eq + select + i32.add local.set $i - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $k loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + local.get $right + i32.le_s if local.get $ptr local.get $i - i32.const 1 + i32.const 3 i32.shl i32.add - i32.load16_s $0 + i64.load $0 + local.set $a + local.get $ptr local.get $i - local.get $array i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end local.get $i i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 offset=16 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $max + i64.store $0 offset=16 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + local.get $min + i64.store $0 offset=8 + local.get $i + i32.const 2 i32.add local.set $i br $for-loop|0 end end ) - (func $~lib/typedarray/Uint16Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $tmp i64) + local.get $i + local.get $right + i32.eq + if + local.get $i + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + i64.load $0 + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $tmp + i64.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + local.get $ptr + local.get $j + i32.const 3 + i32.shl + i32.add + i64.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end + end + end + local.get $j + return + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) + (local $i i32) + (local $j i32) + (local $t i32) + (local $k i32) + (local $a i64) + (local $b i64) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add local.set $i - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $k loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + local.get $l + i32.gt_s if - local.get $ptr + local.get $buffer local.get $i i32.const 1 + i32.sub + i32.const 3 i32.shl i32.add - i32.load16_u $0 + local.get $ptr local.get $i - local.get $array + i32.const 1 + i32.sub i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) + i32.shl + i32.add + i64.load $0 + i64.store $0 local.get $i i32.const 1 - i32.add + i32.sub local.set $i br $for-loop|0 end end - ) - (func $~lib/typedarray/Int32Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r i32.lt_s if - local.get $ptr - local.get $i - i32.const 2 + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 3 i32.shl i32.add - i32.load $0 - local.get $i - local.get $array + local.get $ptr + local.get $j i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i + i32.shl + i32.add + i64.load $0 offset=8 + i64.store $0 + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $for-loop|1 end end - ) - (func $~lib/typedarray/Uint32Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint32Array#get:length + local.get $l local.set $k - loop $for-loop|0 - local.get $i + loop $for-loop|2 local.get $k - i32.lt_s + local.get $r + i32.le_s if - local.get $ptr - local.get $i - i32.const 2 + local.get $buffer + local.get $j + i32.const 3 i32.shl i32.add - i32.load $0 + i64.load $0 + local.set $a + local.get $buffer local.get $i - local.get $array i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $i + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.lt_s + if + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $a + i64.store $0 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + local.get $ptr + local.get $k + i32.const 3 + i32.shl + i32.add + local.get $b + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + end + local.get $k i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $k + br $for-loop|2 end end ) - (func $~lib/typedarray/Int64Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) + local.get $a + local.get $b + i64.gt_u + local.get $a + local.get $b + i64.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) + local.get $b + local.get $a + i64.gt_u + local.get $b + local.get $a + i64.lt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) + (local $range i32) (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr + (local $a f32) + (local $b f32) + (local $min f32) + (local $max f32) + (local $j i32) + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $right + local.get $left + i32.sub + i32.const 1 + i32.add + local.set $range + local.get $left + local.get $range + i32.const 1 + i32.and + local.get $presorted + local.get $range + local.get $presorted + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $presorted i32.const 0 + i32.eq + select + i32.add local.set $i - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $k loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + local.get $right + i32.le_s if local.get $ptr local.get $i - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 + f32.load $0 + local.set $a + local.get $ptr local.get $i - local.get $array - i32.const 3 + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.set $b + local.get $b + local.set $min + local.get $a + local.set $max + local.get $a + local.get $b + i32.const 2 global.set $~argumentsLength - local.get $fn|3 + local.get $comparator i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s + if + local.get $a + local.set $min + local.get $b + local.set $max + end local.get $i i32.const 1 + i32.sub + local.set $j + block $while-break|1 + loop $while-continue|1 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $a + local.get $a + local.get $max + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + f32.store $0 offset=8 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|1 + end + br $while-continue|1 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $max + f32.store $0 offset=8 + block $while-break|2 + loop $while-continue|2 + local.get $j + local.get $left + i32.ge_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $a + local.get $a + local.get $min + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $a + f32.store $0 offset=4 + local.get $j + i32.const 1 + i32.sub + local.set $j + else + br $while-break|2 + end + br $while-continue|2 + end + end + end + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + local.get $min + f32.store $0 offset=4 + local.get $i + i32.const 2 i32.add local.set $i br $for-loop|0 end end ) - (func $~lib/typedarray/Uint64Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) + (local $j i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $k - loop $for-loop|0 + (local $tmp f32) + local.get $i + local.get $right + i32.eq + if local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) + return + end + local.get $i + local.set $j + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $ptr + local.get $j + i32.const 1 + i32.add + local.tee $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|0 + end + end + local.get $j + local.set $k + loop $while-continue|1 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $tmp + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + f32.load $0 + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + local.get $ptr + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $tmp + f32.store $0 + local.get $k + i32.const 1 + i32.sub + local.set $k + br $while-continue|1 + end + end + else + loop $while-continue|2 + local.get $j + local.get $right + i32.lt_s + if (result i32) + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + local.get $ptr + local.get $j + i32.const 2 + i32.shl + i32.add + f32.load $0 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $j + i32.const 1 + i32.add + local.set $j + br $while-continue|2 + end end end + local.get $j + return ) - (func $~lib/typedarray/Float32Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) (local $i i32) + (local $j i32) + (local $t i32) (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 + (local $a f32) + (local $b f32) + local.get $m + i32.const 1 + i32.sub + local.set $m + local.get $r + local.get $m + i32.add + local.set $t + local.get $m + i32.const 1 + i32.add local.set $i - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $k loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + local.get $l + i32.gt_s if + local.get $buffer + local.get $i + i32.const 1 + i32.sub + i32.const 2 + i32.shl + i32.add local.get $ptr local.get $i + i32.const 1 + i32.sub i32.const 2 i32.shl i32.add f32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_none) + f32.store $0 local.get $i i32.const 1 - i32.add + i32.sub local.set $i br $for-loop|0 end end - ) - (func $~lib/typedarray/Float64Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) - (local $array i32) - (local $fn|3 i32) - (local $ptr i32) - (local $i i32) - (local $k i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - i32.const 0 - local.set $i - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $k - loop $for-loop|0 - local.get $i - local.get $k + local.get $m + local.set $j + loop $for-loop|1 + local.get $j + local.get $r i32.lt_s if + local.get $buffer + local.get $t + local.get $j + i32.sub + i32.const 2 + i32.shl + i32.add local.get $ptr - local.get $i - i32.const 3 + local.get $j + i32.const 2 i32.shl i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $i + f32.load $0 offset=4 + f32.store $0 + local.get $j i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $j + br $for-loop|1 end end - ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $7 i64) - (local $8 i64) - (local $temp i64) - (local $10 i64) - (local $11 i64) - (local $front|12 i32) - (local $back|13 i32) - (local $temp|14 i32) - local.get $len - i32.const 1 - i32.gt_u - if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 1 - i32.const 1 - i32.eq - drop - local.get $len - i32.const 8 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - i32.const 7 + local.get $l + local.set $k + loop $for-loop|2 + local.get $k + local.get $r + i32.le_s + if + local.get $buffer + local.get $j + i32.const 2 + i32.shl i32.add - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.add - local.set $front - local.get $ptr - local.get $tail - i32.add - local.get $i - i32.sub - local.set $back - local.get $front - i64.load $0 - local.tee $7 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $7 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $8 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $8 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - local.set $temp - local.get $front - local.get $back - i64.load $0 - local.tee $10 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $10 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $11 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $11 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 - local.get $back - local.get $temp - i64.store $0 - local.get $i - i32.const 8 - i32.add - local.set $i - br $while-continue|0 - end - end - i32.const 1 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|1 + f32.load $0 + local.set $a + local.get $buffer local.get $i - local.get $hlen - i32.lt_u + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.lt_s if local.get $ptr - local.get $i - i32.const 0 + local.get $k + i32.const 2 i32.shl i32.add - local.set $front|12 - local.get $ptr - local.get $tail - local.get $i + local.get $a + f32.store $0 + local.get $j + i32.const 1 i32.sub - i32.const 0 + local.set $j + else + local.get $ptr + local.get $k + i32.const 2 i32.shl i32.add - local.set $back|13 - local.get $front|12 - i32.load8_u $0 - local.set $temp|14 - local.get $front|12 - local.get $back|13 - i32.load8_u $0 - i32.store8 $0 - local.get $back|13 - local.get $temp|14 - i32.store8 $0 + local.get $b + f32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $while-continue|1 end + local.get $k + i32.const 1 + i32.add + local.set $k + br $for-loop|2 end end ) - (func $~lib/typedarray/Int8Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int8Array#get:length - call $~lib/util/bytes/REVERSE - local.get $this + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) + (local $ia i32) + (local $ib i32) + local.get $a + i32.reinterpret_f32 + local.set $ia + local.get $b + i32.reinterpret_f32 + local.set $ib + local.get $ia + local.get $ia + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $ia + local.get $ib + local.get $ib + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + i32.xor + local.set $ib + local.get $ia + local.get $ib + i32.gt_s + local.get $ia + local.get $ib + i32.lt_s + i32.sub return ) - (func $~lib/typedarray/Uint8Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint8Array#get:length - call $~lib/util/bytes/REVERSE - local.get $this - return + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) + local.get $b + local.get $a + f32.gt + local.get $b + local.get $a + f32.lt + i32.sub ) - (func $~lib/typedarray/Uint8ClampedArray#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint8ClampedArray#get:length - call $~lib/util/bytes/REVERSE - local.get $this - return + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) + local.get $b + local.get $a + f64.gt + local.get $b + local.get $a + f64.lt + i32.sub ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp i32) - (local $front|8 i32) - (local $back|9 i32) - (local $temp|10 i32) - local.get $len - i32.const 1 - i32.gt_u + (func $~lib/rt/itcms/__collect (type $none_=>_none) + i32.const 0 + drop + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 2 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 2 - i32.sub - local.set $tail loop $while-continue|0 - local.get $i - i32.const 1 - i32.add - local.get $hlen - i32.lt_u + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $back - local.get $back - i32.load $0 - i32.const 16 - i32.rotr - local.set $temp - local.get $back - local.get $front - i32.load $0 - i32.const 16 - i32.rotr - i32.store $0 - local.get $front - local.get $temp - i32.store $0 - local.get $i - i32.const 2 - i32.add - local.set $i + call $~lib/rt/itcms/step + drop br $while-continue|0 end end - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|1 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $front|8 - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $back|9 - local.get $front|8 - i32.load16_u $0 - local.set $temp|10 - local.get $front|8 - local.get $back|9 - i32.load16_u $0 - i32.store16 $0 - local.get $back|9 - local.get $temp|10 - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|1 - end + end + call $~lib/rt/itcms/step + drop + loop $while-continue|1 + global.get $~lib/rt/itcms/state + i32.const 0 + i32.ne + if + call $~lib/rt/itcms/step + drop + br $while-continue|1 end end + global.get $~lib/rt/itcms/total + i64.extend_i32_u + i32.const 200 + i64.extend_i32_u + 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 + drop ) - (func $~lib/typedarray/Int16Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int16Array#get:length - call $~lib/util/bytes/REVERSE - local.get $this - return - ) - (func $~lib/typedarray/Uint16Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint16Array#get:length - call $~lib/util/bytes/REVERSE - local.get $this - return - ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp i32) - local.get $len - i32.const 1 - i32.gt_u + (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $std/typedarray/forEachValues + local.tee $1 if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 4 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 2 - i32.shl - i32.add - local.set $back - local.get $front - i32.load $0 - local.set $temp - local.get $front - local.get $back - i32.load $0 - i32.store $0 - local.get $back - local.get $temp - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|0 - end - end + 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 7408 + local.get $0 + call $~lib/rt/itcms/__visit + i32.const 8464 + local.get $0 + call $~lib/rt/itcms/__visit ) - (func $~lib/typedarray/Int32Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + i32.load $0 + local.tee $2 + if + local.get $2 + local.get $1 + call $~lib/rt/itcms/__visit + end + ) + (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + nop + ) + (func $~lib/typedarray/Int8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint8ClampedArray~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int16Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint16Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Int64Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Uint64Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Float32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView~visit + ) + (func $~lib/typedarray/Float64Array~visit (type $i32_i32_=>_none) (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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int32Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 ) - (func $~lib/typedarray/Uint32Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint32Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp i64) - local.get $len - i32.const 1 - i32.gt_u - if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 8 - i32.const 1 - i32.eq - drop - i32.const 8 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 3 - i32.shl - i32.add - local.set $back - local.get $front - i64.load $0 - local.set $temp - local.get $front - local.get $back - i64.load $0 - i64.store $0 - local.get $back - local.get $temp - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|0 - end - end - end + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit ) - (func $~lib/typedarray/Int64Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int64Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint64Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint64Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp f32) - local.get $len - i32.const 1 - i32.gt_u - if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 4 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 2 - i32.shl - i32.add - local.set $back - local.get $front - f32.load $0 - local.set $temp - local.get $front - local.get $back - f32.load $0 - f32.store $0 - local.get $back - local.get $temp - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|0 - end - end - end + (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit ) - (func $~lib/typedarray/Float32Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Float32Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/util/bytes/REVERSE (type $i32_i32_=>_none) (param $ptr i32) (param $len i32) - (local $i i32) - (local $tail i32) - (local $hlen i32) - (local $front i32) - (local $back i32) - (local $temp f64) - local.get $len - i32.const 1 - i32.gt_u - if - i32.const 0 - local.set $i - local.get $len - i32.const 1 - i32.shr_u - local.set $hlen - i32.const 0 - i32.const 1 - i32.lt_s - drop - i32.const 8 - i32.const 1 - i32.eq - drop - i32.const 8 - i32.const 2 - i32.eq - drop - local.get $len - i32.const 1 - i32.sub - local.set $tail - loop $while-continue|0 - local.get $i - local.get $hlen - i32.lt_u - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $front - local.get $ptr - local.get $tail - local.get $i - i32.sub - i32.const 3 - i32.shl - i32.add - local.set $back - local.get $front - f64.load $0 - local.set $temp - local.get $front - local.get $back - f64.load $0 - f64.store $0 - local.get $back - local.get $temp - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $while-continue|0 - end - end - end + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit ) - (func $~lib/typedarray/Float64Array#reverse (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Float64Array#get:length - call $~lib/util/bytes/REVERSE + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - return + i32.load $0 offset=4 ) - (func $~lib/typedarray/Int8Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $searchElement|4 - i32.extend8_s - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - return + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit ) - (func $~lib/typedarray/Int8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $searchElement|4 - i32.extend8_s - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - end - return + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Int8Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Int8Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int8Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 0 - 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 $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i32.const -1 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - 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 $array - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - 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 $array - i32.const 3 - i32.const 2 - call $~lib/typedarray/Int8Array#indexOf - i32.const 3 - 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 $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int8Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - i32.const 3 - i32.const 0 - call $~lib/typedarray/Int8Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit ) - (func $~lib/typedarray/Uint8Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $searchElement|4 - i32.const 255 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - return + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $searchElement|4 - i32.const 255 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - return + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit ) - (func $~lib/typedarray/Uint8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Uint8Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Uint8Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint8Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $searchElement|4 - i32.const 255 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - return + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $searchElement|4 - i32.const 255 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - return + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Uint8ClampedArray#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit ) - (func $~lib/typedarray/Int16Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $searchElement|4 - i32.extend16_s - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Int16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $searchElement|4 - i32.extend16_s - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - end - return + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit ) - (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Int16Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Int16Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int16Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int16Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint16Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $searchElement|4 - i32.const 65535 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - return + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $searchElement|4 - i32.const 65535 - i32.and - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - return + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Uint16Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Uint16Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint16Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint16Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit ) - (func $~lib/typedarray/Int32Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $searchElement|4 - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - return + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Int32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $searchElement|4 - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - end - return + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit ) - (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Int32Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Int32Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int32Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int32Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint32Array#indexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $searchElement|4 - i32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - return + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $searchElement|4 - i32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - return + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $this - call $~lib/typedarray/Uint32Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Uint32Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint32Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint32Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit ) - (func $~lib/typedarray/Int64Array#indexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $searchElement|4 - i64.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - return + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Int64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $searchElement|4 - i64.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - end - return + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit ) - (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex 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 $this - call $~lib/typedarray/Int64Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Int64Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int64Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int64Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - i64.const 10 - i32.const 0 - call $~lib/typedarray/Int64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint64Array#indexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $searchElement|4 - i64.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - return + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Uint64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 i64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $searchElement|4 - i64.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - return + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit ) - (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex 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 $this - call $~lib/typedarray/Uint64Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Uint64Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint64Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i64.const -1 - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - i64.const 3 - i32.const 1 - global.set $~argumentsLength - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Uint64Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - i64.const 4 - 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 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - i64.const 10 - i32.const 0 - call $~lib/typedarray/Uint64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit ) - (func $~lib/typedarray/Float32Array#indexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $searchElement|4 - f32.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Float32Array#lastIndexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $searchElement|4 - f32.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit ) - (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex 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 $this - call $~lib/typedarray/Float32Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Float32Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float32Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - 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 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float32Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f32.const 3 - i32.const 1 - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f32.const 1 - i32.const 100 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f32.const 1 - i32.const -10 - call $~lib/typedarray/Float32Array#lastIndexOf - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Float32Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f32.const 4 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f32.const 5 - i32.const 0 - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f32.const 9 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 633 - 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/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit ) - (func $~lib/typedarray/Float64Array#indexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $searchElement|4 - f64.eq - if - local.get $index - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - return + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Float64Array#lastIndexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $dataStart i32) - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.set $index - else - local.get $index - local.get $len - i32.ge_s - if - local.get $len - i32.const 1 - i32.sub - local.set $index - end - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - i32.const 0 - i32.ge_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $searchElement|4 - f64.eq - if - local.get $index - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 1 - i32.sub - local.set $index - br $while-continue|0 - end - end - i32.const -1 - br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - end - return + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit ) - (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex 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 $this - call $~lib/typedarray/Float64Array#get:length - local.set $fromIndex - end + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - local.get $searchElement - local.get $fromIndex - call $~lib/typedarray/Float64Array#lastIndexOf + i32.load $0 offset=4 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $sliced 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float64Array#constructor - local.tee $array - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - f64.const 0 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 0 - 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 $array - 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 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 605 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f64.const 3 - i32.const 2 - call $~lib/typedarray/Float64Array#indexOf - i32.const 3 - 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 $array - 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 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f64.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array#lastIndexOf@varargs - i32.const 0 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f64.const 11 - 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 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - f64.const 3 - i32.const 1 - 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 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $array - 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 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $array - i32.const 4 - i32.const 9 - call $~lib/typedarray/Float64Array#subarray - local.tee $sliced - i32.store $0 offset=8 - local.get $sliced - 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 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f64.const 4 - i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const 4 - i32.const 4 - i32.sub - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f64.const 5 - i32.const 0 - 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 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - 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 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f64.const 5 - i32.const 1 - 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 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $sliced - f64.const 5 - i32.const 2 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 633 - 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/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit ) - (func $~lib/typedarray/Float64Array#includes (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f64) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - (local $elem f64) - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - i32.const 1 - drop - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $elem - local.get $elem - local.get $searchElement|4 - f64.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f64.ne - local.get $searchElement|4 - local.get $searchElement|4 - f64.ne - i32.and - end - if - i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - end - return + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/typedarray/Float32Array#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) - (local $array i32) - (local $searchElement|4 f32) - (local $fromIndex|5 i32) - (local $index i32) - (local $len i32) - (local $8 i32) - (local $9 i32) - (local $dataStart i32) - (local $elem f32) - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $searchElement - local.set $searchElement|4 - local.get $fromIndex - local.set $fromIndex|5 - i32.const 1 - drop - local.get $fromIndex|5 - local.set $index - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $len - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $index - local.get $len - i32.ge_s - end - if - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 0 - i32.lt_s - if - local.get $len - local.get $index - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - local.set $index - end - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - loop $while-continue|0 - local.get $index - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $elem - local.get $elem - local.get $searchElement|4 - f32.eq - if (result i32) - i32.const 1 - else - local.get $elem - local.get $elem - f32.ne - local.get $searchElement|4 - local.get $searchElement|4 - f32.ne - i32.and - end - if - i32.const 1 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.get $index - i32.const 1 - i32.add - local.set $index - br $while-continue|0 - end - end - i32.const 0 - br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - end - return + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit ) - (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) - local.get $value - i32.const 100000 - i32.lt_u - if - local.get $value - i32.const 100 - i32.lt_u - if - i32.const 1 - local.get $value - i32.const 10 - i32.ge_u - i32.add - return - else - i32.const 3 - local.get $value - i32.const 10000 - i32.ge_u - i32.add - local.get $value - i32.const 1000 - i32.ge_u - i32.add - return - end - unreachable - else - local.get $value - i32.const 10000000 - i32.lt_u - if - i32.const 6 - local.get $value - i32.const 1000000 - i32.ge_u - i32.add - return - else - i32.const 8 - local.get $value - i32.const 1000000000 - i32.ge_u - i32.add - local.get $value - i32.const 100000000 - i32.ge_u - i32.add - return - end - unreachable - end - unreachable + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $buffer i32) (param $num i32) (param $offset i32) - (local $t i32) - (local $r i32) - (local $d1 i32) - (local $d2 i32) - (local $digits1 i64) - (local $digits2 i64) - (local $t|9 i32) - (local $d1|10 i32) - (local $digits i32) - (local $digits|12 i32) - (local $digit i32) - loop $while-continue|0 - local.get $num - i32.const 10000 - i32.ge_u - if - local.get $num - i32.const 10000 - i32.div_u - local.set $t - local.get $num - i32.const 10000 - i32.rem_u - local.set $r - local.get $t - local.set $num - local.get $r - i32.const 100 - i32.div_u - local.set $d1 - local.get $r - i32.const 100 - i32.rem_u - local.set $d2 - i32.const 6988 - local.get $d1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6988 - local.get $d2 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end - local.get $num - i32.const 100 - i32.ge_u - if - local.get $num - i32.const 100 - i32.div_u - local.set $t|9 - local.get $num - i32.const 100 - i32.rem_u - local.set $d1|10 - local.get $t|9 - local.set $num - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 6988 - local.get $d1|10 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits - i32.store $0 - end - local.get $num - i32.const 10 - i32.ge_u - if - local.get $offset - i32.const 2 - i32.sub - local.set $offset - i32.const 6988 - local.get $num - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $digits|12 - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits|12 - i32.store $0 - else - local.get $offset - i32.const 1 - i32.sub - local.set $offset - i32.const 48 - local.get $num - i32.add - local.set $digit - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digit - i32.store16 $0 - end + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit ) - (func $~lib/util/number/utoa_hex_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - loop $while-continue|0 - local.get $offset - i32.const 2 - i32.ge_u - if - local.get $offset - i32.const 2 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 7408 - local.get $num - i32.wrap_i64 - i32.const 255 - i32.and - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $num - i64.const 8 - i64.shr_u - local.set $num - br $while-continue|0 - end - end - local.get $offset - i32.const 1 - i32.and - if - local.get $buffer - i32.const 7408 - local.get $num - i32.wrap_i64 - i32.const 6 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - end + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/util/number/ulog_base (type $i64_i32_=>_i32) (param $num i64) (param $base i32) (result i32) - (local $value i32) - (local $b64 i64) - (local $b i64) - (local $e i32) - block $~lib/util/number/isPowerOf2|inlined.0 (result i32) - local.get $base - local.set $value - local.get $value - i32.popcnt - i32.const 1 - i32.eq - br $~lib/util/number/isPowerOf2|inlined.0 - end - if - i32.const 63 - local.get $num - i64.clz - i32.wrap_i64 - i32.sub - i32.const 31 - local.get $base - i32.clz - i32.sub - i32.div_u - i32.const 1 - i32.add - return - end - local.get $base - i64.extend_i32_s - local.set $b64 - local.get $b64 - local.set $b - i32.const 1 - local.set $e - loop $while-continue|0 - local.get $num - local.get $b - i64.ge_u - if - local.get $num - local.get $b - i64.div_u - local.set $num - local.get $b - local.get $b - i64.mul - local.set $b - local.get $e - i32.const 1 - i32.shl - local.set $e - br $while-continue|0 - end - end - loop $while-continue|1 - local.get $num - i64.const 1 - i64.ge_u - if - local.get $num - local.get $b64 - i64.div_u - local.set $num - local.get $e - i32.const 1 - i32.add - local.set $e - br $while-continue|1 - end - end - local.get $e - i32.const 1 - i32.sub - return + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit ) - (func $~lib/util/number/utoa64_any_core (type $i32_i64_i32_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) (param $radix i32) - (local $base i64) - (local $shift i64) - (local $mask i64) - (local $q i64) - local.get $radix - i64.extend_i32_s - local.set $base - local.get $radix - local.get $radix - i32.const 1 - i32.sub - i32.and - i32.const 0 - i32.eq - if - local.get $radix - i32.ctz - i32.const 7 - i32.and - i64.extend_i32_s - local.set $shift - local.get $base - i64.const 1 - i64.sub - local.set $mask - loop $do-loop|0 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 8464 - local.get $num - local.get $mask - i64.and - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $num - local.get $shift - i64.shr_u - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|0 - end - else - loop $do-loop|1 - local.get $offset - i32.const 1 - i32.sub - local.set $offset - local.get $num - local.get $base - i64.div_u - local.set $q - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - i32.const 8464 - local.get $num - local.get $q - local.get $base - i64.mul - i64.sub - i32.wrap_i64 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $q - local.set $num - local.get $num - i64.const 0 - i64.ne - br_if $do-loop|1 - end - end + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/rt/common/OBJECT#get:rtSize (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.load $0 offset=16 + i32.load $0 offset=4 ) - (func $~lib/string/String#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - i32.const 20 - i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - i32.const 1 - i32.shr_u - return + i32.load $0 offset=4 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.extend8_s - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 1 - i32.const 1 - i32.eq - drop - local.get $value - i32.extend8_s - i32.const -128 - i32.eq - if - local.get $buffer - i32.const 45 - i64.extend_i32_s - i32.const 48 - i32.const 1 - i32.add - i64.extend_i32_s - i64.const 16 - i64.shl - i64.or - i32.const 48 - i32.const 2 - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - i32.const 48 - i32.const 8 - i32.add - i64.extend_i32_s - i64.const 48 - i64.shl - i64.or - i64.store $0 - i32.const 4 - return - end - i32.const 1 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - 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 $value - i32.extend8_s - i32.const 10 - i32.lt_u - if - local.get $dest - local.get $value - i32.extend8_s - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign - i32.add - return - end - i32.const 0 - local.set $decimals - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - i32.extend8_s - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit ) - (func $~lib/typedarray/Int8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int8Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 ) - (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) - (local $ptr1 i32) - (local $ptr2 i32) - (local $7 i32) - (local $a i32) - (local $b i32) - local.get $str1 - local.get $index1 - i32.const 1 - i32.shl - i32.add - local.set $ptr1 - local.get $str2 - local.get $index2 - i32.const 1 - i32.shl - i32.add - local.set $ptr2 - i32.const 0 - i32.const 2 - i32.lt_s - drop - local.get $len - i32.const 4 - i32.ge_u - if (result i32) - local.get $ptr1 - i32.const 7 - i32.and - local.get $ptr2 - i32.const 7 - i32.and - i32.or - i32.eqz - else - i32.const 0 - end - if - block $do-break|0 - loop $do-loop|0 - local.get $ptr1 - i64.load $0 - local.get $ptr2 - i64.load $0 - i64.ne - if - br $do-break|0 - end - local.get $ptr1 - i32.const 8 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 8 - i32.add - local.set $ptr2 - local.get $len - i32.const 4 - i32.sub - local.set $len - local.get $len - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - loop $while-continue|1 - local.get $len - local.tee $7 - i32.const 1 - i32.sub - local.set $len - local.get $7 - if - local.get $ptr1 - i32.load16_u $0 - local.set $a - local.get $ptr2 - i32.load16_u $0 - local.set $b - local.get $a - local.get $b - i32.ne - if - local.get $a - local.get $b - i32.sub - return - end - local.get $ptr1 - i32.const 2 - i32.add - local.set $ptr1 - local.get $ptr2 - i32.const 2 - i32.add - local.set $ptr2 - br $while-continue|1 - end - end - i32.const 0 - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $value - i32.const 255 - i32.and - i32.const 10 - i32.lt_u - if - local.get $buffer - local.get $value - i32.const 255 - i32.and - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - return - end - i32.const 0 - local.set $decimals - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 255 - i32.and - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/typedarray/Uint8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint8Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 ) - (func $~lib/typedarray/Uint8ClampedArray#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint8ClampedArray#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.extend16_s - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 2 - i32.const 2 - i32.eq - drop - local.get $value - i32.extend16_s - i32.const -32768 - i32.eq - if - local.get $buffer - i32.const 45 - i64.extend_i32_s - i32.const 48 - i32.const 3 - i32.add - i64.extend_i32_s - i64.const 16 - i64.shl - i64.or - i32.const 48 - i32.const 2 - i32.add - i64.extend_i32_s - i64.const 32 - i64.shl - i64.or - i32.const 48 - i32.const 7 - i32.add - i64.extend_i32_s - i64.const 48 - i64.shl - i64.or - i64.store $0 - local.get $buffer - i32.const 8 - i32.add - i32.const 48 - i32.const 6 - i32.add - i32.const 0 - i32.shl - i32.const 48 - i32.const 8 - i32.add - i32.const 16 - i32.shl - i32.or - i32.store $0 - i32.const 6 - return - end - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - 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 $value - i32.extend16_s - i32.const 10 - i32.lt_u - if - local.get $dest - local.get $value - i32.extend16_s - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign - i32.add - return - end - i32.const 0 - local.set $decimals - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - i32.extend16_s - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/typedarray/Int16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 + ) + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit + ) + (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int16Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $value - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u - if - local.get $buffer - local.get $value - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - return - end - i32.const 0 - local.set $decimals - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 65535 - i32.and - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/array/Array#__visit ) - (func $~lib/typedarray/Uint16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint16Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 offset=4 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 4 - i32.const 1 - i32.eq - drop - i32.const 4 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - 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 $value - i32.const 10 - i32.lt_u - if - local.get $dest - local.get $value - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - local.get $sign - i32.add - return - end - i32.const 0 - local.set $decimals - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit ) - (func $~lib/typedarray/Int32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/function/Function<%28i16%2Ci16%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int32Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 offset=4 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $buffer i32) (param $value i32) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $value - i32.const 10 - i32.lt_u - if - local.get $buffer - local.get $value - i32.const 48 - i32.or - i32.store16 $0 - i32.const 1 - return - end - i32.const 0 - local.set $decimals - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit ) - (func $~lib/typedarray/Uint32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + i32.load $0 offset=4 + ) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + ) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint32Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 offset=4 ) - (func $~lib/util/number/decimalCount64High (type $i64_=>_i32) (param $value i64) (result i32) - local.get $value - i64.const 1000000000000000 - i64.lt_u - if - local.get $value - i64.const 1000000000000 - i64.lt_u - if - i32.const 10 - local.get $value - i64.const 100000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000 - i64.ge_u - i32.add - return - else - i32.const 13 - local.get $value - i64.const 100000000000000 - i64.ge_u - i32.add - local.get $value - i64.const 10000000000000 - i64.ge_u - i32.add - return - end - unreachable - else - local.get $value - i64.const 100000000000000000 - i64.lt_u - if - i32.const 16 - local.get $value - i64.const 10000000000000000 - i64.ge_u - i32.add - return - else - i32.const 18 - local.get $value - i64.const -8446744073709551616 - i64.ge_u - i32.add - local.get $value - i64.const 1000000000000000000 - i64.ge_u - i32.add - return - end - unreachable - end - unreachable + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $buffer i32) (param $num i64) (param $offset i32) - (local $t i64) - (local $r i32) - (local $b i32) - (local $c i32) - (local $b1 i32) - (local $b2 i32) - (local $c1 i32) - (local $c2 i32) - (local $digits1 i64) - (local $digits2 i64) - loop $while-continue|0 - local.get $num - i64.const 100000000 - i64.ge_u - if - local.get $num - i64.const 100000000 - i64.div_u - local.set $t - local.get $num - local.get $t - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.set $r - local.get $t - local.set $num - local.get $r - i32.const 10000 - i32.div_u - local.set $b - local.get $r - i32.const 10000 - i32.rem_u - local.set $c - local.get $b - i32.const 100 - i32.div_u - local.set $b1 - local.get $b - i32.const 100 - i32.rem_u - local.set $b2 - local.get $c - i32.const 100 - i32.div_u - local.set $c1 - local.get $c - i32.const 100 - i32.rem_u - local.set $c2 - i32.const 6988 - local.get $c1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6988 - local.get $c2 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - i32.const 6988 - local.get $b1 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits1 - i32.const 6988 - local.get $b2 - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.set $digits2 - local.get $offset - i32.const 4 - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $digits1 - local.get $digits2 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end - local.get $buffer - local.get $num - i32.wrap_i64 - local.get $offset - call $~lib/util/number/utoa32_dec_lut + (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) + local.get $this + i32.load $0 offset=4 ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - (local $val64 i64) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - i32.const 0 - local.set $sign - i32.const 1 - drop - local.get $value - i64.const 0 - i64.lt_s - local.set $sign - local.get $sign - if - i32.const 8 - i32.const 1 - i32.eq - drop - i32.const 8 - i32.const 2 - i32.eq - drop - local.get $buffer - i32.const 45 - i32.store16 $0 - i64.const 0 - local.get $value - i64.sub - local.set $value - end - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - 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 $value - i64.const 10 - i64.lt_u - if - local.get $dest - local.get $value - i32.const 48 - i64.extend_i32_s - i64.or - i64.store16 $0 - i32.const 1 - local.get $sign - i32.add - return - end - i32.const 0 - local.set $decimals - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - local.set $val64 - local.get $val64 - call $~lib/util/number/decimalCount64High - local.set $decimals - local.get $dest - local.set $buffer|10 - local.get $val64 - local.set $num|11 - local.get $decimals - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut - end - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit ) - (func $~lib/typedarray/Int64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + (func $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Int64Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 offset=4 ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $buffer i32) (param $value i64) (result i32) - (local $sign i32) - (local $dest i32) - (local $decimals i32) - (local $val32 i32) - (local $buffer|6 i32) - (local $num i32) - (local $offset i32) - (local $val64 i64) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - i32.const 0 - local.set $sign - i32.const 0 - drop - local.get $buffer - local.get $sign - i32.const 1 - i32.shl - i32.add - local.set $dest - i32.const 0 - i32.const 1 - i32.le_s - drop - i32.const 0 - drop - local.get $value - i64.const 10 - i64.lt_u - if - local.get $buffer - local.get $value - i32.const 48 - i64.extend_i32_s - i64.or - i64.store16 $0 - i32.const 1 - return - end - i32.const 0 - local.set $decimals - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - local.get $dest - local.set $buffer|6 - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|6 - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - local.set $val64 - local.get $val64 - call $~lib/util/number/decimalCount64High - local.set $decimals - local.get $dest - local.set $buffer|10 - local.get $val64 - local.set $num|11 - local.get $decimals - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut - end - local.get $sign - local.get $decimals - i32.add - return + (func $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit ) - (func $~lib/typedarray/Uint64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) local.get $this - call $~lib/typedarray/Uint64Array#get:length - local.get $separator - call $~lib/util/string/joinIntegerArray - return + i32.load $0 offset=4 ) - (func $~lib/util/number/genDigits (type $i32_i64_i32_i64_i32_i64_i32_=>_i32) (param $buffer i32) (param $w_frc i64) (param $w_exp i32) (param $mp_frc i64) (param $mp_exp i32) (param $delta i64) (param $sign i32) (result i32) - (local $one_exp i32) - (local $one_frc i64) - (local $mask i64) - (local $wp_w_frc i64) - (local $p1 i32) - (local $p2 i64) - (local $kappa i32) - (local $len i32) - (local $d i32) - (local $16 i32) - (local $17 i32) - (local $tmp i64) - (local $buffer|19 i32) - (local $len|20 i32) - (local $delta|21 i64) - (local $rest i64) - (local $ten_kappa i64) - (local $wp_w i64) - (local $lastp i32) - (local $digit i32) - (local $d|27 i64) - (local $28 i32) - (local $buffer|29 i32) - (local $len|30 i32) - (local $delta|31 i64) - (local $rest|32 i64) - (local $ten_kappa|33 i64) - (local $wp_w|34 i64) - (local $lastp|35 i32) - (local $digit|36 i32) - i32.const 0 - local.get $mp_exp - i32.sub - local.set $one_exp - i64.const 1 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $one_frc - local.get $one_frc - i64.const 1 - i64.sub - local.set $mask - local.get $mp_frc - local.get $w_frc - i64.sub - local.set $wp_w_frc - local.get $mp_frc - local.get $one_exp - i64.extend_i32_s - i64.shr_u - i32.wrap_i64 - local.set $p1 - local.get $mp_frc - local.get $mask - i64.and - local.set $p2 - local.get $p1 - call $~lib/util/number/decimalCount32 - local.set $kappa - local.get $sign - local.set $len - loop $while-continue|0 - local.get $kappa - 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 $kappa - local.set $16 - local.get $16 - i32.const 10 - i32.eq - br_if $case0|1 - local.get $16 - i32.const 9 - i32.eq - br_if $case1|1 - local.get $16 - i32.const 8 - i32.eq - br_if $case2|1 - local.get $16 - i32.const 7 - i32.eq - br_if $case3|1 - local.get $16 - i32.const 6 - i32.eq - br_if $case4|1 - local.get $16 - i32.const 5 - i32.eq - br_if $case5|1 - local.get $16 - i32.const 4 - i32.eq - br_if $case6|1 - local.get $16 - i32.const 3 - i32.eq - br_if $case7|1 - local.get $16 - i32.const 2 - i32.eq - br_if $case8|1 - local.get $16 - i32.const 1 - i32.eq - br_if $case9|1 - br $case10|1 - end - local.get $p1 - i32.const 1000000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 100000 - i32.div_u - local.set $d - local.get $p1 - i32.const 100000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 10000 - i32.div_u - local.set $d - local.get $p1 - i32.const 10000 - i32.rem_u - local.set $p1 - br $break|1 - end - local.get $p1 - i32.const 1000 - i32.div_u - local.set $d - local.get $p1 - i32.const 1000 - i32.rem_u - local.set $p1 - br $break|1 + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + local.get $0 + local.get $1 + call $~lib/object/Object~visit + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit + ) + (func $~lib/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + block $invalid + block $~lib/function/Function<%28f32%2Cf32%29=>i32> + block $~lib/function/Function<%28u64%2Cu64%29=>i32> + block $~lib/function/Function<%28i64%2Ci64%29=>i32> + block $~lib/function/Function<%28u32%2Cu32%29=>i32> + block $~lib/function/Function<%28i32%2Ci32%29=>i32> + block $~lib/function/Function<%28u16%2Cu16%29=>i32> + block $~lib/function/Function<%28i16%2Ci16%29=>i32> + block $~lib/function/Function<%28u8%2Cu8%29=>i32> + block $~lib/function/Function<%28i8%2Ci8%29=>i32> + 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 + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~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 $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid + end + return + 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 + local.get $0 + local.get $1 + call $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit + return + end + local.get $0 + local.get $1 + call $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit + return end - local.get $p1 - i32.const 100 - i32.div_u - local.set $d - local.get $p1 - i32.const 100 - i32.rem_u - local.set $p1 - br $break|1 + local.get $0 + local.get $1 + call $~lib/function/Function<%28u16%2Cu16%29=>i32>~visit + return end - local.get $p1 - i32.const 10 - i32.div_u - local.set $d - local.get $p1 - i32.const 10 - i32.rem_u - local.set $p1 - br $break|1 + local.get $0 + local.get $1 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit + return end - local.get $p1 - local.set $d - i32.const 0 - local.set $p1 - br $break|1 + local.get $0 + local.get $1 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit + return end - i32.const 0 - local.set $d - br $break|1 + local.get $0 + local.get $1 + call $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit + return end - local.get $d - local.get $len - i32.or - if - local.get $buffer - local.get $len - local.tee $17 - i32.const 1 - i32.add - local.set $len - local.get $17 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $d - i32.const 65535 - i32.and - i32.add - i32.store16 $0 - end - local.get $kappa - i32.const 1 - i32.sub - local.set $kappa - local.get $p1 - i64.extend_i32_u - local.get $one_exp - i64.extend_i32_s - i64.shl - local.get $p2 - i64.add - local.set $tmp - local.get $tmp - local.get $delta - i64.le_u - if - global.get $~lib/util/number/_K - local.get $kappa - i32.add - global.set $~lib/util/number/_K - local.get $buffer - local.set $buffer|19 - local.get $len - local.set $len|20 - local.get $delta - local.set $delta|21 - local.get $tmp - local.set $rest - i32.const 9712 - local.get $kappa - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - local.get $one_exp - i64.extend_i32_s - i64.shl - local.set $ten_kappa - local.get $wp_w_frc - local.set $wp_w - local.get $buffer|19 - local.get $len|20 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $lastp - local.get $lastp - i32.load16_u $0 - local.set $digit - loop $while-continue|3 - local.get $rest - local.get $wp_w - i64.lt_u - if (result i32) - local.get $delta|21 - local.get $rest - i64.sub - local.get $ten_kappa - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w - local.get $rest - i64.sub - local.get $rest - local.get $ten_kappa - i64.add - local.get $wp_w - i64.sub - i64.gt_u - end - else - i32.const 0 - end - if - local.get $digit - i32.const 1 - i32.sub - local.set $digit - local.get $rest - local.get $ten_kappa - i64.add - local.set $rest - br $while-continue|3 - end - end - local.get $lastp - local.get $digit - i32.store16 $0 - local.get $len - return - end - br $while-continue|0 + local.get $0 + local.get $1 + call $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit + return end + local.get $0 + local.get $1 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit + return end - loop $while-continue|4 + unreachable + ) + (func $~start (type $none_=>_none) + call $start:std/typedarray + ) + (func $~stack_check (type $none_=>_none) + global.get $~lib/memory/__stack_pointer + global.get $~lib/memory/__data_end + i32.lt_s + if + i32.const 48096 + i32.const 48144 i32.const 1 - if - local.get $p2 - i64.const 10 - i64.mul - local.set $p2 - local.get $delta - i64.const 10 - i64.mul - local.set $delta - local.get $p2 - local.get $one_exp - i64.extend_i32_s - i64.shr_u - local.set $d|27 - local.get $d|27 - local.get $len - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $buffer - local.get $len - local.tee $28 - i32.const 1 - i32.add - local.set $len - local.get $28 - i32.const 1 - i32.shl - i32.add - i32.const 48 - local.get $d|27 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.add - i32.store16 $0 - end - local.get $p2 - local.get $mask - i64.and - local.set $p2 - local.get $kappa - i32.const 1 - i32.sub - local.set $kappa - local.get $p2 - local.get $delta - i64.lt_u - if - global.get $~lib/util/number/_K - local.get $kappa - i32.add - global.set $~lib/util/number/_K - local.get $wp_w_frc - i32.const 9712 - i32.const 0 - local.get $kappa - i32.sub - i32.const 2 - i32.shl - i32.add - i64.load32_u $0 - i64.mul - local.set $wp_w_frc - local.get $buffer - local.set $buffer|29 - local.get $len - local.set $len|30 - local.get $delta - local.set $delta|31 - local.get $p2 - local.set $rest|32 - local.get $one_frc - local.set $ten_kappa|33 - local.get $wp_w_frc - local.set $wp_w|34 - local.get $buffer|29 - local.get $len|30 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.set $lastp|35 - local.get $lastp|35 - i32.load16_u $0 - local.set $digit|36 - loop $while-continue|6 - local.get $rest|32 - local.get $wp_w|34 - i64.lt_u - if (result i32) - local.get $delta|31 - local.get $rest|32 - i64.sub - local.get $ten_kappa|33 - i64.ge_u - else - i32.const 0 - end - if (result i32) - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.get $wp_w|34 - i64.lt_u - if (result i32) - i32.const 1 - else - local.get $wp_w|34 - local.get $rest|32 - i64.sub - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.get $wp_w|34 - i64.sub - i64.gt_u - end - else - i32.const 0 - end - if - local.get $digit|36 - i32.const 1 - i32.sub - local.set $digit|36 - local.get $rest|32 - local.get $ten_kappa|33 - i64.add - local.set $rest|32 - br $while-continue|6 - end - end - local.get $lastp|35 - local.get $digit|36 - i32.store16 $0 - local.get $len - return - end - br $while-continue|4 - end + i32.const 1 + call $~lib/builtins/abort + unreachable end - unreachable ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $length i32) (param $k i32) (result i32) - (local $kk i32) - (local $i i32) - (local $ptr i32) - (local $offset i32) - (local $i|7 i32) - (local $buffer|8 i32) - (local $k|9 i32) - (local $sign i32) - (local $decimals i32) - (local $buffer|12 i32) - (local $num i32) - (local $offset|14 i32) - (local $len i32) - (local $buffer|16 i32) - (local $k|17 i32) - (local $sign|18 i32) - (local $decimals|19 i32) - (local $buffer|20 i32) - (local $num|21 i32) - (local $offset|22 i32) - local.get $k + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) + (local $buffer 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $this i32.eqz if - local.get $buffer - local.get $length - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 3 + call $~lib/rt/itcms/__new + local.tee $this i32.store $0 - local.get $length - i32.const 2 - i32.add - return end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#set:byteLength local.get $length - local.get $k - i32.add - local.set $kk - local.get $length - local.get $kk - i32.le_s - if (result i32) - local.get $kk - i32.const 21 - i32.le_s - else - i32.const 0 + i32.const 1073741820 + local.get $alignLog2 + i32.shr_u + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $length + local.get $alignLog2 + i32.shl + local.tee $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 offset=8 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#set:buffer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $buffer + call $~lib/arraybuffer/ArrayBufferView#set:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $length + call $~lib/arraybuffer/ArrayBufferView#set:byteLength + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Int8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz if - local.get $length - local.set $i - loop $for-loop|0 - local.get $i - local.get $kk - i32.lt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $buffer - local.get $kk - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.const 48 - i32.const 16 - i32.shl - i32.or + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this i32.store $0 - local.get $kk - i32.const 2 - i32.add - return - else - local.get $kk - i32.const 0 - i32.gt_s - if (result i32) - local.get $kk - i32.const 21 - i32.le_s - else - i32.const 0 - end - if - local.get $buffer - local.get $kk - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $ptr - i32.const 2 - i32.add - local.get $ptr - i32.const 0 - local.get $k - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - local.get $kk - i32.const 1 - i32.shl - i32.add - i32.const 46 - i32.store16 $0 - local.get $length - i32.const 1 - i32.add - return - else - i32.const -6 - local.get $kk - i32.lt_s - if (result i32) - local.get $kk - i32.const 0 - i32.le_s - else - i32.const 0 - end - if - i32.const 2 - local.get $kk - i32.sub - local.set $offset - local.get $buffer - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $buffer - local.get $length - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $buffer - i32.const 48 - i32.const 46 - i32.const 16 - i32.shl - i32.or - i32.store $0 - i32.const 2 - local.set $i|7 - loop $for-loop|1 - local.get $i|7 - local.get $offset - i32.lt_s - if - local.get $buffer - local.get $i|7 - i32.const 1 - i32.shl - i32.add - i32.const 48 - i32.store16 $0 - local.get $i|7 - i32.const 1 - i32.add - local.set $i|7 - br $for-loop|1 - end - end - local.get $length - local.get $offset - i32.add - return - else - local.get $length - i32.const 1 - i32.eq - if - local.get $buffer - i32.const 101 - i32.store16 $0 offset=2 - block $~lib/util/number/genExponent|inlined.0 (result i32) - local.get $buffer - i32.const 4 - i32.add - local.set $buffer|8 - local.get $kk - i32.const 1 - i32.sub - local.set $k|9 - local.get $k|9 - i32.const 0 - i32.lt_s - local.set $sign - local.get $sign - if - i32.const 0 - local.get $k|9 - i32.sub - local.set $k|9 - end - local.get $k|9 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals - local.get $buffer|8 - local.set $buffer|12 - local.get $k|9 - local.set $num - local.get $decimals - local.set $offset|14 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|12 - local.get $num - local.get $offset|14 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|8 - i32.const 45 - i32.const 43 - local.get $sign - select - i32.store16 $0 - local.get $decimals - br $~lib/util/number/genExponent|inlined.0 - end - local.set $length - local.get $length - i32.const 2 - i32.add - return - else - local.get $length - i32.const 1 - i32.shl - local.set $len - local.get $buffer - i32.const 4 - i32.add - local.get $buffer - i32.const 2 - i32.add - local.get $len - i32.const 2 - i32.sub - memory.copy $0 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 - local.get $buffer - local.get $len - i32.add - i32.const 101 - i32.store16 $0 offset=2 - local.get $length - block $~lib/util/number/genExponent|inlined.1 (result i32) - local.get $buffer - local.get $len - i32.add - i32.const 4 - i32.add - local.set $buffer|16 - local.get $kk - i32.const 1 - i32.sub - local.set $k|17 - local.get $k|17 - i32.const 0 - i32.lt_s - local.set $sign|18 - local.get $sign|18 - if - i32.const 0 - local.get $k|17 - i32.sub - local.set $k|17 - end - local.get $k|17 - call $~lib/util/number/decimalCount32 - i32.const 1 - i32.add - local.set $decimals|19 - local.get $buffer|16 - local.set $buffer|20 - local.get $k|17 - local.set $num|21 - local.get $decimals|19 - local.set $offset|22 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|20 - local.get $num|21 - local.get $offset|22 - call $~lib/util/number/utoa32_dec_lut - local.get $buffer|16 - i32.const 45 - i32.const 43 - local.get $sign|18 - select - i32.store16 $0 - local.get $decimals|19 - br $~lib/util/number/genExponent|inlined.1 - end - i32.add - local.set $length - local.get $length - i32.const 2 - i32.add - return - end - unreachable - end - unreachable - end - unreachable end - unreachable + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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/util/number/dtoa_core (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - (local $value|3 f64) - (local $buffer|4 i32) - (local $sign|5 i32) - (local $uv i64) - (local $exp i32) - (local $sid i64) - (local $frc i64) - (local $f i64) - (local $e i32) - (local $frc|12 i64) - (local $exp|13 i32) - (local $off i32) - (local $m i32) - (local $minExp i32) - (local $dk f64) - (local $k i32) - (local $index i32) - (local $off|20 i32) - (local $frc_pow i64) - (local $exp_pow i32) - (local $u i64) - (local $v i64) - (local $u0 i64) - (local $v0 i64) - (local $u1 i64) - (local $v1 i64) - (local $l i64) - (local $t i64) - (local $w i64) - (local $w_frc i64) - (local $e1 i32) - (local $e2 i32) - (local $w_exp i32) - (local $u|36 i64) - (local $v|37 i64) - (local $u0|38 i64) - (local $v0|39 i64) - (local $u1|40 i64) - (local $v1|41 i64) - (local $l|42 i64) - (local $t|43 i64) - (local $w|44 i64) - (local $wp_frc i64) - (local $e1|46 i32) - (local $e2|47 i32) - (local $wp_exp i32) - (local $u|49 i64) - (local $v|50 i64) - (local $u0|51 i64) - (local $v0|52 i64) - (local $u1|53 i64) - (local $v1|54 i64) - (local $l|55 i64) - (local $t|56 i64) - (local $w|57 i64) - (local $wm_frc i64) - (local $delta i64) - (local $len i32) - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + i32.sub + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int8Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz if - local.get $value - f64.neg - local.set $value - local.get $buffer - i32.const 45 - i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - block $~lib/util/number/grisu2|inlined.0 (result i32) - local.get $value - local.set $value|3 - local.get $buffer - local.set $buffer|4 - local.get $sign - local.set $sign|5 - local.get $value|3 - i64.reinterpret_f64 - local.set $uv - local.get $uv - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.set $exp - local.get $uv - i64.const 4503599627370495 - i64.and - local.set $sid - local.get $exp - i32.const 0 - i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - local.get $sid - i64.add - local.set $frc - local.get $exp - i32.const 1 - local.get $exp - select - i32.const 1023 - i32.const 52 - i32.add - i32.sub - local.set $exp - local.get $frc - local.set $f - local.get $exp - local.set $e - local.get $f - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.set $frc|12 - local.get $e - i32.const 1 - i32.sub - local.set $exp|13 - local.get $frc|12 - i64.clz - i32.wrap_i64 - local.set $off - local.get $frc|12 - local.get $off - i64.extend_i32_s - i64.shl - local.set $frc|12 - local.get $exp|13 - local.get $off - i32.sub - local.set $exp|13 - i32.const 1 - local.get $f - i64.const 4503599627370496 - i64.eq - i32.add - local.set $m - local.get $frc|12 - global.set $~lib/util/number/_frc_plus - local.get $f - local.get $m - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $e - local.get $m - i32.sub - local.get $exp|13 - i32.sub - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $exp|13 - global.set $~lib/util/number/_exp - global.get $~lib/util/number/_exp - local.set $minExp - i32.const -61 - local.get $minExp - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.set $dk - local.get $dk - i32.trunc_sat_f64_s - local.set $k - local.get $k - local.get $k - f64.convert_i32_s - local.get $dk - f64.ne - i32.add - local.set $k - local.get $k - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.set $index - i32.const 348 - local.get $index - i32.const 3 - i32.shl - i32.sub - global.set $~lib/util/number/_K - i32.const 8840 - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - i32.const 9536 - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $frc - i64.clz - i32.wrap_i64 - local.set $off|20 - local.get $frc - local.get $off|20 - i64.extend_i32_s - i64.shl - local.set $frc - local.get $exp - local.get $off|20 - i32.sub - local.set $exp - global.get $~lib/util/number/_frc_pow - local.set $frc_pow - global.get $~lib/util/number/_exp_pow - local.set $exp_pow - block $~lib/util/number/umul64f|inlined.0 (result i64) - local.get $frc - local.set $u - local.get $frc_pow - local.set $v - local.get $u - i64.const 4294967295 - i64.and - local.set $u0 - local.get $v - i64.const 4294967295 - i64.and - local.set $v0 - local.get $u - i64.const 32 - i64.shr_u - local.set $u1 - local.get $v - i64.const 32 - i64.shr_u - local.set $v1 - local.get $u0 - local.get $v0 - i64.mul - local.set $l - local.get $u1 - local.get $v0 - i64.mul - local.get $l - i64.const 32 - i64.shr_u - i64.add - local.set $t - local.get $u0 - local.get $v1 - i64.mul - local.get $t - i64.const 4294967295 - i64.and - i64.add - local.set $w - local.get $w - i64.const 2147483647 - i64.add - local.set $w - local.get $t - i64.const 32 - i64.shr_u - local.set $t - local.get $w - i64.const 32 - i64.shr_u - local.set $w - local.get $u1 - local.get $v1 - i64.mul - local.get $t - i64.add - local.get $w - i64.add - br $~lib/util/number/umul64f|inlined.0 - end - local.set $w_frc - block $~lib/util/number/umul64e|inlined.0 (result i32) - local.get $exp - local.set $e1 - local.get $exp_pow - local.set $e2 - local.get $e1 - local.get $e2 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.0 - end - local.set $w_exp - block $~lib/util/number/umul64f|inlined.1 (result i64) - global.get $~lib/util/number/_frc_plus - local.set $u|36 - local.get $frc_pow - local.set $v|37 - local.get $u|36 - i64.const 4294967295 - i64.and - local.set $u0|38 - local.get $v|37 - i64.const 4294967295 - i64.and - local.set $v0|39 - local.get $u|36 - i64.const 32 - i64.shr_u - local.set $u1|40 - local.get $v|37 - i64.const 32 - i64.shr_u - local.set $v1|41 - local.get $u0|38 - local.get $v0|39 - i64.mul - local.set $l|42 - local.get $u1|40 - local.get $v0|39 - i64.mul - local.get $l|42 - i64.const 32 - i64.shr_u - i64.add - local.set $t|43 - local.get $u0|38 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.const 4294967295 - i64.and - i64.add - local.set $w|44 - local.get $w|44 - i64.const 2147483647 - i64.add - local.set $w|44 - local.get $t|43 - i64.const 32 - i64.shr_u - local.set $t|43 - local.get $w|44 - i64.const 32 - i64.shr_u - local.set $w|44 - local.get $u1|40 - local.get $v1|41 - i64.mul - local.get $t|43 - i64.add - local.get $w|44 - i64.add - br $~lib/util/number/umul64f|inlined.1 - end - i64.const 1 - i64.sub - local.set $wp_frc - block $~lib/util/number/umul64e|inlined.1 (result i32) - global.get $~lib/util/number/_exp - local.set $e1|46 - local.get $exp_pow - local.set $e2|47 - local.get $e1|46 - local.get $e2|47 - i32.add - i32.const 64 - i32.add - br $~lib/util/number/umul64e|inlined.1 - end - local.set $wp_exp - block $~lib/util/number/umul64f|inlined.2 (result i64) - global.get $~lib/util/number/_frc_minus - local.set $u|49 - local.get $frc_pow - local.set $v|50 - local.get $u|49 - i64.const 4294967295 - i64.and - local.set $u0|51 - local.get $v|50 - i64.const 4294967295 - i64.and - local.set $v0|52 - local.get $u|49 - i64.const 32 - i64.shr_u - local.set $u1|53 - local.get $v|50 - i64.const 32 - i64.shr_u - local.set $v1|54 - local.get $u0|51 - local.get $v0|52 - i64.mul - local.set $l|55 - local.get $u1|53 - local.get $v0|52 - i64.mul - local.get $l|55 - i64.const 32 - i64.shr_u - i64.add - local.set $t|56 - local.get $u0|51 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.const 4294967295 - i64.and - i64.add - local.set $w|57 - local.get $w|57 - i64.const 2147483647 - i64.add - local.set $w|57 - local.get $t|56 - i64.const 32 - i64.shr_u - local.set $t|56 - local.get $w|57 - i64.const 32 - i64.shr_u - local.set $w|57 - local.get $u1|53 - local.get $v1|54 - i64.mul - local.get $t|56 - i64.add - local.get $w|57 - i64.add - br $~lib/util/number/umul64f|inlined.2 - end - i64.const 1 - i64.add - local.set $wm_frc - local.get $wp_frc - local.get $wm_frc - i64.sub - local.set $delta - local.get $buffer|4 - local.get $w_frc - local.get $w_exp - local.get $wp_frc - local.get $wp_exp - local.get $delta - local.get $sign|5 - call $~lib/util/number/genDigits - br $~lib/util/number/grisu2|inlined.0 - end - local.set $len - local.get $buffer - local.get $sign - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $len - local.get $sign + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify - local.set $len - local.get $len - local.get $sign + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $buffer i32) (param $value f64) (result i32) - (local $sign i32) - local.get $value - f64.const 0 - f64.eq - if - local.get $buffer - i32.const 48 - i32.store16 $0 - local.get $buffer - i32.const 46 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return - end - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq + (func $~lib/typedarray/Uint8ClampedArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this i32.eqz if - local.get $value - local.get $value - f64.ne - if - local.get $buffer - i32.const 78 - i32.store16 $0 - local.get $buffer - i32.const 97 - i32.store16 $0 offset=2 - local.get $buffer - i32.const 78 - i32.store16 $0 offset=4 - i32.const 3 - return - else - local.get $value - f64.const 0 - f64.lt - local.set $sign - local.get $sign - if - local.get $buffer - i32.const 45 - i32.store16 $0 - local.get $buffer - i32.const 2 - i32.add - local.set $buffer - end - local.get $buffer - i64.const 29555310648492105 - i64.store $0 - local.get $buffer - i64.const 34058970405077102 - i64.store $0 offset=8 - i32.const 8 - local.get $sign - i32.add - return - end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $buffer - local.get $value - call $~lib/util/number/dtoa_core - return - ) - (func $~lib/typedarray/Float32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 local.get $this - call $~lib/typedarray/Float32Array#get:length - local.get $separator - call $~lib/util/string/joinFloatArray - return + 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#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + (func $~lib/typedarray/Uint8ClampedArray#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - call $~lib/typedarray/Float64Array#get:length - local.get $separator - call $~lib/util/string/joinFloatArray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/arraybuffer/ArrayBuffer#get:byteLength (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.const 20 + (func $~lib/typedarray/Int16Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.sub - call $~lib/rt/common/OBJECT#get:rtSize - return - ) - (func $~lib/typedarray/Uint8Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $buffer - local.get $byteOffset + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $length - call $~lib/typedarray/Uint8Array.wrap - ) - (func $~lib/typedarray/Int8Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Int8Array.wrap - ) - (func $~lib/typedarray/Uint8ClampedArray.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Uint8ClampedArray.wrap - ) - (func $~lib/typedarray/Int16Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Int16Array.wrap - ) - (func $~lib/typedarray/Uint16Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Uint16Array.wrap - ) - (func $~lib/typedarray/Int32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Int32Array.wrap - ) - (func $~lib/typedarray/Uint32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Uint32Array.wrap - ) - (func $~lib/typedarray/Int64Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Int64Array.wrap + i32.const 1 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Uint64Array.wrap + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/typedarray/Float32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length + (func $~lib/typedarray/Uint16Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $buffer - local.get $byteOffset + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $length - call $~lib/typedarray/Float32Array.wrap + i32.const 1 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $byteOffset - end - i32.const -1 - local.set $length - end - local.get $buffer - local.get $byteOffset - local.get $length - call $~lib/typedarray/Float64Array.wrap + (func $~lib/typedarray/Uint16Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Int32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - end + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Int8Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load8_s $0 - return + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + (func $~lib/typedarray/Int32Array#get:length (type $i32_=>_i32) (param $this 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.shl + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load8_s $0 + global.set $~lib/memory/__stack_pointer + local.get $1 return ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/typedarray/Uint32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 local.get $this - i32.load $0 offset=4 - ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + 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#get:length (type $i32_=>_i32) (param $this 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - end + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 + local.get $this + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int64Array#get:length (type $i32_=>_i32) (param $this 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_s - else - i32.const 0 - end - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) + (func $~lib/typedarray/Uint64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - end + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint64Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 3 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/typedarray/Float32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/array/Array#get:length_ - return + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + 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#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/typedarray/Float32Array#get:length (type $i32_=>_i32) (param $this 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 $0 local.get $this - i32.load $0 offset=4 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) + (func $~lib/typedarray/Float64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s - end + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $length + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float64Array#get:length (type $i32_=>_i32) (param $this 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_s - else - i32.const 0 - end - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) + i32.store $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testInstantiate (type $i32_=>_none) (param $len i32) + (local $i8a i32) + (local $u8a i32) + (local $c8a i32) + (local $i16a i32) + (local $u16a i32) + (local $i32a i32) + (local $u32a i32) + (local $i64a i32) + (local $u64a i32) + (local $f32a i32) + (local $f64a 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 i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 48 + memory.fill $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + local.get $len + call $~lib/typedarray/Int8Array#constructor + local.tee $i8a + i32.store $0 + local.get $i8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 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 3 + call $~lib/builtins/abort + unreachable end + local.get $i8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Int8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 33 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 + local.get $i8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + local.get $len + i32.eq i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 0 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + 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 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Uint8Array#constructor + local.tee $u8a + i32.store $0 offset=8 + local.get $u8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + 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 $u8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 38 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 + local.get $u8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.get $len i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 39 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $c8a + i32.store $0 offset=12 + local.get $c8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int8Array#get:length - i32.gt_s + 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 $c8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Uint8Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 43 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 + local.get $c8a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.get $len + i32.eq i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 0 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + 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 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Int16Array#constructor + local.tee $i16a + i32.store $0 offset=16 + local.get $i16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + 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 $i16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Int16Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 48 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 2 + local.get $i16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.get $len i32.eq - drop + 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.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Uint8Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.add - i32.load8_u $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - return - ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Uint16Array#constructor + local.tee $u16a + i32.store $0 offset=20 + local.get $u16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s - end + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 52 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 + local.get $u16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Uint16Array.BYTES_PER_ELEMENT + i32.mul i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_u - else - i32.const 0 - end - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 53 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $u16a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + local.get $len + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 54 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + local.get $len + call $~lib/typedarray/Int32Array#constructor + local.tee $i32a + i32.store $0 offset=24 + local.get $i32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.const 3 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 57 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $i32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + 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 $i32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + local.get $len + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 59 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 + local.get $len + call $~lib/typedarray/Uint32Array#constructor + local.tee $u32a + i32.store $0 offset=28 + local.get $u32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_u - else - i32.const 0 - end - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 62 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + local.get $u32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + global.get $~lib/typedarray/Uint32Array.BYTES_PER_ELEMENT + i32.mul + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 63 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $u32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + local.get $len + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 64 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + local.get $len + call $~lib/typedarray/Int64Array#constructor + local.tee $i64a + i32.store $0 offset=32 + local.get $i64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 + i32.eq i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 0 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + if + i32.const 0 + i32.const 544 + i32.const 67 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $i64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + 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 $i64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.get $len + 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 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Uint64Array#constructor + local.tee $u64a + i32.store $0 offset=36 + local.get $u64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + 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 $u64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + 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 $u64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + local.get $len + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 74 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + local.get $len + call $~lib/typedarray/Float32Array#constructor + local.tee $f32a + i32.store $0 offset=40 + local.get $f32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.const 1 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 77 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.get $f32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + 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 $f32a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + local.get $len + 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 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + call $~lib/typedarray/Float64Array#constructor + local.tee $f64a + i32.store $0 offset=44 + local.get $f64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8Array#get:length - i32.gt_s + 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 $f64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + 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 $f64a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + local.get $len + 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 48 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 747 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 + local.get $index + i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 0 - i32.shl - memory.copy $0 $0 + local.get $value + i32.store $0 + 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> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Int32Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 736 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 + local.get $index + i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 1 - drop - i32.const 0 - drop - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $ptr - local.get $value - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $value - i32.sub - i32.const 31 - i32.shr_s - local.get $value - i32.or - i32.and - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint8ClampedArray#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index + i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load8_u $0 + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + (func $~lib/typedarray/Int32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl + if (result i32) + local.get $len + local.get $begin|4 i32.add - f32.load $0 - local.set $value - i32.const 1 - drop - i32.const 1 - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $value - f32.min - f32.max - i32.trunc_sat_f32_u - else - i32.const 0 - end - i32.store8 $0 - local.get $i - i32.const 1 + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 i32.add - local.set $i - br $for-loop|0 + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Float64Array#__set (type $i32_i32_f64_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1457 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 + local.get $index + i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 3 - i32.eq - drop + local.get $value + f64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl + if (result i32) + local.get $len + local.get $begin|4 i32.add - i64.load $0 - local.set $value - i32.const 1 - drop + local.tee $7 i32.const 0 - drop - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i64.extend_i32_s - i32.const 255 - local.get $value - i32.wrap_i64 - i32.sub - i32.const 31 - i32.shr_s - i64.extend_i32_s - local.get $value - i64.or - i64.and - i64.store8 $0 - local.get $i - i32.const 1 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|5 i32.add - local.set $i - br $for-loop|0 + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select end - end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a f64) + (local $b f64) + (local $c i32) + (local $a|7 f64) + (local $b|8 f64) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - f64.load $0 - local.set $value - i32.const 1 - drop - i32.const 1 - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - f64.const 0 - f64.const 255 - local.get $value - f64.min - f64.max - i32.trunc_sat_f64_u - else + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + f64.load $0 + local.set $a + local.get $ptr + f64.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f64.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + f64.load $0 offset=16 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f64.store $0 offset=8 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + f64.store $0 offset=16 end - i32.store8 $0 - local.get $i - i32.const 1 + local.get $ptr + f64.load $0 + local.set $a|7 + local.get $ptr + f64.load $0 offset=8 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + f64.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + f64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $i - br $for-loop|0 + global.set $~lib/memory/__stack_pointer + return end - end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) + local.get $ptr + i32.const 0 + local.get $len i32.const 1 - else - local.get $sourceLen - local.get $offset|5 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + global.set $~lib/memory/__stack_pointer + return end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + block $~lib/util/sort/log2u|inlined.0 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.0 end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + i32.const 2 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 0 + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 - i32.eq - drop + local.set $leftRunEndBuf i32.const 0 local.set $i - loop $for-loop|0 + loop $for-loop|1 local.get $i - local.get $sourceLen - i32.lt_s + local.get $lgPlus2 + i32.lt_u if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + local.get $leftRunStartBuf local.get $i - i32.const 1 + i32.const 2 i32.shl i32.add - i32.load16_s $0 - local.set $value - i32.const 1 - drop - i32.const 0 - drop - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $ptr - local.get $value - i32.const 31 - i32.shr_s i32.const -1 - i32.xor - i32.const 255 - local.get $value - i32.sub - i32.const 31 - i32.shr_s - local.get $value - i32.or - i32.and - i32.store8 $0 + i32.store $0 local.get $i i32.const 1 i32.add local.set $i - br $for-loop|0 + br $for-loop|1 end end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + i32.const 3 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 i32.lt_s - if (result i32) + if + local.get $hi + local.tee $20 + i32.const 32 i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.eqz - drop + local.set $top i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi i32.lt_s if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 1 - drop - i32.const 0 - drop - i32.const 1 - i32.eqz - drop + local.get $endA i32.const 1 - i32.const 4 - i32.le_u - drop + i32.add + local.set $startB local.get $ptr - local.get $value - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $value + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB i32.sub - i32.const 31 - i32.shr_s - local.get $value - i32.or - i32.and - i32.store8 $0 - local.get $i i32.const 1 i32.add - local.set $i - br $for-loop|0 + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 end end - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i + local.get $leftRunStartBuf + local.get $i|32 i32.const 2 i32.shl i32.add i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store16 $0 - local.get $i + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.sub + local.set $i|32 + br $for-loop|4 end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/typedarray/Float64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Int16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - i32.load16_s $0 + global.set $~lib/memory/__stack_pointer + local.get $2 return ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + 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 672 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float64Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - i32.load16_s $0 - return + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Float64Array#__get (type $i32_i32_=>_f64) (param $this i32) (param $index 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1446 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 + local.get $index + i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + f64.load $0 + 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/typedarray/Uint8ClampedArray#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_s - else - i32.const 0 - end - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 320 + i32.const 45 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + local.get $value + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $value + i32.sub + i32.const 31 + i32.shr_s + local.get $value + i32.or + i32.and + i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 309 + i32.const 45 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl + local.get $index i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 3 - i32.eq - drop + i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Int8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 36 + i32.const 45 + call $~lib/builtins/abort + unreachable end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + local.get $value + i32.store8 $0 + 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> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) + (func $~lib/typedarray/Int8Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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#get:length (type $i32_=>_i32) (param $this 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 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 25 + i32.const 45 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 + local.get $index + i32.add + i32.load8_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u + if + i32.const 336 + i32.const 736 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 0 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 + i32.load8_s $0 + local.set $value i32.const 0 - i32.eq drop + local.get $value + 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 $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $i i32) + (local $len 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 $0 + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 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 i32.const 0 local.set $i + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.set $len loop $for-loop|0 local.get $i - local.get $sourceLen + local.get $len i32.lt_s if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_s - else - i32.const 0 - end - i32.store16 $0 + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/typedarray/Int8Array#__get + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $i + call $~lib/array/Array#__get + i32.ne + if + i32.const 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 local.get $i i32.const 1 i32.add @@ -25875,90 +17367,409 @@ br $for-loop|0 end end + i32.const 1 + 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/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $~lib/typedarray/Int8Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 + 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 $start + end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end + end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/typedarray/Int8Array#fill + 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/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $~lib/typedarray/Int32Array#fill (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 $0 + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $value + local.get $start + local.get $end + call $~lib/util/bytes/FILL + local.get $this + 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#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $value 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 $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:length_ + i32.ge_u if i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 736 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 1 + i32.load $0 + local.set $value i32.const 0 - i32.eq drop + local.get $value + 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 $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) + (local $i i32) + (local $len 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 $0 + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/array/Array#get:length + i32.ne + if + i32.const 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 i32.const 0 local.set $i + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.set $len loop $for-loop|0 local.get $i - local.get $sourceLen + local.get $len i32.lt_s if - local.get $targetStart + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + call $~lib/typedarray/Int32Array#__get + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store16 $0 + call $~lib/array/Array#__get + i32.ne + if + i32.const 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 local.get $i i32.const 1 i32.add @@ -25966,15393 +17777,45277 @@ br $for-loop|0 end end - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 i32.const 1 - i32.shl + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 1 - i32.shl - memory.copy $0 $0 + global.set $~lib/memory/__stack_pointer + local.get $4 + return ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $value i32) (param $start i32) (param $end 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop + i32.store $0 + 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 - drop - local.get $ptr - local.get $value - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.set $start end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end end - ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $value + local.get $start + local.get $end + call $~lib/typedarray/Int32Array#fill + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 2 - i32.eq - drop + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $start i32) + (local $end|5 i32) + (local $len 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 $slice i32) + (local $18 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen + i32.store $0 offset=8 + block $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $start + local.get $end + local.set $end|5 + local.get $array + local.set $18 + global.get $~lib/memory/__stack_pointer + local.get $18 + i32.store $0 offset=4 + local.get $18 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $start + i32.const 0 i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl + if (result i32) + local.get $start + local.get $len i32.add - i32.load $0 - local.set $value - i32.const 0 - drop + local.tee $7 i32.const 0 - drop - local.get $ptr - local.get $value - i32.store16 $0 - local.get $i - i32.const 1 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $start + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $start + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $end|5 + local.get $len i32.add - local.set $i - br $for-loop|0 + local.tee $11 + i32.const 0 + local.tee $12 + local.get $11 + local.get $12 + i32.gt_s + select + else + local.get $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select end + local.set $end|5 + local.get $end|5 + local.get $start + i32.sub + local.tee $15 + i32.const 0 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $len + call $~lib/typedarray/Int32Array#constructor + local.tee $slice + i32.store $0 offset=8 + local.get $slice + local.set $18 + global.get $~lib/memory/__stack_pointer + local.get $18 + i32.store $0 offset=4 + local.get $18 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $array + local.set $18 + global.get $~lib/memory/__stack_pointer + local.get $18 + i32.store $0 offset=4 + local.get $18 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $start + i32.const 2 + i32.shl + i32.add + local.get $len + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $slice + br $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 end - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Uint16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 1 - i32.shl + local.set $18 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - i32.load16_u $0 + global.set $~lib/memory/__stack_pointer + local.get $18 return ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop + (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_u - else - i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + br_table $0of2 $1of2 $2of2 $outOfRange + end + unreachable end - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.const 0 + local.set $begin end + global.get $~lib/builtins/i32.MAX_VALUE + local.set $end end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $begin + local.get $end + call $~lib/typedarray/Int32Array#slice + 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/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) + (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end i32) (result i32) + (local $array i32) + (local $target|5 i32) + (local $start|6 i32) + (local $end|7 i32) + (local $len i32) (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $to i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $from i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $last i32) + (local $27 i32) + (local $28 i32) + (local $count i32) + (local $30 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 3 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen + local.set $target|5 + local.get $start + local.set $start|6 + local.get $end + local.set $end|7 + local.get $array + local.set $30 + global.get $~lib/memory/__stack_pointer + local.get $30 + i32.store $0 offset=4 + local.get $30 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $array + local.set $30 + global.get $~lib/memory/__stack_pointer + local.get $30 + i32.store $0 offset=4 + local.get $30 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $end|7 + local.tee $10 + local.get $len + local.tee $11 + local.get $10 + local.get $11 i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl + select + local.set $end|7 + local.get $target|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $target|5 i32.add - i64.load $0 - local.set $value + local.tee $12 i32.const 0 - drop + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + else + local.get $target|5 + local.tee $14 + local.get $len + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + end + local.set $to + local.get $start|6 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $start|6 + i32.add + local.tee $17 i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store16 $0 - local.get $i - i32.const 1 + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + else + local.get $start|6 + local.tee $19 + local.get $len + local.tee $20 + local.get $19 + local.get $20 + i32.lt_s + select + end + local.set $from + local.get $end|7 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|7 i32.add - local.set $i - br $for-loop|0 + local.tee $22 + i32.const 0 + local.tee $23 + local.get $22 + local.get $23 + i32.gt_s + select + else + local.get $end|7 + local.tee $24 + local.get $len + local.tee $25 + local.get $24 + local.get $25 + i32.lt_s + select end + local.set $last + local.get $last + local.get $from + i32.sub + local.tee $27 + local.get $len + local.get $to + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $count + local.get $ptr + local.get $to + i32.const 2 + i32.shl + i32.add + local.get $ptr + local.get $from + i32.const 2 + i32.shl + i32.add + local.get $count + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $array + br $~lib/typedarray/COPY_WITHIN<~lib/typedarray/Int32Array,i32>|inlined.0 end + local.set $30 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $30 + return ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_i32_=>_i32) (param $this i32) (param $target i32) (param $start i32) (param $end 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.store $0 + 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 $end end + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl + local.get $start + local.get $end + call $~lib/typedarray/Int32Array#copyWithin + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Int8Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_u - else + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int8Array,i8,i8>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 1 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq - drop + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 i32.const 1 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1872 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint16Array#get:length - i32.gt_s - end + call $~lib/typedarray/Int8Array#reduce + local.set $result + local.get $result + i32.extend8_s + i32.const 6 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 1 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 178 + i32.const 45 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 2 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Int32Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index - i32.const 2 - i32.shl i32.add - i32.load $0 - return - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl + local.get $value + i32.store8 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.load $0 - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) + (func $~lib/typedarray/Uint8Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_s - else + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 3 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1904 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end + call $~lib/typedarray/Uint8Array#reduce + local.set $result + local.get $result + i32.const 255 + i32.and + i32.const 6 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_s - else + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1936 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#reduce + local.set $result + local.get $result + i32.const 255 + i32.and + i32.const 6 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 323 + 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#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Int16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 463 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 + local.get $index + i32.const 1 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 + local.get $value + i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1968 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 + call $~lib/typedarray/Int16Array#reduce + local.set $result + local.get $result + i32.extend16_s + i32.const 6 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 323 + 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/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Uint16Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 605 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 2 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Uint32Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index - i32.const 2 + i32.const 1 i32.shl i32.add - i32.load $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + local.get $value + i32.store16 $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 2 - i32.shl + (func $~lib/typedarray/Uint16Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - i32.load $0 + global.set $~lib/memory/__stack_pointer + local.get $9 return ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2000 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 + call $~lib/typedarray/Uint16Array#reduce + local.set $result + local.get $result + i32.const 65535 + i32.and + i32.const 6 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - local.get $value - i32.trunc_sat_f32_u - else - i32.const 0 - end - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 2 - i32.const 3 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.wrap_i64 - i32.store $0 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int32Array,i32,i32>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2032 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int32Array#reduce + local.set $result + local.get $result + i32.const 6 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i32) - local.get $value - i32.trunc_sat_f64_u - else - i32.const 0 - end - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Uint32Array#__set (type $i32_i32_i32_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 889 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 2 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + local.get $value + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) + (func $~lib/typedarray/Uint32Array#reduce (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 2 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint32Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2064 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 + call $~lib/typedarray/Uint32Array#reduce + local.set $result + local.get $result + i32.const 6 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 323 + 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/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Int64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1031 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Int64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index i32.const 3 i32.shl i32.add - i64.load $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + local.get $value + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i64.load $0 - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) + (func $~lib/typedarray/Int64Array#reduce (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i64) (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + local.set $k + loop $for-loop|0 local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $value - i64.trunc_sat_f32_s - else - i64.const 0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Int64Array,i64,i64>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $array i32) + (local $result 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 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2096 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i64.const 0 + call $~lib/typedarray/Int64Array#reduce + local.set $result + local.get $result + i64.const 6 + i64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 3 - i32.shl - memory.copy $0 $0 + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1173 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart + local.get $value + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#reduce (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i64) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $value - i64.trunc_sat_f64_s - else - i64.const 0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $array i32) + (local $result 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 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_u - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2128 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduce + local.set $result + local.get $result + i64.const 6 + i64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $this i32) (param $index i32) (param $value 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.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Int64Array#get:length - i32.gt_s - end + i32.store $0 + local.get $index + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1315 + i32.const 64 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 + local.get $index + i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 + local.get $value + f32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#reduce (type $i32_i32_f32_=>_f32) (param $this i32) (param $fn i32) (param $initialValue f32) (result f32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 f32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float32Array,f32,f32>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $array i32) + (local $result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2160 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + f32.const 0 + call $~lib/typedarray/Float32Array#reduce + local.set $result + local.get $result + f32.const 6 + f32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#reduce (type $i32_i32_f64_=>_f64) (param $this i32) (param $fn i32) (param $initialValue f64) (result f64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 f64) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 + local.get $k + i32.lt_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=12 + local.get $9 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE<~lib/typedarray/Float64Array,f64,f64>|inlined.0 end - ) - (func $~lib/array/Array#get:length_ (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=12 - ) - (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - call $~lib/array/Array#get:length_ - return - ) - (func $~lib/typedarray/Uint64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 3 - i32.shl - i32.add - i64.load $0 - return - ) - (func $~lib/array/Array#get:dataStart (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index - i32.const 3 - i32.shl + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - i64.load $0 + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $array i32) + (local $result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2192 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + f64.const 0 + call $~lib/typedarray/Float64Array#reduce + local.set $result + local.get $result + f64.const 6 + f64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 323 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i64) - local.get $value - i64.trunc_sat_f32_u - else - i64.const 0 - end - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) + (func $~lib/typedarray/Int8Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 48 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + local.get $index i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + i32.load8_s $0 + 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 $std/typedarray/testAt<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen i32.const 3 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Int8Array#at i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - local.get $value - local.get $value - f64.sub - f64.const 0 - f64.eq - if (result i64) - local.get $value - i64.trunc_sat_f64_u - else - i64.const 0 - end - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 - i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -3 + call $~lib/typedarray/Int8Array#at + i32.const 1 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_u - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Uint8Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 190 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl + local.get $index i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 3 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.load8_u $0 + 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/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testAt<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint64Array#get:length - i32.gt_s - end + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Uint8Array#at i32.const 3 - i32.const 0 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - i64.extend_i32_s - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Uint8ClampedArray#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 332 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl + local.get $index i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + i32.load8_u $0 + 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 $std/typedarray/testAt<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 1 - i32.eq - drop + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f32.convert_i32_s - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + call $~lib/typedarray/Uint8ClampedArray#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 - ) - (func $~lib/typedarray/Float32Array#__uget (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $index - i32.const 2 - i32.shl + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Uint8ClampedArray#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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 i32.add - f32.load $0 - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/array/Array#__uget (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (func $~lib/typedarray/Int16Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - call $~lib/array/Array#get:dataStart + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $len local.get $index - i32.const 2 - i32.shl - i32.add - f32.load $0 - return - ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 475 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 + local.get $index + i32.const 1 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.eqz - drop - local.get $targetStart - local.get $sourceStart - local.get $sourceLen - i32.const 2 - i32.shl - memory.copy $0 $0 + i32.load16_s $0 + 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/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testAt<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Int16Array#at + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -3 + call $~lib/typedarray/Int16Array#at i32.const 1 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f32.convert_i64_s - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Uint16Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 617 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 + local.get $index + i32.const 1 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f32.convert_i32_u - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i32.load16_u $0 + 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/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + (func $std/typedarray/testAt<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Uint16Array#at + i32.const 3 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 2 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -3 + call $~lib/typedarray/Uint16Array#at i32.const 1 i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f32.convert_i32_s - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Int32Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float32Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 759 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + i32.load $0 + 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 $std/typedarray/testAt<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 i32.const 1 - i32.eq - drop + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 2 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f32.convert_i32_s - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Uint32Array#at (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $len 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 901 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f64.convert_i32_s - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Float64Array#__uget (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart local.get $index - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 + i32.load $0 + 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#__uget (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) - local.get $this - call $~lib/array/Array#get:dataStart - local.get $index + (func $std/typedarray/testAt<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 3 - i32.shl + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint32Array#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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 i32.add - f64.load $0 - return + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) + (func $~lib/typedarray/Int64Array#at (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $len i32) + (local $3 i32) + (local $4 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1043 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart + i64.load $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 + ) + (func $std/typedarray/testAt<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 2 - i32.eq - drop + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 0 - drop - i32.const 1 - i32.eqz - drop - local.get $ptr - local.get $value - f64.promote_f32 - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i64) + (func $~lib/typedarray/Uint64Array#at (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $len i32) + (local $3 i32) + (local $4 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int64Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1185 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + i64.load $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 + ) + (func $std/typedarray/testAt<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 1 - i32.eq - drop + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f64.convert_i64_s - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint8Array#get:length - local.set $sourceLen - local.get $offset|5 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s + call $~lib/typedarray/Uint64Array#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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Uint64Array#at + i64.const 3 + i64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f64.convert_i32_u - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Float32Array#at (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $len i32) + (local $3 i32) + (local $4 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int16Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1327 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 3 + local.get $index + i32.const 2 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + f32.load $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 + ) + (func $std/typedarray/testAt<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 - i32.eq - drop + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f64.convert_i32_s - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + 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/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) + (func $~lib/typedarray/Float64Array#at (type $i32_i32_=>_f64) (param $this i32) (param $index i32) (result f64) + (local $len i32) + (local $3 i32) + (local $4 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 $0 local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + local.set $len + local.get $index i32.const 0 - drop - local.get $source|4 - call $~lib/array/Array#get:length - local.set $sourceLen - local.get $offset|5 + local.get $len + local.get $index i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Float64Array#get:length - i32.gt_s - end + i32.ge_s + select + i32.add + local.set $index + local.get $index + local.get $len + i32.ge_u if i32.const 336 i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 1469 + i32.const 33 call $~lib/builtins/abort unreachable end - local.get $target + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + local.get $index i32.const 3 i32.shl i32.add - local.set $targetStart - local.get $source|4 - call $~lib/array/Array#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 1 - i32.eq - drop + f64.load $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 + ) + (func $std/typedarray/testAt<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 3 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - i32.const 0 - drop - i32.const 0 - drop - local.get $ptr - local.get $value - f64.convert_i32_s - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value f32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Float32Array#get:length - local.set $sourceLen - local.get $offset|5 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 344 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + call $~lib/typedarray/Float64Array#at + f64.const 3 + f64.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 345 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 8 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 1 - i32.const 0 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - i32.const 1 - drop - i32.const 1 - drop - local.get $ptr - local.get $value - local.get $value - f32.sub - f32.const 0 - f32.eq - if (result i32) - f32.const 0 - f32.const 255 - local.get $value - f32.min - f32.max - i32.trunc_sat_f32_u - else + i32.ge_s + if + local.get $initialValue|5 + local.get $ptr + local.get $i i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 end - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int8Array,i8,i8>|inlined.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 + return ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Int32Array#get:length - local.set $sourceLen - local.get $offset|5 + (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end - if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 1 - drop - i32.const 0 - drop - i32.const 1 - i32.eqz - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $ptr - local.get $value - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.const 255 - local.get $value - i32.sub - i32.const 31 - i32.shr_s - local.get $value - i32.or - i32.and - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) - (local $target i32) - (local $source|4 i32) - (local $offset|5 i32) - (local $sourceLen i32) - (local $targetStart i32) - (local $sourceStart i32) - (local $i i32) - (local $ptr i32) - (local $value i32) - (local $12 i32) - (local $13 i32) - local.get $this - local.set $target - local.get $source - local.set $source|4 - local.get $offset - local.set $offset|5 - i32.const 0 - drop - local.get $source|4 - call $~lib/typedarray/Uint32Array#get:length - local.set $sourceLen - local.get $offset|5 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2224 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $sourceLen - local.get $offset|5 - i32.add - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - i32.gt_s - end + call $~lib/typedarray/Int8Array#reduceRight + local.set $result + local.get $result + i32.extend8_s + i32.const 6 + i32.eq + i32.eqz if - i32.const 336 - i32.const 608 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 544 + i32.const 367 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $target - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $offset|5 - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $targetStart - local.get $source|4 - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $sourceStart - i32.const 0 - i32.const 2 - i32.eq - drop - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $sourceLen - i32.lt_s - if - local.get $targetStart - local.get $i - i32.const 0 - i32.shl - i32.add - local.set $ptr - local.get $sourceStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - i32.const 1 - drop - i32.const 0 - drop - i32.const 0 - i32.eqz - drop - local.get $ptr - i32.const 255 - local.tee $12 - local.get $value - local.tee $13 - local.get $12 - local.get $13 - i32.lt_u - select - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) + (func $~lib/typedarray/Uint8Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and + (local $8 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.get $presorted - i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $a - local.get $ptr + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Uint8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_s $0 offset=1 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s + i32.ge_s if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 offset=2 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $max - i32.store8 $0 offset=2 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 offset=1 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $min - i32.store8 $0 offset=1 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq - if - local.get $i - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 offset=1 + local.get $initialValue|5 local.get $ptr - local.get $j + local.get $i i32.const 0 i32.shl i32.add - i32.load8_s $0 - i32.const 2 + i32.load8_u $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 global.set $~argumentsLength - local.get $comparator + local.get $fn|4 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.set $j - br $while-continue|0 + i32.sub + local.set $i + br $for-loop|0 end end - local.get $j - local.set $k - loop $while-continue|1 + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8Array,u8,u8>|inlined.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 + return + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2256 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#reduceRight + local.set $result + local.get $result + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + i32.const 0 + i32.ge_s if + local.get $initialValue|5 local.get $ptr local.get $i i32.const 0 i32.shl i32.add - i32.load8_s $0 - local.set $tmp - local.get $ptr + i32.load8_u $0 local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - i32.store8 $0 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 local.get $i i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 0 - i32.shl - i32.add - local.get $tmp - i32.store8 $0 - local.get $k - i32.const 1 i32.sub - local.set $k - br $while-continue|1 + local.set $i + br $for-loop|0 end end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 offset=1 + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint8ClampedArray,u8,u8>|inlined.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 + return + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2288 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#reduceRight + local.set $result + local.get $result + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 local.get $ptr - local.get $j - i32.const 0 + local.get $i + i32.const 1 i32.shl i32.add - i32.load8_s $0 - i32.const 2 + i32.load16_s $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 global.set $~argumentsLength - local.get $comparator + local.get $fn|4 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.set $j - br $while-continue|2 + i32.sub + local.set $i + br $for-loop|0 end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int16Array,i16,i16>|inlined.0 end - local.get $j + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $array i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - i32.store8 $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 offset=1 - i32.store8 $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2320 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#reduceRight + local.set $result + local.get $result + i32.extend16_s + 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 - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $a - local.get $buffer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Uint16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s + i32.ge_s if + local.get $initialValue|5 local.get $ptr - local.get $k - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 - local.get $j + local.get $i i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 0 i32.shl i32.add - local.get $b - i32.store8 $0 + i32.load16_u $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 local.get $i i32.const 1 - i32.add + i32.sub local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint16Array,u16,u16>|inlined.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 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load8_s $0 - local.set $a - local.get $ptr - i32.load8_s $0 offset=1 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store8 $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load8_s $0 offset=2 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store8 $0 offset=1 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store8 $0 offset=2 - end - local.get $ptr - i32.load8_s $0 - local.set $a|7 - local.get $ptr - i32.load8_s $0 offset=1 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store8 $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store8 $0 offset=1 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.1 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.1 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $array i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2352 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint16Array#reduceRight + local.set $result + local.get $result + i32.const 65535 + i32.and + i32.const 6 + i32.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne + i32.ge_s if + local.get $initialValue|5 local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 + local.get $i i32.const 2 i32.shl i32.add i32.load $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + i32.sub + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int32Array,i32,i32>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Int8Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int8Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - i32.extend8_s - local.get $b - i32.extend8_s + (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $array i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - i32.extend8_s - local.get $a - i32.extend8_s - i32.gt_s - local.get $b - i32.extend8_s - local.get $a - i32.extend8_s - i32.lt_s - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2384 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 i32.const 0 + call $~lib/typedarray/Int32Array#reduceRight + local.set $result + local.get $result + i32.const 6 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $a - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 offset=1 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 offset=2 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $max - i32.store8 $0 offset=2 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 offset=1 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - local.get $min - i32.store8 $0 offset=1 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 0 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - i32.load8_u $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 offset=1 - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#reduceRight (type $i32_i32_i32_=>_i32) (param $this i32) (param $fn i32) (param $initialValue i32) (result i32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Uint32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i - local.get $k - i32.lt_s + i32.const 0 + i32.ge_s if + local.get $initialValue|5 local.get $ptr local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 0 + i32.const 2 i32.shl i32.add - i32.load8_u $0 - i32.store8 $0 + i32.load $0 local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 0 - i32.shl - i32.add - local.get $tmp - i32.store8 $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 offset=1 - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - i32.const 2 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 global.set $~argumentsLength - local.get $comparator + local.get $fn|4 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.set $j - br $while-continue|2 + i32.sub + local.set $i + br $for-loop|0 end end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint32Array,u32,u32>|inlined.0 end - local.get $j + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $8 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $array i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - i32.store8 $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end - end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 offset=1 - i32.store8 $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2416 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#reduceRight + local.set $result + local.get $result + 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 - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $a - local.get $buffer + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#reduceRight (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i64) + (local $ptr i32) + (local $i i32) + (local $8 i32) + (local $9 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 local.get $i i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s + i32.ge_s if + local.get $initialValue|5 local.get $ptr - local.get $k - i32.const 0 - i32.shl - i32.add - local.get $a - i32.store8 $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 0 + local.get $i + i32.const 3 i32.shl i32.add - local.get $b - i32.store8 $0 + i64.load $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 local.get $i i32.const 1 - i32.add + i32.sub local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Int64Array,i64,i64>|inlined.0 end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $array i32) + (local $result 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 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2448 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i64.const 0 + call $~lib/typedarray/Int64Array#reduceRight + local.set $result + local.get $result + i64.const 6 + i64.eq + i32.eqz if - local.get $len - i32.const 1 - i32.le_s - if - return - end 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 (type $i32_i32_i64_=>_i64) (param $this i32) (param $fn i32) (param $initialValue i64) (result i64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 i64) + (local $ptr i32) + (local $i i32) + (local $8 i32) + (local $9 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 (result i64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Uint64Array#get:length i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load8_u $0 - local.set $a - local.get $ptr - i32.load8_u $0 offset=1 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store8 $0 - local.get $a - local.get $b - local.get $c - select - local.set $a + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 local.get $ptr - i32.load8_u $0 offset=2 - local.set $b - local.get $a - local.get $b - i32.const 2 + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 global.set $~argumentsLength - local.get $comparator + local.get $fn|4 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store8 $0 offset=1 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store8 $0 offset=2 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $initialValue|5 + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 end - local.get $ptr - i32.load8_u $0 - local.set $a|7 - local.get $ptr - i32.load8_u $0 offset=1 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store8 $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store8 $0 offset=1 - return end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.2 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.2 + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Uint64Array,u64,u64>|inlined.0 end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - local.set $leftRunEndBuf + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $array i32) + (local $result 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 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2480 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + i64.const 0 + call $~lib/typedarray/Uint64Array#reduceRight + local.set $result + local.get $result + i64.const 6 + i64.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 367 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#reduceRight (type $i32_i32_f32_=>_f32) (param $this i32) (param $fn i32) (param $initialValue f32) (result f32) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 f32) + (local $ptr i32) + (local $i i32) + (local $8 i32) + (local $9 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 (result f32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Float32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne + i32.ge_s if + local.get $initialValue|5 local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 + local.get $i i32.const 2 i32.shl i32.add + f32.load $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 + global.set $~argumentsLength + local.get $fn|4 i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + i32.sub + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float32Array,f32,f32>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Uint8Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint8Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - i32.const 255 - i32.and - local.get $b - i32.const 255 - i32.and - i32.gt_u - local.get $a - i32.const 255 - i32.and - local.get $b - i32.const 255 - i32.and - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - i32.const 255 - i32.and - local.get $a - i32.const 255 - i32.and - i32.gt_u - local.get $b - i32.const 255 - i32.and - local.get $a - i32.const 255 - i32.and - i32.lt_u - i32.sub - ) - (func $~lib/typedarray/Uint8ClampedArray#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint8ClampedArray#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|1 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - i32.const 255 - i32.and - local.get $b - i32.const 255 - i32.and - i32.gt_u - local.get $a - i32.const 255 - i32.and - local.get $b - i32.const 255 - i32.and - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - i32.const 255 - i32.and - local.get $a - i32.const 255 - i32.and - i32.gt_u - local.get $b - i32.const 255 - i32.and - local.get $a - i32.const 255 - i32.and - i32.lt_u + (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $array i32) + (local $result f32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $a - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 offset=2 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $a - i32.store16 $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $max - i32.store16 $0 offset=4 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $a - i32.store16 $0 offset=2 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $min - i32.store16 $0 offset=2 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq - if - local.get $i - return - end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.shl - i32.add - i32.load16_s $0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2512 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + f32.const 0 + call $~lib/typedarray/Float32Array#reduceRight + local.set $result + local.get $result + f32.const 6 + f32.eq + i32.eqz if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 offset=2 + 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/Float64Array#reduceRight (type $i32_i32_f64_=>_f64) (param $this i32) (param $fn i32) (param $initialValue f64) (result f64) + (local $array i32) + (local $fn|4 i32) + (local $initialValue|5 f64) + (local $ptr i32) + (local $i i32) + (local $8 i32) + (local $9 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 (result f64) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|4 + i32.store $0 offset=4 + local.get $initialValue + local.set $initialValue|5 + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Float64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $initialValue|5 local.get $ptr - local.get $j - i32.const 1 + local.get $i + i32.const 3 i32.shl i32.add - i32.load16_s $0 - i32.const 2 + f64.load $0 + local.get $i + local.get $array + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=12 + local.get $8 + i32.const 4 global.set $~argumentsLength - local.get $comparator + local.get $fn|4 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $initialValue|5 + local.get $i i32.const 1 - i32.add - local.set $j - br $while-continue|0 + i32.sub + local.set $i + br $for-loop|0 end end - local.get $j - local.set $k - loop $while-continue|1 + local.get $initialValue|5 + br $~lib/typedarray/REDUCE_RIGHT<~lib/typedarray/Float64Array,f64,f64>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $std/typedarray/testReduceRight<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $array i32) + (local $result 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2544 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + f64.const 0 + call $~lib/typedarray/Float64Array#reduceRight + local.set $result + local.get $result + f64.const 6 + f64.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/Int8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr + local.get $buf local.get $i - i32.const 1 + i32.const 0 i32.shl i32.add - i32.load16_s $0 - local.set $tmp local.get $ptr local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 1 + i32.const 0 i32.shl i32.add - i32.load16_s $0 - i32.store16 $0 + i32.load8_s $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i - local.get $ptr - local.get $k - i32.const 1 - i32.shl - i32.add - local.get $tmp - i32.store16 $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 offset=2 - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + br $for-loop|0 end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 end - local.get $j + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - i32.store16 $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2576 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int8Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 offset=2 - i32.store16 $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 9 + i32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 + local.get $len i32.lt_s if - local.get $ptr - local.get $k - i32.const 1 + local.get $buf + local.get $i + i32.const 0 i32.shl i32.add - local.get $a - i32.store16 $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else local.get $ptr - local.get $k - i32.const 1 + local.get $i + i32.const 0 i32.shl i32.add - local.get $b - i32.store16 $0 + i32.load8_u $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.ge_u if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load16_s $0 - local.set $a - local.get $ptr - i32.load16_s $0 offset=2 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store16 $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load16_s $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store16 $0 offset=2 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store16 $0 offset=4 - end - local.get $ptr - i32.load16_s $0 - local.set $a|7 - local.get $ptr - i32.load16_s $0 offset=2 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store16 $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store16 $0 offset=2 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.3 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.3 + i32.const 336 + i32.const 608 + i32.const 167 + i32.const 45 + call $~lib/builtins/abort + unreachable end - i32.const 2 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $leftRunEndBuf + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2608 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + call $~lib/typedarray/Uint8Array#__get i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + i32.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 9 + i32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + local.get $buf + local.get $i + i32.const 0 + i32.shl i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 + local.get $i + i32.const 0 i32.shl i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Int16Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int16Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - i32.extend16_s - local.get $b - i32.extend16_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - i32.extend16_s - local.get $a - i32.extend16_s - i32.gt_s - local.get $b - i32.extend16_s - local.get $a - i32.extend16_s - i32.lt_s + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2640 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.and - i32.sub - local.get $presorted - i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 4 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $a - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $a - i32.store16 $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $max - i32.store16 $0 offset=4 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $a - i32.store16 $0 offset=2 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - local.get $min - i32.store16 $0 offset=2 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 9 i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j - i32.const 1 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add - i32.load16_u $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr + local.get $buf local.get $i i32.const 1 i32.shl i32.add - i32.load16_u $0 - local.set $tmp local.get $ptr local.get $i i32.const 1 i32.shl i32.add - local.get $ptr - local.get $k - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 + i32.load16_s $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 local.get $i i32.const 1 i32.add local.set $i - local.get $ptr - local.get $k - i32.const 1 - i32.shl - i32.add - local.get $tmp - i32.store16 $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + br $for-loop|0 end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 end - local.get $j + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 452 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index i32.const 1 + i32.shl i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.store16 $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + i32.load16_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2672 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int16Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - i32.store16 $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 9 + i32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 + local.get $len i32.lt_s if - local.get $ptr - local.get $k + local.get $buf + local.get $i i32.const 1 i32.shl i32.add - local.get $a - i32.store16 $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else local.get $ptr - local.get $k + local.get $i i32.const 1 i32.shl i32.add - local.get $b + i32.load16_u $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) i32.store16 $0 local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $~lib/typedarray/Uint16Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 + i32.shr_u + i32.ge_u if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load16_u $0 - local.set $a - local.get $ptr - i32.load16_u $0 offset=2 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store16 $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load16_u $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store16 $0 offset=2 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store16 $0 offset=4 - end - local.get $ptr - i32.load16_u $0 - local.set $a|7 - local.get $ptr - i32.load16_u $0 offset=2 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store16 $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store16 $0 offset=2 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.4 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.4 + i32.const 336 + i32.const 608 + i32.const 594 + i32.const 64 + call $~lib/builtins/abort + unreachable end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index i32.const 1 i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size i32.add - local.set $leftRunEndBuf + i32.load16_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2704 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint16Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + call $~lib/typedarray/Uint16Array#__get i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + i32.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 9 + i32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + local.get $buf + local.get $i + i32.const 2 + i32.shl i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 - end + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Uint16Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint16Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - i32.const 65535 - i32.and - local.get $b - i32.const 65535 - i32.and - i32.gt_u - local.get $a - i32.const 65535 - i32.and - local.get $b - i32.const 65535 - i32.and - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - i32.const 65535 - i32.and - local.get $a - i32.const 65535 - i32.and - i32.gt_u - local.get $b - i32.const 65535 - i32.and - local.get $a - i32.const 65535 - i32.and - i32.lt_u + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2736 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int32Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 1 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 4 i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $ptr - local.get $j - i32.const 1 - i32.add - local.tee $j + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.shl + call $~lib/typedarray/Int32Array#__get + i32.const 9 + i32.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 16 i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s - if (result i32) - local.get $ptr - local.get $j + if + local.get $buf + local.get $i i32.const 2 i32.shl i32.add - i32.load $0 offset=4 local.get $ptr - local.get $j + local.get $i i32.const 2 i32.shl i32.add i32.load $0 - i32.const 2 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 - local.get $i - local.get $k - i32.lt_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $tmp - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $i i32.const 1 i32.add local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + br $for-loop|0 end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 end - local.get $j + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $~lib/typedarray/Uint32Array#__get (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $m - local.get $r - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 878 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl i32.add - local.set $t - local.get $m - i32.const 1 + i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2768 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint32Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 4 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 9 + i32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 + local.get $len i32.lt_s if - local.get $ptr - local.get $k - i32.const 2 + local.get $buf + local.get $i + i32.const 3 i32.shl i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else local.get $ptr - local.get $k - i32.const 2 + local.get $i + i32.const 3 i32.shl i32.add - local.get $b - i32.store $0 + i64.load $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 end + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + (func $~lib/typedarray/Int64Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load $0 - local.set $a - local.get $ptr - i32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 - end - local.get $ptr - i32.load $0 - local.set $a|7 - local.get $ptr - i32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.5 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.5 + i32.const 336 + i32.const 608 + i32.const 1020 + i32.const 64 + call $~lib/builtins/abort + unreachable end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size i32.add - local.set $leftRunEndBuf + i64.load $0 + 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 $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2800 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int64Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + local.get $buf + local.get $i + i32.const 3 + i32.shl i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/typedarray/Uint64Array#__get (type $i32_i32_=>_i64) (param $this i32) (param $index 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 $0 + local.get $index + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1162 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + 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 $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2832 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint64Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq + i32.eqz + if i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s if + local.get $buf + local.get $i + i32.const 2 + i32.shl + i32.add local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 + local.get $i i32.const 2 i32.shl i32.add + f32.load $0 + local.get $i + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_f32) + f32.store $0 + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return ) - (func $~lib/typedarray/Int32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $this i32) (param $index 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 $0 + local.get $index local.get $this - call $~lib/typedarray/Int32Array#get:length - local.get $comparator - call $~lib/util/sort/SORT + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 2 + i32.shr_u + i32.ge_u + if + i32.const 336 + i32.const 608 + i32.const 1304 + i32.const 64 + call $~lib/builtins/abort + unreachable + end local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + 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/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - local.get $a - i32.gt_s - local.get $b - local.get $a - i32.lt_s + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i32) - (local $b i32) - (local $min i32) - (local $max i32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - i32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - i32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i32) - local.get $i - local.get $right - i32.eq + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2864 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float32Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $ptr - local.get $j + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.tee $j + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.shl + 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 16 i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $ptr i32) + (local $byteLength i32) + (local $out i32) + (local $buf i32) + (local $i i32) + (local $10 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 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=8 + local.get $10 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $byteLength + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr + local.get $buf local.get $i - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $tmp local.get $ptr local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 + i32.const 3 i32.shl i32.add - i32.load $0 - i32.store $0 + f64.load $0 local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - i32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 2 + local.get $array + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 offset=20 + local.get $10 + i32.const 3 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $f64_i32_i32_=>_f64) + f64.store $0 + local.get $i i32.const 1 i32.add - local.set $j - br $while-continue|2 + local.set $i + br $for-loop|0 end end + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $buf + i32.store $0 offset=4 + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $j + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i32) - (local $b i32) - local.get $m - i32.const 1 + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2896 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float64Array#map + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $a - local.get $buffer - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - i32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $b - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i32) - (local $b i32) - (local $c i32) - (local $a|7 i32) - (local $b|8 i32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) + (func $~lib/typedarray/Int8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Int8Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer local.get $len - i32.const 1 - i32.le_s - if - return - end i32.const 0 + i32.shl i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i32.load $0 - local.set $a - local.get $ptr - i32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $i i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i32.store $0 offset=8 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end - local.get $ptr - i32.load $0 - local.set $a|7 - local.get $ptr - i32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i32.store $0 offset=4 - return end - local.get $ptr + local.get $j i32.const 0 - local.get $len - i32.const 1 - i32.sub + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.6 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.6 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.set $leftRunEndBuf + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2928 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int8Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.set $top + call $~lib/typedarray/Int8Array#__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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 0 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + local.get $dataStart + local.get $i + i32.const 0 + i32.shl i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u + i32.load8_u $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 i32.shl i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 + local.get $value + i32.store8 $0 end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $j + i32.const 0 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Uint32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint32Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $a - local.get $b - i32.gt_u - local.get $a - local.get $b - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_=>_i32) (param $a i32) (param $b i32) (result i32) - local.get $b - local.get $a - i32.gt_u - local.get $b - local.get $a - i32.lt_u + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i64) - (local $b i64) - (local $min i64) - (local $max i64) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2960 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - i64.store $0 offset=16 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $max - i64.store $0 offset=16 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - i64.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $min - i64.store $0 offset=8 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i64) - local.get $i - local.get $right + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + i32.const 3 i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $ptr - local.get $j + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.tee $j - i32.const 3 - i32.shl - i32.add - i64.load $0 + call $~lib/typedarray/Uint8Array#__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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.eq + i32.eqz if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + 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/Uint8ClampedArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 0 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr + local.get $dataStart local.get $i - i32.const 3 + i32.const 0 i32.shl i32.add - i64.load $0 - local.set $tmp - local.get $ptr + i32.load8_u $0 + local.set $value + local.get $value local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store $0 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 0 + i32.shl + i32.add + local.get $value + i32.store8 $0 + end local.get $i i32.const 1 i32.add local.set $i - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $tmp - i64.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|2 + br $for-loop|0 end end + local.get $j + i32.const 0 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - local.get $j + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i64) - (local $b i64) - local.get $m - i32.const 1 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2992 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - i64.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Int16Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 + local.get $len i32.lt_s if - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $a - i64.store $0 - local.get $j + local.get $dataStart + local.get $i i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 3 i32.shl i32.add - local.get $b - i64.store $0 + i32.load16_s $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 1 + i32.shl + i32.add + local.get $value + i32.store16 $0 + end local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end - end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i64) - (local $b i64) - (local $c i32) - (local $a|7 i64) - (local $b|8 i64) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if - local.get $len + local.get $j i32.const 1 - i32.le_s - if - return - end + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i64.load $0 - local.set $a - local.get $ptr - i64.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i64.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i64.load $0 offset=16 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i64.store $0 offset=8 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i64.store $0 offset=16 - end - local.get $ptr - i64.load $0 - local.set $a|7 - local.get $ptr - i64.load $0 offset=8 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i64.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i64.store $0 offset=8 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.7 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.7 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 end - i32.const 2 + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3024 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int16Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end + 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 $len + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int16Array#get:length i32.const 3 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + call $~lib/typedarray/Int16Array#__get + i32.const 4 + i32.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add + local.get $dataStart + local.get $i i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u + i32.shl + i32.add + i32.load16_u $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl + local.get $buf + local.get $j + local.tee $11 + i32.const 1 i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 + local.set $j + local.get $11 i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 + i32.shl + i32.add + local.get $value + i32.store16 $0 end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $j + i32.const 1 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Int64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Int64Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) - local.get $a - local.get $b - i64.gt_s - local.get $a - local.get $b - i64.lt_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) - local.get $b - local.get $a - i64.gt_s - local.get $b - local.get $a - i64.lt_s + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a i64) - (local $b i64) - (local $min i64) - (local $max i64) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.and - i32.sub - local.get $presorted + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3056 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint16Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - i64.store $0 offset=16 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $max - i64.store $0 offset=16 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $a - i64.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - local.get $min - i64.store $0 offset=8 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp i64) - local.get $i - local.get $right + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + i32.const 3 i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $ptr - local.get $j + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.tee $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s + call $~lib/typedarray/Uint16Array#__get + i32.const 4 + i32.eq + i32.eqz if - loop $while-continue|0 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j - i32.const 1 - i32.add - local.set $j - br $while-continue|0 - end - end - local.get $j - local.set $k - loop $while-continue|1 + i32.const 0 + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Int32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr + local.get $dataStart local.get $i - i32.const 3 + i32.const 2 i32.shl i32.add - i64.load $0 - local.set $tmp - local.get $ptr + i32.load $0 + local.set $value + local.get $value local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store $0 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + end local.get $i i32.const 1 i32.add local.set $i - local.get $ptr - local.get $k - i32.const 3 - i32.shl - i32.add - local.get $tmp - i64.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 + br $for-loop|0 end end - else - loop $while-continue|2 - local.get $j - local.get $right + local.get $j + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3088 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int32Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 3 + if + local.get $dataStart + local.get $i + i32.const 2 i32.shl i32.add - i64.load $0 offset=8 - local.get $ptr - local.get $j + i32.load $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 3 - i32.shl - i32.add - i64.load $0 - i32.const 2 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + i32.store $0 + end + local.get $i i32.const 1 i32.add - local.set $j - br $while-continue|2 + local.set $i + br $for-loop|0 end end - end - local.get $j - return - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a i64) - (local $b i64) - local.get $m - i32.const 1 - i32.sub - local.set $m - local.get $r - local.get $m + local.get $j + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.set $t - local.get $m + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3120 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint32Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - i64.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint32Array#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 $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint32Array#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i64) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Int64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 + local.get $len i32.lt_s if - local.get $ptr - local.get $k + local.get $dataStart + local.get $i i32.const 3 i32.shl i32.add - local.get $a - i64.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k + i64.load $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 3 - i32.shl - i32.add - local.get $b - i64.store $0 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $value + i64.store $0 + end local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 end + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) - (local $3 i32) - (local $a i64) - (local $b i64) - (local $c i32) - (local $a|7 i64) - (local $b|8 i64) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s - if - local.get $len - i32.const 1 - i32.le_s - if - return - end - i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - i64.load $0 - local.set $a - local.get $ptr - i64.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i64.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - i64.load $0 offset=16 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - i64.store $0 offset=8 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - i64.store $0 offset=16 - end - local.get $ptr - i64.load $0 - local.set $a|7 - local.get $ptr - i64.load $0 offset=8 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - i64.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - i64.store $0 offset=8 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return - end - block $~lib/util/sort/log2u|inlined.8 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.8 - end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size - i32.add - local.set $leftRunEndBuf + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3152 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int64Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end + 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 $len + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int64Array#get:length i32.const 3 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 - i32.sub - local.set $hi - local.get $ptr + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.eq + i32.eqz if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort + i32.const 544 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value i64) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 + local.get $dataStart + local.get $i + i32.const 3 + i32.shl i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u + i64.load $0 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 i32.shl i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 + local.get $value + i64.store $0 end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA - local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Uint64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Uint64Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 return ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) - local.get $a - local.get $b - i64.gt_u - local.get $a - local.get $b - i64.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_=>_i32) (param $a i64) (param $b i64) (result i32) - local.get $b - local.get $a - i64.gt_u - local.get $b - local.get $a - i64.lt_u + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $left i32) (param $right i32) (param $presorted i32) (param $comparator i32) - (local $range i32) - (local $i i32) - (local $a f32) - (local $b f32) - (local $min f32) - (local $max f32) - (local $j i32) + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 6 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.ge_s - drop - local.get $right - local.get $left - i32.sub - i32.const 1 - i32.add - local.set $range - local.get $left - local.get $range - i32.const 1 - i32.and - local.get $presorted - local.get $range - local.get $presorted - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $presorted + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3184 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint64Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 i32.eq - select - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $right - i32.le_s - if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $a - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - local.set $b - local.get $b - local.set $min - local.get $a - local.set $max - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $a - local.set $min - local.get $b - local.set $max - end - local.get $i - i32.const 1 - i32.sub - local.set $j - block $while-break|1 - loop $while-continue|1 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $a - local.get $a - local.get $max - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - f32.store $0 offset=8 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|1 - end - br $while-continue|1 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $max - f32.store $0 offset=8 - block $while-break|2 - loop $while-continue|2 - local.get $j - local.get $left - i32.ge_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $a - local.get $a - local.get $min - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - if - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $a - f32.store $0 offset=4 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - br $while-break|2 - end - br $while-continue|2 - end - end - end - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - local.get $min - f32.store $0 offset=4 - local.get $i - i32.const 2 - i32.add - local.set $i - br $for-loop|0 - end + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $ptr i32) (param $i i32) (param $right i32) (param $comparator i32) (result i32) - (local $j i32) - (local $k i32) - (local $tmp f32) - local.get $i - local.get $right + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + i32.const 3 i32.eq + i32.eqz if - local.get $i - return + i32.const 0 + i32.const 544 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $i - local.set $j - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $ptr - local.get $j + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint64Array#__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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.add - local.tee $j + 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.shl + 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 - f32.load $0 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value f32) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 i32.const 0 - i32.gt_s - if - loop $while-continue|0 - local.get $j - local.get $right + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Float32Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 2 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - local.get $ptr - local.get $j + if + local.get $dataStart + local.get $i i32.const 2 i32.shl i32.add f32.load $0 - i32.const 2 + local.set $value + local.get $value + local.get $i + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 2 + i32.shl + i32.add + local.get $value + f32.store $0 + end + local.get $i i32.const 1 i32.add - local.set $j - br $while-continue|0 + local.set $i + br $for-loop|0 end end local.get $j - local.set $k - loop $while-continue|1 + i32.const 2 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3216 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float32Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $len i32) + (local $out i32) + (local $buf i32) + (local $dataStart i32) + (local $j i32) + (local $i i32) + (local $value f64) + (local $11 i32) + (local $byteLength i32) + (local $data i32) + (local $14 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 + i32.const 0 + i32.const 24 + memory.fill $0 + block $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Float64Array#get:length + local.set $len + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $len + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buf + i32.store $0 offset=16 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + i32.const 0 + local.set $j + i32.const 0 + local.set $i + loop $for-loop|0 local.get $i - local.get $k + local.get $len i32.lt_s if - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $tmp - local.get $ptr + local.get $dataStart local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $k - i32.const 2 + i32.const 3 i32.shl i32.add - f32.load $0 - f32.store $0 + f64.load $0 + local.set $value + local.get $value local.get $i - i32.const 1 - i32.add - local.set $i - local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $tmp - f32.store $0 - local.get $k - i32.const 1 - i32.sub - local.set $k - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $j - local.get $right - i32.lt_s - if (result i32) - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 - i32.const 2 + local.get $array + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 global.set $~argumentsLength - local.get $comparator + local.get $fn|3 i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $j + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + local.get $buf + local.get $j + local.tee $11 + i32.const 1 + i32.add + local.set $j + local.get $11 + i32.const 3 + i32.shl + i32.add + local.get $value + f64.store $0 + end + local.get $i i32.const 1 i32.add - local.set $j - br $while-continue|2 + local.set $i + br $for-loop|0 end end + local.get $j + i32.const 3 + i32.shl + local.set $byteLength + local.get $buf + local.get $byteLength + call $~lib/rt/itcms/__renew + local.set $data + local.get $out + local.get $data + i32.store $0 + local.get $out + local.get $data + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $data + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 end - local.get $j + local.set $14 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 return ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $ptr i32) (param $l i32) (param $m i32) (param $r i32) (param $buffer i32) (param $comparator i32) - (local $i i32) - (local $j i32) - (local $t i32) - (local $k i32) - (local $a f32) - (local $b f32) - local.get $m - i32.const 1 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.set $m - local.get $r - local.get $m - i32.add - local.set $t - local.get $m - i32.const 1 - i32.add - local.set $i - loop $for-loop|0 - local.get $i - local.get $l - i32.gt_s - if - local.get $buffer - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.sub - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.store $0 - local.get $i - i32.const 1 - i32.sub - local.set $i - br $for-loop|0 - end + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 6 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 5 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 3248 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float64Array#filter + local.tee $result + i32.store $0 offset=12 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $m - local.set $j - loop $for-loop|1 - local.get $j - local.get $r - i32.lt_s - if - local.get $buffer - local.get $t - local.get $j - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - f32.store $0 - local.get $j - i32.const 1 - i32.add - local.set $j - br $for-loop|1 - end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $l - local.set $k - loop $for-loop|2 - local.get $k - local.get $r - i32.le_s - if - local.get $buffer - local.get $j - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $a - local.get $buffer + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 + local.get $k i32.lt_s if local.get $ptr - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $a - f32.store $0 - local.get $j - i32.const 1 - i32.sub - local.set $j - else - local.get $ptr - local.get $k - i32.const 2 + local.get $i + i32.const 0 i32.shl i32.add - local.get $b - f32.store $0 + i32.load8_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 + end local.get $i i32.const 1 i32.add local.set $i + br $for-loop|0 end - local.get $k - i32.const 1 - i32.add - local.set $k - br $for-loop|2 end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult i32) (local $3 i32) - (local $a f32) - (local $b f32) - (local $c i32) - (local $a|7 f32) - (local $b|8 f32) - (local $c|9 i32) - (local $n i32) - (local $lgPlus2 i32) - (local $lgPlus2Size i32) - (local $leftRunStartBuf i32) - (local $leftRunEndBuf i32) - (local $i i32) - (local $buffer i32) - (local $hi i32) - (local $endA i32) - (local $lenA i32) - (local $20 i32) - (local $21 i32) - (local $top i32) - (local $startA i32) - (local $startB i32) - (local $endB i32) - (local $lenB i32) - (local $27 i32) - (local $28 i32) - (local $k i32) - (local $i|30 i32) - (local $start i32) - (local $i|32 i32) - (local $start|33 i32) - local.get $len - i32.const 48 - i32.le_s + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3280 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#some + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz if - local.get $len - i32.const 1 - i32.le_s - if - return - end i32.const 0 - i32.const 1 - i32.lt_s - drop - block $break|0 - block $case1|0 - block $case0|0 - local.get $len - local.set $3 - local.get $3 - i32.const 3 - i32.eq - br_if $case0|0 - local.get $3 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $ptr - f32.load $0 - local.set $a - local.get $ptr - f32.load $0 offset=4 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f32.store $0 - local.get $a - local.get $b - local.get $c - select - local.set $a - local.get $ptr - f32.load $0 offset=8 - local.set $b - local.get $a - local.get $b - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c - local.get $ptr - local.get $b - local.get $a - local.get $c - select - f32.store $0 offset=4 - local.get $ptr - local.get $a - local.get $b - local.get $c - select - f32.store $0 offset=8 - end - local.get $ptr - f32.load $0 - local.set $a|7 - local.get $ptr - f32.load $0 offset=4 - local.set $b|8 - local.get $a|7 - local.get $b|8 - i32.const 2 - global.set $~argumentsLength - local.get $comparator - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $c|9 - local.get $ptr - local.get $b|8 - local.get $a|7 - local.get $c|9 - select - f32.store $0 - local.get $ptr - local.get $a|7 - local.get $b|8 - local.get $c|9 - select - f32.store $0 offset=4 - return - end - local.get $ptr - i32.const 0 - local.get $len - i32.const 1 - i32.sub - i32.const 0 - local.get $comparator - call $~lib/util/sort/insertionSort - return + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end - block $~lib/util/sort/log2u|inlined.9 (result i32) - local.get $len - local.set $n - i32.const 31 - local.get $n - i32.clz - i32.sub - br $~lib/util/sort/log2u|inlined.9 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3312 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#some + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 2 - i32.add - local.set $lgPlus2 - local.get $lgPlus2 - i32.const 2 - i32.shl - local.set $lgPlus2Size - local.get $lgPlus2Size - i32.const 1 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $leftRunStartBuf - local.get $leftRunStartBuf - local.get $lgPlus2Size + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add - local.set $leftRunEndBuf - i32.const 0 - local.set $i - loop $for-loop|1 - local.get $i - local.get $lgPlus2 - i32.lt_u - if - local.get $leftRunStartBuf - local.get $i - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|1 - end - end - local.get $len - i32.const 2 - i32.shl - call $~lib/rt/tlsf/__alloc - local.set $buffer - local.get $len - i32.const 1 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k i32) + (local $7 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.sub - local.set $hi - local.get $ptr - i32.const 0 - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endA - local.get $endA - i32.const 1 - i32.add - local.set $lenA - local.get $lenA - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $20 - i32.const 32 - i32.const 1 - i32.sub - local.tee $21 - local.get $20 - local.get $21 - i32.lt_s - select - local.set $endA - local.get $ptr + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr i32.const 0 - local.get $endA - local.get $lenA - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.set $top - i32.const 0 - local.set $startA - loop $while-continue|2 - local.get $endA - local.get $hi - i32.lt_s - if - local.get $endA - i32.const 1 - i32.add - local.set $startB - local.get $ptr - local.get $startB - local.get $hi - local.get $comparator - call $~lib/util/sort/extendRunRight - local.set $endB - local.get $endB - local.get $startB - i32.sub - i32.const 1 - i32.add - local.set $lenB - local.get $lenB - i32.const 32 - i32.lt_s - if - local.get $hi - local.tee $27 - local.get $startB - i32.const 32 - i32.add - i32.const 1 - i32.sub - local.tee $28 - local.get $27 - local.get $28 - i32.lt_s - select - local.set $endB - local.get $ptr - local.get $startB - local.get $endB - local.get $lenB - local.get $comparator - call $~lib/util/sort/insertionSort - end - i32.const 0 - local.get $hi - local.get $startA - local.get $startB - local.get $endB - call $~lib/util/sort/nodePower - local.set $k - local.get $top - local.set $i|30 - loop $for-loop|3 - local.get $i|30 - local.get $k - i32.gt_u - if - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start - local.get $start - i32.const -1 - i32.ne - if - local.get $ptr - local.get $start - local.get $leftRunEndBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $endA - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns - local.get $start - local.set $startA - local.get $leftRunStartBuf - local.get $i|30 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - end - local.get $i|30 - i32.const 1 - i32.sub - local.set $i|30 - br $for-loop|3 - end - end - local.get $leftRunStartBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $startA - i32.store $0 - local.get $leftRunEndBuf - local.get $k - i32.const 2 - i32.shl - i32.add - local.get $endA - i32.store $0 - local.get $startB - local.set $startA - local.get $endB - local.set $endA + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i local.get $k - local.set $top - br $while-continue|2 - end - end - local.get $top - local.set $i|32 - loop $for-loop|4 - local.get $i|32 - i32.const 0 - i32.ne - if - local.get $leftRunStartBuf - local.get $i|32 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $start|33 - local.get $start|33 - i32.const -1 - i32.ne + i32.lt_s if local.get $ptr - local.get $start|33 - local.get $leftRunEndBuf - local.get $i|32 - i32.const 2 + local.get $i + i32.const 0 i32.shl i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $i i32.const 1 i32.add - local.get $hi - local.get $buffer - local.get $comparator - call $~lib/util/sort/mergeRuns + local.set $i + br $for-loop|0 end - local.get $i|32 - i32.const 1 - i32.sub - local.set $i|32 - br $for-loop|4 end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 end - local.get $buffer - call $~lib/rt/tlsf/__free - local.get $leftRunStartBuf - call $~lib/rt/tlsf/__free - ) - (func $~lib/typedarray/Float32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - local.get $this - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $this - call $~lib/typedarray/Float32Array#get:length - local.get $comparator - call $~lib/util/sort/SORT - local.get $this - return - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) - (local $ia i32) - (local $ib i32) - local.get $a - i32.reinterpret_f32 - local.set $ia - local.get $b - i32.reinterpret_f32 - local.set $ib - local.get $ia - local.get $ia - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $ia - local.get $ib - local.get $ib - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - i32.xor - local.set $ib - local.get $ia - local.get $ib - i32.gt_s - local.get $ia - local.get $ib - i32.lt_s - i32.sub + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 return ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_=>_i32) (param $a f32) (param $b f32) (result i32) - local.get $b - local.get $a - f32.gt - local.get $b - local.get $a - f32.lt - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_=>_i32) (param $a f64) (param $b f64) (result i32) - local.get $b - local.get $a - f64.gt - local.get $b - local.get $a - f64.lt + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.sub - ) - (func $~lib/rt/itcms/__collect (type $none_=>_none) - 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 - 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 - if - call $~lib/rt/itcms/step - drop - br $while-continue|1 - end - end - global.get $~lib/rt/itcms/total - i64.extend_i32_u - i32.const 200 - i64.extend_i32_u - i64.mul - i64.const 100 - i64.div_u - i32.wrap_i64 - i32.const 1024 - i32.add - global.set $~lib/rt/itcms/threshold + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - ) - (func $~lib/rt/__visit_globals (type $i32_=>_none) (param $0 i32) - (local $1 i32) - global.get $std/typedarray/forEachValues - local.tee $1 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3344 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#some + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $std/typedarray/testArrayReverseValues - local.tee $1 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3376 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#some + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 end - global.get $std/typedarray/testArrayWrapValues - local.tee $1 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3408 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#some + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $std/typedarray/setSource1 - local.tee $1 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3440 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#some + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $std/typedarray/setSource2 - local.tee $1 - if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 end - global.get $std/typedarray/setSource3 - local.tee $1 + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3472 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#some + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 438 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $std/typedarray/setSource7 - local.tee $1 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3504 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#some + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz if - local.get $1 - local.get $0 - call $~lib/rt/itcms/__visit + i32.const 0 + i32.const 544 + i32.const 440 + i32.const 3 + call $~lib/builtins/abort + unreachable 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 7408 - local.get $0 - call $~lib/rt/itcms/__visit - i32.const 8464 - local.get $0 - call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/arraybuffer/ArrayBufferView~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - i32.load $0 - local.tee $2 - if - local.get $2 - local.get $1 - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint16Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/object/Object~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - nop - ) - (func $~lib/typedarray/Int8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint8Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint8ClampedArray~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Int16Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint16Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Int32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Int64Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Uint64Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Float32Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/arraybuffer/ArrayBufferView~visit - ) - (func $~lib/typedarray/Float64Array~visit (type $i32_i32_=>_none) (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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Cf64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3536 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3568 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3600 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3632 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit + (func $~lib/typedarray/Uint32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3664 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3696 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3728 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3760 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3792 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3824 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float32Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f32.const 6 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3856 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3888 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Float64Array#some (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + i32.const 1 + br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + br $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3920 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#some + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3952 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#some + local.set $failResult + local.get $failResult + 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/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Int8Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 3984 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4016 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit + (func $~lib/typedarray/Uint8Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4048 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4080 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint8ClampedArray#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4112 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4144 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int16Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4176 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4208 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint16Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4240 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4272 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4304 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4336 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4368 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4400 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit + (func $~lib/typedarray/Int64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4432 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4464 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit + (func $~lib/typedarray/Uint64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4496 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4528 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float32Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4560 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4592 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit + (func $~lib/typedarray/Float64Array#findIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4624 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#findIndex + local.set $result + local.get $result + 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 $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4656 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#findIndex + local.set $failResult + local.get $failResult + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Int8Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4688 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4720 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint8Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Uint8Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4752 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4784 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint8ClampedArray#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4816 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4848 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit + (func $~lib/typedarray/Int16Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4880 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4912 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Uint16Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Uint16Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4944 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 4976 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit + (func $~lib/typedarray/Int32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5008 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5040 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Uint32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5072 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5104 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit + (func $~lib/typedarray/Int64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5136 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5168 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Uint64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5200 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5232 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit + (func $~lib/typedarray/Float32Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Float32Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5264 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5296 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float64Array#findLastIndex (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Float64Array#get:length + i32.const 1 + i32.sub + local.set $i + loop $for-loop|0 + local.get $i + i32.const 0 + i32.ge_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + local.get $6 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + local.get $i + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $i + i32.const 1 + i32.sub + local.set $i + br $for-loop|0 + end + end + i32.const -1 + br $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit + (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5328 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#findLastIndex + local.set $result + local.get $result + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 484 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5360 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#findLastIndex + local.set $failResult + local.get $failResult + i32.const -1 + i32.eq + 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.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Int8Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - 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>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5392 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#every + local.set $result + local.get $result i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5424 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + (func $~lib/typedarray/Uint8Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 - ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5456 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5488 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + (func $~lib/typedarray/Uint8ClampedArray#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5520 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5552 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/array/Array#get:buffer (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 + (func $~lib/typedarray/Int16Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $this - call $~lib/array/Array#get:buffer - local.get $cookie - call $~lib/rt/itcms/__visit + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5584 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5616 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/array/Array~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/array/Array#__visit - ) - (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit - ) - (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint16Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint16Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5648 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5680 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint16Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28i16%2Ci16%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $~lib/typedarray/Int32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i16%2Ci16%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Int32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5712 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5744 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int32Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28i16%2Ci16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit + (func $~lib/typedarray/Uint32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Uint32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5776 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5808 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint32Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28u16%2Cu16%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit + (func $~lib/typedarray/Int64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5840 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5872 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int64Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Uint64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28i32%2Ci32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i64.const 6 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5904 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5936 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Uint64Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28u32%2Cu32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28u32%2Cu32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit - ) - (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 - ) - (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) - (func $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit + (func $~lib/typedarray/Float32Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f32.const 6 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 5968 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 6000 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float32Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28u64%2Cu64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + (func $~lib/typedarray/Float64Array#every (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + block $for-continue|0 + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (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 $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 1 + br $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $7 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $7 + return ) - (func $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 - local.get $1 - call $~lib/object/Object~visit - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $failResult 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 6032 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#every + local.set $result + local.get $result + i32.const 0 + i32.ne + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $source + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 6064 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Float64Array#every + local.set $failResult + local.get $failResult + i32.eqz + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 509 + 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/function/Function<%28f32%2Cf32%29=>i32>#get:_env (type $i32_=>_i32) (param $this i32) (result i32) - local.get $this - i32.load $0 offset=4 + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.extend8_s + local.get $matchedValue + i32.extend8_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/function/Function<%28f32%2Cf32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (func $~lib/typedarray/Int8Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $this - call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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/function/Function<%28f32%2Cf32%29=>i32>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - local.get $0 + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/object/Object~visit - local.get $0 + i32.store $0 offset=4 local.get $1 - call $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6176 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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/rt/__visit_members (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - block $invalid - block $~lib/function/Function<%28f32%2Cf32%29=>i32> - block $~lib/function/Function<%28u64%2Cu64%29=>i32> - block $~lib/function/Function<%28i64%2Ci64%29=>i32> - block $~lib/function/Function<%28u32%2Cu32%29=>i32> - block $~lib/function/Function<%28i32%2Ci32%29=>i32> - block $~lib/function/Function<%28u16%2Cu16%29=>i32> - block $~lib/function/Function<%28i16%2Ci16%29=>i32> - block $~lib/function/Function<%28u8%2Cu8%29=>i32> - block $~lib/function/Function<%28i8%2Ci8%29=>i32> - 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 - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~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 $~lib/function/Function<%28i8%2Ci8%29=>i32> $~lib/function/Function<%28u8%2Cu8%29=>i32> $~lib/function/Function<%28i16%2Ci16%29=>i32> $~lib/function/Function<%28u16%2Cu16%29=>i32> $~lib/function/Function<%28i32%2Ci32%29=>i32> $~lib/function/Function<%28u32%2Cu32%29=>i32> $~lib/function/Function<%28i64%2Ci64%29=>i32> $~lib/function/Function<%28u64%2Cu64%29=>i32> $~lib/function/Function<%28f32%2Cf32%29=>i32> $invalid - end - return - 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 - local.get $0 - local.get $1 - call $~lib/function/Function<%28i8%2Ci8%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u8%2Cu8%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i16%2Ci16%29=>i32>~visit - return - end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u16%2Cu16%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 + (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.const 255 + i32.and + local.get $matchedValue + i32.const 255 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Uint8Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6208 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.const 255 + i32.and + local.get $matchedValue + i32.const 255 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Uint8ClampedArray#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6240 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 0 + i32.const 544 + i32.const 541 + 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/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.extend16_s + local.get $matchedValue + i32.extend16_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Int16Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6272 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + i32.const 65535 + i32.and + local.get $matchedValue + i32.const 65535 + i32.and + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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 (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint16Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6304 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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 (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6336 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 0 + i32.const 544 + i32.const 541 + 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/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Uint32Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6368 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_none) (param $value i64) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + i64.extend_i32_s + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Int64Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6400 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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>~anonymous|0 (type $i64_i32_i32_=>_none) (param $value i64) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + i64.extend_i32_s + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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 (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Uint64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6432 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 541 + 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 (type $f32_i32_i32_=>_none) (param $value f32) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + f32.convert_i32_s + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Float32Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float32Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6464 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Float32Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 541 + 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 (type $f64_i32_i32_=>_none) (param $value f64) (param $index i32) (param $self i32) + (local $matchedValue 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 $0 + global.get $std/typedarray/forEachValues + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + local.get $index + call $~lib/array/Array#__get + local.set $matchedValue + local.get $value + local.get $matchedValue + f64.convert_i32_s + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $index + global.get $std/typedarray/forEachCallCount + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachSelf + local.get $self + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 538 + 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/Float64Array#forEach (type $i32_i32_=>_none) (param $this i32) (param $fn i32) + (local $array i32) + (local $fn|3 i32) + (local $ptr i32) + (local $i i32) + (local $k 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $fn + local.tee $fn|3 + i32.store $0 offset=4 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $ptr + i32.const 0 + local.set $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Float64Array#get:length + local.set $k + loop $for-loop|0 + local.get $i + local.get $k + i32.lt_s + if + local.get $ptr + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $i + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + i32.const 3 + global.set $~argumentsLength + local.get $fn|3 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_none) + local.get $i + i32.const 1 + i32.add + local.set $i + 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> (type $none_=>_none) + (local $array 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 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 $array + i32.store $0 + local.get $array + global.set $std/typedarray/forEachSelf + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + global.get $std/typedarray/forEachValues + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.const 0 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 1 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=8 + local.get $1 + i32.const 2 + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 6496 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + 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 541 + 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#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int8Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Int8Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i32.extend8_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Int8Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Uint8Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Uint8Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint8Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Uint8Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint8Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Uint8ClampedArray#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint8ClampedArray#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $array i32) + (local $begin i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $start + local.set $begin + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $begin + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin + i32.add + local.tee $7 + i32.const 0 + local.tee $8 + local.get $7 + local.get $8 + i32.gt_s + select + else + local.get $begin + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin + i32.const 0 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin + i32.sub + i32.const 0 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint8ClampedArray#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Int16Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 1 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int16Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int16Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Int16Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i32.extend16_s + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Int16Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Uint16Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Uint16Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 1 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 1 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint16Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint16Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Uint16Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint16Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Int32Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int32Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Int32Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Int32Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Uint32Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Uint32Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint32Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint32Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Uint32Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint32Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 8 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 7 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 6 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Uint32Array#__get + i32.const 5 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Int64Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int64Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int64Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Int64Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Int64Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Uint64Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Uint64Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint64Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint64Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Uint64Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Uint64Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 8 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 7 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 544 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Float32Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float32Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Float32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $array i32) + (local $begin|4 i32) + (local $end|5 i32) + (local $len 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 $out i32) + (local $buf i32) + (local $19 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $begin + local.set $begin|4 + local.get $end + local.set $end|5 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $begin|4 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $begin|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 $begin|4 + local.tee $9 + local.get $len + local.tee $10 + local.get $9 + local.get $10 + i32.lt_s + select + end + local.set $begin|4 + local.get $end|5 + i32.const 0 + i32.lt_s + if (result i32) + local.get $len + local.get $end|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 $end|5 + local.tee $13 + local.get $len + local.tee $14 + local.get $13 + local.get $14 + i32.lt_s + select + end + local.set $end|5 + local.get $end|5 + local.tee $15 + local.get $begin|4 + local.tee $16 + local.get $15 + local.get $16 + i32.gt_s + select + local.set $end|5 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $buf + local.get $out + local.get $buf + i32.store $0 + local.get $out + local.get $buf + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $array + local.set $19 + global.get $~lib/memory/__stack_pointer + local.get $19 + i32.store $0 offset=4 + local.get $19 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $begin|4 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $out + local.get $end|5 + local.get $begin|4 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $out + br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $19 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $19 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float32Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Float32Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Float32Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + f32.convert_i32_s + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Float32Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 8 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 7 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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/Float64Array#reverse (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/typedarray/Float64Array#get:length + call $~lib/util/bytes/REVERSE + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $arrayWithOffset i32) + (local $i i32) + (local $i|5 i32) + (local $reversedSlice 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayReverseValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float64Array#constructor + local.tee $arrayWithOffset + i32.store $0 offset=12 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=16 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Float64Array#reverse + drop + i32.const 0 + local.set $i|5 + loop $for-loop|1 + local.get $i|5 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|5 + call $~lib/typedarray/Float64Array#__get + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $length + i32.const 1 + i32.sub + local.get $i|5 + i32.sub + call $~lib/array/Array#__get + f64.convert_i32_s + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|5 + i32.const 1 + i32.add + local.set $i|5 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $arrayWithOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $0 offset=4 + local.get $7 + call $~lib/typedarray/Float64Array#reverse + local.tee $reversedSlice + i32.store $0 offset=20 + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 8 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $reversedSlice + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 578 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $searchElement|4 + i32.extend8_s + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|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 + return + ) + (func $~lib/typedarray/Int8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.get $searchElement|4 + i32.extend8_s + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + call $~lib/typedarray/Int8Array#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/Int8Array,i8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 0 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int8Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $searchElement|4 + i32.const 255 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|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 + return + ) + (func $~lib/typedarray/Uint8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $searchElement|4 + i32.const 255 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Uint8Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Uint8Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint8Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $searchElement|4 + i32.const 255 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|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 + return + ) + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.get $searchElement|4 + i32.const 255 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Uint8ClampedArray#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $searchElement|4 + i32.extend16_s + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|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 + return + ) + (func $~lib/typedarray/Int16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.get $searchElement|4 + i32.extend16_s + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int16Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $searchElement|4 + i32.const 65535 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|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 + return + ) + (func $~lib/typedarray/Uint16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.get $searchElement|4 + i32.const 65535 + i32.and + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Uint16Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Uint16Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint16Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $searchElement|4 + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|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 + return + ) + (func $~lib/typedarray/Int32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $searchElement|4 + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Int32Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int32Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $searchElement|4 + i32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|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 + return + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.get $searchElement|4 + i32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (type $i32_i32_i32_=>_i32) (param $this i32) (param $searchElement i32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Uint32Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint32Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $searchElement|4 + i64.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|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 + return + ) + (func $~lib/typedarray/Int64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $searchElement|4 + i64.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Int64Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Int64Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i64.const 10 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 633 + 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/Uint64Array#indexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $searchElement|4 + i64.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|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 + return + ) + (func $~lib/typedarray/Uint64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 i64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.get $searchElement|4 + i64.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (type $i32_i64_i32_=>_i32) (param $this i32) (param $searchElement i64) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Uint64Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i64.const -1 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i64.const 3 + i32.const 1 + global.set $~argumentsLength + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Uint64Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i64.const 4 + 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i64.const 10 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 633 + 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 (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $searchElement|4 + f32.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~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 + return + ) + (func $~lib/typedarray/Float32Array#lastIndexOf (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $searchElement|4 + f32.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Float32Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + 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 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 603 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 607 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 3 + i32.const 1 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 1 + i32.const 100 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 1 + i32.const -10 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Float32Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 4 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const 4 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 5 + i32.const 0 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f32.const 9 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 633 + 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 (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart 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 $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 offset=4 + local.get $11 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $searchElement|4 + f64.eq + if + local.get $index + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|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 + return + ) + (func $~lib/typedarray/Float64Array#lastIndexOf (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $dataStart 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 $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.set $index + else + local.get $index + local.get $len + i32.ge_s + if + local.get $len + i32.const 1 + i32.sub + local.set $index + end + end + local.get $array + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + i32.const 0 + i32.ge_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.get $searchElement|4 + f64.eq + if + local.get $index + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 1 + i32.sub + local.set $index + br $while-continue|0 + end + end + i32.const -1 + br $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $9 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $9 + return + ) + (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex 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 $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/typedarray/Float64Array#get:length + local.set $fromIndex + end + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $searchElement + local.get $fromIndex + call $~lib/typedarray/Float64Array#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/Float64Array,f64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $sliced 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayIndexOfAndLastIndexOfValues + local.tee $values + i32.store $0 + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + local.get $i + local.get $values + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=12 + local.get $5 + local.get $i + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 0 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const 0 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 3 + i32.const 2 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + 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 $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const 0 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 11 + 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 3 + i32.const 1 + 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 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 4 + i32.const 9 + call $~lib/typedarray/Float64Array#subarray + local.tee $sliced + i32.store $0 offset=16 + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 4 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const 4 + i32.const 4 + i32.sub + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 5 + i32.const 0 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 5 + i32.const 1 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $sliced + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + f64.const 5 + i32.const 2 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 633 + 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 (type $i32_f64_i32_=>_i32) (param $this i32) (param $searchElement f64) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f64) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart i32) + (local $elem f64) + (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 $0 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + i32.const 1 + drop + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $elem + local.get $elem + local.get $searchElement|4 + f64.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f64.ne + local.get $searchElement|4 + local.get $searchElement|4 + f64.ne + i32.and + end + if + i32.const 1 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + end + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + ) + (func $~lib/typedarray/Float32Array#includes (type $i32_f32_i32_=>_i32) (param $this i32) (param $searchElement f32) (param $fromIndex i32) (result i32) + (local $array i32) + (local $searchElement|4 f32) + (local $fromIndex|5 i32) + (local $index i32) + (local $len i32) + (local $8 i32) + (local $9 i32) + (local $dataStart i32) + (local $elem f32) + (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 $0 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $array + i32.store $0 + local.get $searchElement + local.set $searchElement|4 + local.get $fromIndex + local.set $fromIndex|5 + i32.const 1 + drop + local.get $fromIndex|5 + local.set $index + local.get $array + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $len + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $index + local.get $len + i32.ge_s + end + if + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 0 + i32.lt_s + if + local.get $len + local.get $index + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + local.set $index + end + local.get $array + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $dataStart + loop $while-continue|0 + local.get $index + local.get $len + i32.lt_s + if + local.get $dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $elem + local.get $elem + local.get $searchElement|4 + f32.eq + if (result i32) + i32.const 1 + else + local.get $elem + local.get $elem + f32.ne + local.get $searchElement|4 + local.get $searchElement|4 + f32.ne + i32.and + end + if + i32.const 1 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.get $index + i32.const 1 + i32.add + local.set $index + br $while-continue|0 + end + end + i32.const 0 + br $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + end + local.set $12 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + ) + (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) + (local $len i32) + (local $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $finalStart i32) + (local $9 i32) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $finalEnd i32) + (local $14 i32) + (local $15 i32) + (local $fromPos i32) + (local $17 i32) + (local $18 i32) + (local $toPos i32) + (local $size i32) + (local $out i32) + (local $22 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + local.get $22 + i32.store $0 + local.get $22 + call $~lib/string/String#get:length + local.set $len + local.get $start + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + local.tee $6 + local.get $len + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + local.set $finalStart + local.get $end + local.tee $9 + i32.const 0 + local.tee $10 + local.get $9 + local.get $10 + i32.gt_s + select + local.tee $11 + local.get $len + local.tee $12 + local.get $11 + local.get $12 + i32.lt_s + select + local.set $finalEnd + local.get $finalStart + local.tee $14 + local.get $finalEnd + local.tee $15 + local.get $14 + local.get $15 + i32.lt_s + select + i32.const 1 + i32.shl + local.set $fromPos + local.get $finalStart + local.tee $17 + local.get $finalEnd + local.tee $18 + local.get $17 + local.get $18 + i32.gt_s + select + i32.const 1 + i32.shl + local.set $toPos + local.get $toPos + local.get $fromPos + i32.sub + local.set $size + local.get $size + i32.eqz + if + i32.const 6752 + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + local.get $fromPos + i32.eqz + if (result i32) + local.get $toPos + local.get $len + i32.const 1 + i32.shl + i32.eq + else + i32.const 0 + end + if + local.get $this + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + end + global.get $~lib/memory/__stack_pointer + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $fromPos + i32.add + local.get $size + memory.copy $0 $0 + local.get $out + local.set $22 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $22 + return + ) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load8_s $0 + local.set $value + i32.const 1 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 11 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Int8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $~lib/typedarray/Int8Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Int8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Int8Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Uint8Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Uint8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Uint8Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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/typedarray/Uint8ClampedArray#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Uint8ClampedArray#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Uint8ClampedArray#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load16_s $0 + local.set $value + i32.const 1 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 11 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Int16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Int16Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Int16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Int16Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load16_u $0 + local.set $value + i32.const 0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Uint16Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Uint16Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint16Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Uint16Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load $0 + local.set $value + i32.const 1 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 11 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 11 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Int32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Int32Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Int32Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 4 + i32.const 4 + i32.le_u + drop + local.get $value + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 10 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 10 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Uint32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Uint32Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Uint32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Uint32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Uint32Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i64) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i64) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i64.load $0 + local.set $value + i32.const 1 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + i32.wrap_i64 + i64.extend_i32_s + i32.const 10 + call $~lib/util/number/itoa64 + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 21 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 21 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Int64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Int64Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Int64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Int64Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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 (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $value i64) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value|9 i64) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + 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 $lastIndex + i32.eqz + if + local.get $dataStart + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 8 + i32.const 4 + i32.le_u + drop + local.get $value + i32.const 10 + call $~lib/util/number/utoa64 + 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 $separator + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 20 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 20 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value|9 + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value|9 + call $~lib/util/number/itoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $11 + i32.store $0 + local.get $11 + i32.const 0 + local.get $offset + 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 $result + local.set $11 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $11 + return + ) + (func $~lib/typedarray/Uint64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + 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 + return + ) + (func $~lib/typedarray/Uint64Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Uint64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + i32.const 0 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Uint64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Uint64Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 8592 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 676 + 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/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value f32) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $lastIndex + i32.eqz + if + local.get $dataStart + f32.load $0 + f64.promote_f32 + call $~lib/util/number/dtoa + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $separator + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 28 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 28 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + local.get $offset + call $~lib/string/String#substring + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/typedarray/Float32Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/string/joinFloatArray + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Float32Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Float32Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + f32.const 4 + call $~lib/typedarray/Float32Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + i32.const 1 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Float32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 9776 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 672 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Float32Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 9776 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 673 + 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/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $sepLen i32) + (local $estLen i32) + (local $result i32) + (local $offset i32) + (local $value f64) + (local $i 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 $0 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 6752 + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $lastIndex + i32.eqz + if + local.get $dataStart + f64.load $0 + call $~lib/util/number/dtoa + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $separator + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + call $~lib/string/String#get:length + local.set $sepLen + i32.const 28 + local.get $sepLen + i32.add + local.get $lastIndex + i32.mul + i32.const 28 + i32.add + local.set $estLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=4 + i32.const 0 + local.set $offset + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $lastIndex + i32.lt_s + if + local.get $dataStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + local.get $dataStart + local.get $lastIndex + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + local.get $offset + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + call $~lib/util/number/dtoa_buffered + i32.add + local.set $offset + local.get $estLen + local.get $offset + i32.gt_s + if + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $10 + i32.store $0 + local.get $10 + i32.const 0 + local.get $offset + call $~lib/string/String#substring + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + end + local.get $result + local.set $10 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $10 + return + ) + (func $~lib/typedarray/Float64Array#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Float64Array#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/string/joinFloatArray + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Float64Array#toString (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $array 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 + i32.const 0 + i32.const 20 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $array + i32.store $0 + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + i32.const 1 + drop + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + i32.const 8560 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 + local.get $1 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 9776 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 672 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $array + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/typedarray/Float64Array#toString + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 9776 + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 673 + 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/typedarray/Uint8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + 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 + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $0 + 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 $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Uint8Array.wrap + 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#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) + (local $length 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 $outSize i32) + (local $out i32) + (local $16 i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $16 + global.get $~lib/memory/__stack_pointer + local.get $16 + i32.store $0 + local.get $16 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $length + local.get $begin + i32.const 0 + i32.lt_s + if (result i32) + local.get $length + local.get $begin + i32.add + local.tee $4 + i32.const 0 + local.tee $5 + local.get $4 + local.get $5 + i32.gt_s + select + else + local.get $begin + local.tee $6 + local.get $length + local.tee $7 + local.get $6 + local.get $7 + i32.lt_s + select + end + local.set $begin + local.get $end + i32.const 0 + i32.lt_s + if (result i32) + local.get $length + local.get $end + i32.add + local.tee $8 + i32.const 0 + local.tee $9 + local.get $8 + local.get $9 + i32.gt_s + select + else + local.get $end + local.tee $10 + local.get $length + local.tee $11 + local.get $10 + local.get $11 + i32.lt_s + select + end + local.set $end + local.get $end + local.get $begin + i32.sub + local.tee $12 + i32.const 0 + local.tee $13 + local.get $12 + local.get $13 + i32.gt_s + select + local.set $outSize + global.get $~lib/memory/__stack_pointer + local.get $outSize + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $begin + i32.add + local.get $outSize + memory.copy $0 $0 + local.get $out + local.set $16 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $16 + return + ) + (func $~lib/typedarray/Int8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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 $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 + 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 + ) + (func $~lib/typedarray/Int8Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $0 + 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 $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Int8Array.wrap + 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/testArrayWrap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int8Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int8Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + 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/Uint8Array,u8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint8Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint8Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 0 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 0 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 0 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + 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 + ) + (func $~lib/typedarray/Uint8ClampedArray.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $0 + block $2of2 + block $1of2 + block $0of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of2 $1of2 $2of2 $outOfRange end - local.get $0 - local.get $1 - call $~lib/function/Function<%28i64%2Ci64%29=>i32>~visit - return + unreachable + end + i32.const 0 + local.set $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Uint8ClampedArray.wrap + 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/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 1 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 + 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 + ) + (func $~lib/typedarray/Int16Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $0 + 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 $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Int16Array.wrap + 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/testArrayWrap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer + i32.const 0 + local.get $length + call $~lib/typedarray/Int16Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 1 + drop + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 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 $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int16Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int16Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 - local.get $1 - call $~lib/function/Function<%28u64%2Cu64%29=>i32>~visit - return + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 end - local.get $0 - local.get $1 - call $~lib/function/Function<%28f32%2Cf32%29=>i32>~visit - return end - unreachable - ) - (func $~start (type $none_=>_none) - call $start:std/typedarray + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~stack_check (type $none_=>_none) + (func $~lib/typedarray/Uint16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - global.get $~lib/memory/__data_end - i32.lt_s - if - i32.const 48096 - i32.const 48144 - i32.const 1 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 i32.const 1 - call $~lib/builtins/abort - unreachable + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 1 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 1 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 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 ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (func $~lib/typedarray/Uint16Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length 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 $0 + 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 $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Uint16Array.wrap + 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/testArrayWrap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) + (local $i i32) + (local $buffer i32) (local $result i32) - (local $2 i32) + (local $i|6 i32) + (local $7 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor + local.get $length + call $~lib/typedarray/Uint16Array#constructor local.tee $array - i32.store $0 - local.get $array + i32.store $0 offset=8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array - i32.const 1872 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 + 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 $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 + local.get $7 i32.const 0 - call $~lib/typedarray/Int8Array#reduce - local.set $result - local.get $result - i32.extend8_s - i32.const 6 - i32.eq - i32.eqz - if + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint16Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint16Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint16Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 3 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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 $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 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 $9 + return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 1904 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduce - local.set $result - local.get $result - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $byteOffset + end + i32.const -1 + local.set $length end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Int32Array.wrap + 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/testReduce<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) + (local $i i32) + (local $buffer i32) (local $result i32) - (local $2 i32) + (local $i|6 i32) + (local $7 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 1936 - local.set $2 + local.get $values + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#reduce - local.set $result - local.get $result - i32.const 255 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - 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/testReduce<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $array i32) - (local $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 $0 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + local.get $length + call $~lib/typedarray/Int32Array#constructor local.tee $array - i32.store $0 - local.get $array + i32.store $0 offset=8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $array - i32.const 1968 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#reduce - local.set $result - local.get $result - i32.extend16_s - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $array - i32.store $0 - local.get $array + drop i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2000 - local.set $2 + drop global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 + local.get $7 i32.const 0 - call $~lib/typedarray/Uint16Array#reduce - local.set $result - local.get $result - i32.const 65535 - i32.and - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int32Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int32Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testReduce<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 @@ -41361,283 +63056,351 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2032 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#reduce - local.set $result - local.get $result - i32.const 6 - i32.eq - i32.eqz - if + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 3 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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 $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 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 $9 + return ) - (func $std/typedarray/testReduce<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2064 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#reduce - local.set $result - local.get $result - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $byteOffset + end + i32.const -1 + local.set $length end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Uint32Array.wrap + 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/testReduce<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) - (local $result i64) - (local $2 i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|6 i32) + (local $7 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $array + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values i32.store $0 - local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2096 - local.set $2 + local.get $values + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 - i64.const 0 - call $~lib/typedarray/Int64Array#reduce - local.set $result - local.get $result - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - 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/testReduce<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $array i32) - (local $result 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 $0 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor + local.get $length + call $~lib/typedarray/Uint32Array#constructor local.tee $array - i32.store $0 - local.get $array + i32.store $0 offset=8 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $array - i32.const 2128 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduce - local.set $result - local.get $result - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $array i32) - (local $result f32) - (local $2 i32) + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $array - i32.store $0 - local.get $array + drop i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $array + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop + i32.const 0 + drop i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2160 - local.set $2 + drop global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 - f32.const 0 - call $~lib/typedarray/Float32Array#reduce - local.set $result - local.get $result - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $7 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint32Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint32Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint32Array#__get + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $array i32) - (local $result f64) - (local $2 i32) + (func $~lib/typedarray/Int64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 @@ -41646,289 +63409,354 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2192 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - f64.const 0 - call $~lib/typedarray/Float64Array#reduce - local.set $result - local.get $result - f64.const 6 - f64.eq - i32.eqz - if + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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 $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.const 544 - i32.const 323 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 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 $9 + return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 2224 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#reduceRight - local.set $result - local.get $result - i32.extend8_s - 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 + 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 $byteOffset + end + i32.const -1 + local.set $length end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Int64Array.wrap + 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/testReduceRight<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) + (local $i i32) + (local $buffer i32) (local $result i32) - (local $2 i32) + (local $i|6 i32) + (local $7 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $array + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 2256 - local.set $2 + local.get $values + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#reduceRight - local.set $result - local.get $result - 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 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $array i32) - (local $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 $0 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor + local.get $length + call $~lib/typedarray/Int64Array#constructor local.tee $array - i32.store $0 - local.get $array + i32.store $0 offset=8 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Int64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $array - i32.const 2288 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#reduceRight - local.set $result - local.get $result - 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 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $array - i32.store $0 - local.get $array + 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 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2320 - local.set $2 + drop global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 + local.get $7 i32.const 0 - call $~lib/typedarray/Int16Array#reduceRight - local.set $result - local.get $result - i32.extend16_s - 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 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int64Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int64Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Int64Array#__get + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 @@ -41937,228 +63765,356 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2352 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#reduceRight - local.set $result - local.get $result - i32.const 65535 - i32.and - i32.const 6 - i32.eq - i32.eqz - if + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.const 544 - i32.const 367 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 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 $9 + return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $array i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2384 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#reduceRight - local.set $result - local.get $result - 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 + 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 $byteOffset + end + i32.const -1 + local.set $length end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Uint64Array.wrap + 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/testReduceRight<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) + (local $i i32) + (local $buffer i32) (local $result i32) - (local $2 i32) + (local $i|6 i32) + (local $7 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $array + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2416 - local.set $2 + local.get $values + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 + local.get $7 + call $~lib/array/Array#get:length + local.set $length + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Uint32Array#reduceRight - local.set $result - local.get $result - 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 + local.get $length + call $~lib/typedarray/Uint64Array#constructor + local.tee $array + i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + i64.extend_i32_s + call $~lib/typedarray/Uint64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $array i32) - (local $result i64) - (local $2 i32) + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $array - i32.store $0 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 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 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2448 - local.set $2 + drop global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 i32.store $0 offset=4 - local.get $2 - i64.const 0 - call $~lib/typedarray/Int64Array#reduceRight - local.set $result - local.get $result - 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 + local.get $7 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint64Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Uint64Array#__get + i64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $array i32) - (local $result i64) - (local $2 i32) + (func $~lib/typedarray/Float32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out 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 @@ -42167,258 +64123,356 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 2480 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - i64.const 0 - call $~lib/typedarray/Uint64Array#reduceRight - local.set $result - local.get $result - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 367 + i32.store $0 offset=8 + block $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 i32.const 3 - call $~lib/builtins/abort - unreachable + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len + i32.const 0 + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 3 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 2 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + 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 $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 + i32.const 0 + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 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 $9 + return ) - (func $std/typedarray/testReduceRight<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $array i32) - (local $result f32) - (local $2 i32) + (func $~lib/typedarray/Float32Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2512 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - f32.const 0 - call $~lib/typedarray/Float32Array#reduceRight - local.set $result - local.get $result - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 367 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $byteOffset + end + i32.const -1 + local.set $length end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Float32Array.wrap + 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/testReduceRight<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $values i32) + (local $length i32) (local $array i32) - (local $result f64) - (local $2 i32) + (local $i i32) + (local $buffer i32) + (local $result i32) + (local $i|6 i32) + (local $7 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor + local.get $length + call $~lib/typedarray/Float32Array#constructor local.tee $array - i32.store $0 - local.get $array + i32.store $0 offset=8 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f32.convert_i32_s + call $~lib/typedarray/Float32Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer local.get $array - i32.const 2544 - local.set $2 + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - f64.const 0 - call $~lib/typedarray/Float64Array#reduceRight - local.set $result - local.get $result - f64.const 6 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 367 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer + drop i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source - i32.store $0 - local.get $source + 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 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set + drop global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2576 - local.set $2 + local.get $buffer + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int8Array#map - local.tee $result - i32.store $0 offset=8 - local.get $result + local.get $7 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float32Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Float32Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Float32Array#__get + f32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) + (local $buffer|3 i32) + (local $byteOffset|4 i32) + (local $len i32) + (local $byteLength i32) + (local $bufferByteLength i32) + (local $out i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42430,268 +64484,360 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2608 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint8Array#map - local.tee $result - i32.store $0 offset=8 - local.get $result - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 - i32.eq - i32.eqz - if + block $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + global.get $~lib/memory/__stack_pointer + local.get $buffer + local.tee $buffer|3 + i32.store $0 + local.get $byteOffset + local.set $byteOffset|4 + local.get $length + local.set $len + local.get $buffer|3 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=4 + local.get $9 + call $~lib/arraybuffer/ArrayBuffer#get:byteLength + local.set $bufferByteLength + local.get $byteOffset|4 + local.get $bufferByteLength + i32.gt_u + local.get $byteOffset|4 + i32.const 7 + i32.and + i32.or + if + i32.const 336 + i32.const 608 + i32.const 1860 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $len i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.eq - i32.eqz - if + i32.lt_s + if + local.get $len + i32.const -1 + i32.eq + if + local.get $bufferByteLength + i32.const 7 + i32.and + if + i32.const 32 + i32.const 608 + i32.const 1865 + i32.const 9 + call $~lib/builtins/abort + unreachable + end + local.get $bufferByteLength + local.get $byteOffset|4 + i32.sub + local.set $byteLength + else + i32.const 32 + i32.const 608 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + else + local.get $len + i32.const 3 + i32.shl + local.set $byteLength + local.get $byteOffset|4 + local.get $byteLength + i32.add + local.get $bufferByteLength + i32.gt_s + if + i32.const 32 + i32.const 608 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + i32.store $0 + local.get $out + local.get $buffer|3 i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/rt/itcms/__link + local.get $out + local.get $byteLength + i32.store $0 offset=8 + local.get $out + local.get $buffer|3 + local.get $byteOffset|4 + i32.add + i32.store $0 offset=4 + local.get $out + br $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 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 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array.wrap@varargs (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + 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 $byteOffset + end + i32.const -1 + local.set $length + end + local.get $buffer + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2640 - local.set $2 + local.get $3 + i32.store $0 + local.get $3 + local.get $byteOffset + local.get $length + call $~lib/typedarray/Float64Array.wrap + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#map - local.tee $result - i32.store $0 offset=8 - local.get $result - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 - i32.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 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $values i32) + (local $length i32) + (local $array i32) + (local $i i32) + (local $buffer i32) (local $result i32) - (local $2 i32) + (local $i|6 i32) + (local $7 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + 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 $0 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + global.get $std/typedarray/testArrayWrapValues + local.tee $values + i32.store $0 + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/array/Array#get:length + local.set $length global.get $~lib/memory/__stack_pointer i32.const 0 + local.get $length + call $~lib/typedarray/Float64Array#constructor + local.tee $array i32.store $0 offset=8 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i + local.get $values + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + local.get $i + call $~lib/array/Array#__get + f64.convert_i32_s + call $~lib/typedarray/Float64Array#__set + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:buffer + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $array + local.set $7 global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $buffer + i32.store $0 offset=16 i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source - i32.store $0 - local.get $source + 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 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set + drop global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2672 - local.set $2 + local.get $buffer + local.set $7 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $7 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int16Array#map - local.tee $result - i32.store $0 offset=8 - local.get $result + local.get $7 i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array.wrap@varargs + local.tee $result + i32.store $0 offset=20 + i32.const 0 + local.set $i|6 + loop $for-loop|1 + local.get $i|6 + local.get $length + i32.lt_s + if + local.get $array + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Float64Array#__get + local.get $result + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $i|6 + call $~lib/typedarray/Float64Array#__get + f64.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 730 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $i|6 + i32.const 1 + i32.add + local.set $i|6 + br $for-loop|1 + end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42704,176 +64850,316 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2704 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint16Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + i32.load8_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2736 + local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 local.get $2 - call $~lib/typedarray/Int32Array#map - local.tee $result - i32.store $0 offset=8 - local.get $result + call $~lib/array/Array#get:dataStart + local.get $index i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int32Array#__get + i32.shl + i32.add + i32.load8_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 389 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $result - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 9 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Int8Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 10320 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_s + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayMap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42886,85 +65172,136 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2768 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint32Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_s + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayMap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -42977,85 +65314,151 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2800 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int64Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result - 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 + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 3 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayMap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43068,85 +65471,133 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2832 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint64Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result - 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 + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_s + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayMap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43159,85 +65610,96 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2864 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Float32Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.store $0 offset=8 - local.get $result + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 389 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.eq + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 0 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43250,85 +65712,122 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2896 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Float64Array#map - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result - 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 + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43341,244 +65840,427 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2928 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int8Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $9 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int8Array#get:length + i32.gt_s end - local.get $result - call $~lib/typedarray/Int8Array#get:length - i32.const 3 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $sourceStart i32.const 0 - call $~lib/typedarray/Int8Array#__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 $result - i32.const 1 - call $~lib/typedarray/Int8Array#__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 $result - 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 + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 0 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $source + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 100 call $~lib/typedarray/Uint8Array#__set - local.get $source + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - i32.const 2 + i32.const 101 call $~lib/typedarray/Uint8Array#__set - local.get $source + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 - i32.const 3 + i32.const 102 call $~lib/typedarray/Uint8Array#__set - local.get $source + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 5 - i32.const 5 + i32.const 103 call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 2960 - local.set $2 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $14 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint8Array#filter - local.tee $result - i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $14 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 $result - call $~lib/typedarray/Uint8Array#get:length + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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.tee $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 10288 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 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 $result + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 10368 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 10400 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + i32.const 1 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 10432 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 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 $result - i32.const 1 - call $~lib/typedarray/Uint8Array#__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 $result - i32.const 2 - call $~lib/typedarray/Uint8Array#__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 + i32.const 16 + i32.const 10464 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43591,369 +66273,316 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 2992 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint8ClampedArray#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart 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 $result - 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 $result 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 + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 + i32.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int16Array#constructor - local.tee $source + local.get $1 i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 3 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int16Array#__set + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint8Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 3024 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 local.get $2 - call $~lib/typedarray/Int16Array#filter - local.tee $result - i32.store $0 offset=8 - local.get $result - 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 $result - 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 $result - 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 $result - 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 $result - 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 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + i32.load8_u $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 + return ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 3056 + local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=4 + i32.store $0 local.get $2 - call $~lib/typedarray/Uint16Array#filter - local.tee $result - i32.store $0 offset=8 - local.get $result - 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 $result - 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 $result + call $~lib/array/Array#get:dataStart + local.get $index 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 $result - i32.const 1 - call $~lib/typedarray/Uint16Array#__get + i32.shl + i32.add + i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Uint8Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 416 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $result - 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 + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Uint8Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 10528 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_u + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -43966,119 +66595,136 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int32Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 3088 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int32Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 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 $result + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart 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 $result - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 5 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44091,244 +66737,265 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 3120 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint32Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - call $~lib/typedarray/Uint32Array#get:length - i32.const 3 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 414 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart 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.get $result - 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 - local.get $result - i32.const 2 - call $~lib/typedarray/Uint32Array#__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 + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Int64Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 5 - i64.const 5 - call $~lib/typedarray/Int64Array#__set + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 3152 - local.set $2 + i32.const 0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $2 + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Int64Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 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 $result + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart 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 $result - 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 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_u + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44341,119 +67008,96 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 5 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 3184 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Uint64Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 - call $~lib/typedarray/Uint64Array#__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 $result - i32.const 1 - 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 $result - 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 + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 0 + i32.shl + memory.copy $0 $0 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> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44466,119 +67110,122 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Float32Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 5 - f32.const 5 - call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 3216 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Float32Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart 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 $result 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 $result - 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.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFilter<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/typedarray/Uint8Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -44591,199 +67238,429 @@ i32.const 0 i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 6 - call $~lib/typedarray/Float64Array#constructor - local.tee $source + local.get $this + local.tee $target i32.store $0 - local.get $source - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 5 - f64.const 5 - call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer local.get $source - i32.const 3248 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $source|4 i32.store $0 offset=4 - local.get $2 - call $~lib/typedarray/Float64Array#filter - local.tee $result + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 i32.store $0 offset=8 - local.get $result - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $9 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 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 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + i32.gt_s end - local.get $result - 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 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $result + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $sourceStart 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 $result - 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 $result - 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 - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 0 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $source + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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/Int8Array#__set - local.get $source + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 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 $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10496 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10576 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 3280 - local.set $3 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#some - local.set $result - local.get $result + local.get $14 + i32.const 10 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 $source - i32.const 3312 - local.set $3 + i32.const 64 + i32.const 10608 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + i32.const 1 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10640 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10672 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#some - local.set $failResult - local.get $failResult - 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 $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -44792,152 +67669,284 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 3344 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3376 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#some - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 2 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $ptr + local.get $value + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $value + i32.sub + i32.const 31 + i32.shr_s + local.get $value + i32.or + i32.and + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.add + i32.load8_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 3408 - local.set $3 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $result - local.get $result 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 $source - i32.const 3440 - local.set $3 + i32.store $0 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#some - local.set $failResult - local.get $failResult - i32.eqz + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 440 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Uint8ClampedArray#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 10736 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_u + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArraySome<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (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 @@ -44946,75 +67955,143 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 3472 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3504 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#some - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 1 + drop + i32.const 1 + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $value + f32.min + f32.max + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (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 @@ -45023,75 +68100,152 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 3536 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3568 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#some - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 3 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i64.extend_i32_s + i32.const 255 + local.get $value + i32.wrap_i64 + i32.sub + i32.const 31 + i32.shr_s + i64.extend_i32_s + local.get $value + i64.or + i64.and + i64.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (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 @@ -45100,75 +68254,140 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 3600 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3632 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#some - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 1 + drop + i32.const 1 + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + f64.const 0 + f64.const 255 + local.get $value + f64.min + f64.max + i32.trunc_sat_f64_u + else + i32.const 0 + end + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 @@ -45177,75 +68396,100 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 3664 - local.set $3 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#some - local.set $result - local.get $result + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3696 - local.set $3 + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#some - local.set $failResult - local.get $failResult - i32.eqz + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 0 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -45254,75 +68498,148 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 3728 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3760 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#some - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $ptr + local.get $value + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $value + i32.sub + i32.const 31 + i32.shr_s + local.get $value + i32.or + i32.and + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -45331,385 +68648,478 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 3792 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#some - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 438 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 3824 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#some - local.set $failResult - local.get $failResult - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 440 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $ptr + local.get $value + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $value + i32.sub + i32.const 31 + i32.shr_s + local.get $value + i32.or + i32.and + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $source + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $source + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $source + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 3856 - local.set $3 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#some - local.set $result - local.get $result + local.get $14 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 $source - i32.const 3888 - local.set $3 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#some - local.set $failResult - local.get $failResult - 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 $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set 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 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 3920 - local.set $3 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#some - local.set $result - local.get $result + local.get $14 + i32.const 10 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 $source - i32.const 3952 - local.set $3 + i32.const 64 + i32.const 10704 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#some - local.set $failResult - local.get $failResult - 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 $14 + global.get $std/typedarray/setSource2 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10800 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 3984 - local.set $3 + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#findIndex - local.set $result - local.get $result + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10832 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> 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 $source - i32.const 4016 - local.set $3 + drop + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#findIndex - local.set $failResult - local.get $failResult - 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 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10864 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 4048 - local.set $3 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#findIndex - local.set $result - local.get $result + local.get $14 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> 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 $source - i32.const 4080 - local.set $3 + drop + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#findIndex - local.set $failResult - local.get $failResult - 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 + local.get $14 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 10896 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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 $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -45718,388 +69128,322 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 4112 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4144 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 2 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 4176 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#findIndex - local.set $result - local.get $result - 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 $source - i32.const 4208 - local.set $3 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#findIndex - local.set $failResult - local.get $failResult - 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 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#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 + return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 4240 - local.set $3 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#findIndex - local.set $result - local.get $result + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index 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 $source - i32.const 4272 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#findIndex - local.set $failResult - local.get $failResult - 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 + i32.shl + i32.add + i32.load16_s $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 + return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 4304 - local.set $3 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#findIndex - local.set $result - local.get $result + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index 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 $source - i32.const 4336 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#findIndex - local.set $failResult - local.get $failResult - 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 + i32.shl + i32.add + i32.load16_s $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 + return ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 4368 - local.set $3 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#findIndex - local.set $result - local.get $result - 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 $source - i32.const 4400 - local.set $3 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 463 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Int16Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 10976 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_s + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFindIndex<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (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 @@ -46108,76 +69452,140 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 4432 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#findIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4464 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_s + else + i32.const 0 + end + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (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 @@ -46186,76 +69594,130 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 4496 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#findIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4528 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 3 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (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 @@ -46264,76 +69726,140 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 4560 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#findIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4592 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_s + else + i32.const 0 + end + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -46342,76 +69868,126 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 4624 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#findIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 461 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4656 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#findIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 463 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 @@ -46420,76 +69996,100 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 4688 - local.set $3 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4720 - local.set $3 + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 1 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -46498,310 +70098,460 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 4752 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 4784 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $source + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source + 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 $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 4816 - local.set $3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findLastIndex - local.set $result - local.get $result + local.get $14 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 4848 - local.set $3 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 10928 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 11024 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $source + i32.const 65 + i32.const 11072 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> i32.const 1 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 4880 - local.set $3 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#findLastIndex - local.set $result - local.get $result + local.get $14 + i32.const 10 i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 4912 - local.set $3 + i32.const 65 + i32.const 11120 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 4944 - local.set $3 + drop + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#findLastIndex - local.set $result - local.get $result + local.get $14 + i32.const 10 i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 4976 - local.set $3 + i32.const 65 + i32.const 11168 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -46810,310 +70560,322 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 5008 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5040 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 2 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 5072 - local.set $3 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5104 - local.set $3 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/typedarray/Uint16Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 8 + i32.const 0 + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 5136 - local.set $3 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#findLastIndex - local.set $result - local.get $result + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5168 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.shl + i32.add + i32.load16_u $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 + return ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 5200 - local.set $3 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5232 - local.set $3 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Uint16Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 486 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Uint16Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 11264 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_u + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (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 @@ -47122,76 +70884,140 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 5264 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5296 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (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 @@ -47200,76 +71026,130 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 5328 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#findLastIndex - local.set $result - local.get $result - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 484 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s end - local.get $source - i32.const 5360 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#findLastIndex - local.set $failResult - local.get $failResult - i32.const -1 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 486 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 3 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayEvery<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (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 @@ -47278,75 +71158,140 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 5392 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#every - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5424 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int8Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_u + else + i32.const 0 + end + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -47355,75 +71300,126 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 5456 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#every - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5488 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 @@ -47432,75 +71428,100 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $source - i32.const 5520 - local.set $3 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $result - local.get $result + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5552 - local.set $3 + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#every - local.set $failResult - local.get $failResult - i32.eqz + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 1 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Uint16Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 @@ -47509,306 +71530,457 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 5584 - local.set $3 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#every - local.set $result - local.get $result + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint16Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5616 - local.set $3 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int16Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 1 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store16 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + i32.const 0 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $source + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 5648 - local.set $3 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#every - local.set $result - local.get $result + local.get $14 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5680 - local.set $3 + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint16Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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/Int32Array#constructor - local.tee $source - i32.store $0 - local.get $source + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $source + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 5712 - local.set $3 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $3 + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint16Array#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#every - local.set $result - local.get $result + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5744 - local.set $3 + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int32Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 11216 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 11312 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 11360 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + i32.const 1 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 11408 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 1 + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - local.get $source - i32.const 5776 - local.set $3 + call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#every - local.set $result - local.get $result + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Uint16Array#set<~lib/array/Array> i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5808 - local.set $3 + drop + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $3 + local.get $14 i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint32Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 11456 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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 $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 @@ -47817,369 +71989,408 @@ i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 + global.get $~lib/memory/__stack_pointer local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 5840 - local.set $3 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#every - local.set $result - local.get $result + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.ne - i32.eqz + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $source - i32.const 5872 - local.set $3 + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Int64Array#every - local.set $failResult - local.get $failResult - i32.eqz + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 2 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/typedarray/Int32Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 5904 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#every - local.set $result - local.get $result - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 5936 - local.set $3 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Uint64Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $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 + return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - local.get $source - i32.const 5968 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#every - local.set $result - local.get $result - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 6000 - local.set $3 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float32Array#every - local.set $failResult - local.get $failResult - i32.eqz - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + i32.load $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 + return ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $failResult i32) - (local $3 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source i32.store $0 - local.get $source - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 6032 - local.set $3 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#every - local.set $result - local.get $result - i32.const 0 - i32.ne - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $source - i32.const 6064 - local.set $3 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=4 - local.get $3 - call $~lib/typedarray/Float64Array#every - local.set $failResult - local.get $failResult - i32.eqz + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 509 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Int32Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 11568 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_s + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $this + local.tee $target i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.extend8_s - local.get $matchedValue - i32.extend8_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 537 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $self + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_s + else + i32.const 0 + end + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48191,149 +72402,269 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 2 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 6176 - local.set $1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Int8Array#forEach - global.get $std/typedarray/forEachCallCount + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 i32.const 3 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayForEach<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $this + local.tee $target i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.const 255 - i32.and - local.get $matchedValue - i32.const 255 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 537 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $self + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_s + else + i32.const 0 + end + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48345,152 +72676,126 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 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 $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 6208 - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Uint8Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.const 255 - i32.and - local.get $matchedValue - i32.const 255 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48502,457 +72807,585 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 2 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 6240 - local.set $1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 + i32.const 1 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $this + local.tee $target i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.extend16_s - local.get $matchedValue - i32.extend16_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + i32.gt_s end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 537 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $self + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 2 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 i32.const 0 - global.set $std/typedarray/forEachCallCount + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $array + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 i32.const 0 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 i32.const 1 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 i32.const 2 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 6272 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 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 541 - 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>~anonymous|0 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - i32.const 65535 - i32.and - local.get $matchedValue - i32.const 65535 - i32.and - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount + local.get $14 + i32.store $0 offset=4 + local.get $14 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/Uint16Array,u16> (type $none_=>_none) - (local $array i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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/Uint16Array#constructor - local.tee $array - i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 i32.const 0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 i32.const 1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $array + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 10 + call $~lib/typedarray/Int32Array#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $1 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 i32.const 2 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 6304 - local.set $1 + i32.const 17 + i32.const 11504 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Uint16Array#forEach - global.get $std/typedarray/forEachCallCount + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + local.get $a + local.set $14 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 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 11616 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 11680 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 11744 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 4 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 11808 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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/testArrayForEach<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -48964,77 +73397,88 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 6336 - local.set $1 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $9 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Int32Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + local.get $9 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 + i32.eqz + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 2 + i32.shl + memory.copy $0 $0 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 (type $i32_i32_i32_=>_none) (param $value i32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49043,145 +73487,53 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $1 i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 - i32.add - global.set $std/typedarray/forEachCallCount + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint32Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 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 $array i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 6368 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 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 541 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.shl + i32.add + i32.load $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 + return ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_none) (param $value i64) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i32) (param $this i32) (param $index i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -49190,215 +73542,287 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $2 i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $2 + call $~lib/array/Array#get:dataStart local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachCallCount - i32.const 1 + i32.const 2 + i32.shl i32.add - global.set $std/typedarray/forEachCallCount + i32.load $0 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i32) + (local $valb 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 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 $array i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 6400 - local.set $1 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Uint32Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Int64Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 541 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Uint32Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i32.ne + if + i32.const 11936 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i32_u + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayForEach<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_none) (param $value i64) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $this + local.tee $target i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 537 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $self + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + local.get $value + i32.trunc_sat_f32_u + else + i32.const 0 + end + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i64) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49410,146 +73834,269 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 2 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 6432 - local.set $1 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Uint64Array#forEach - global.get $std/typedarray/forEachCallCount + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 i32.const 3 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.wrap_i64 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_none) (param $value f32) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $this + local.tee $target i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - f32.convert_i32_s - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 537 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachSelf - local.get $self + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i32) + local.get $value + i32.trunc_sat_f64_u + else + i32.const 0 + end + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49561,146 +74108,126 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 6464 - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Float32Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_none) (param $value f64) (param $index i32) (param $self i32) - (local $matchedValue i32) - (local $4 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 i32.const 0 - i32.store $0 - global.get $std/typedarray/forEachValues - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 - local.get $4 - local.get $index - call $~lib/array/Array#__get - local.set $matchedValue - local.get $value - local.get $matchedValue - f64.convert_i32_s - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 536 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $index - global.get $std/typedarray/forEachCallCount - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 537 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - global.get $std/typedarray/forEachSelf - local.get $self i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 538 - i32.const 5 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end 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.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -49712,135 +74239,103 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 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 $array + local.get $this + local.tee $target i32.store $0 - local.get $array - global.set $std/typedarray/forEachSelf - local.get $array - i32.const 0 - global.get $std/typedarray/forEachValues - local.set $1 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 1 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2 - global.get $std/typedarray/forEachValues - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 2 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 6496 - local.set $1 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/typedarray/Float64Array#forEach - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.eq - i32.eqz + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 541 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 12 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) - (local $i i32) - (local $i|5 i32) - (local $reversedSlice 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int8Array#constructor - local.tee $array - i32.store $0 offset=4 + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int8Array#constructor - local.tee $arrayWithOffset + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 2 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 local.get $i i32.const 1 i32.add @@ -49848,178 +74343,130 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Int8Array#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Int8Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i32.extend8_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - 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 $0 offset=12 - local.get $7 - call $~lib/typedarray/Int8Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Int8Array#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - 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/testArrayReverse<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Uint32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Uint8Array#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 2 + i32.const 0 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i32.store $0 local.get $i i32.const 1 i32.add @@ -50027,179 +74474,462 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Uint8Array#reverse - drop + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Uint8Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - 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 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 + i32.store $0 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint8Array#subarray - local.set $7 + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $setSource6 i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Uint8Array#reverse - local.tee $reversedSlice + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $a i32.store $0 offset=16 - local.get $reversedSlice + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 11872 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 11984 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 12048 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> i32.const 1 - call $~lib/typedarray/Uint8Array#__get + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 12112 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + call $~lib/typedarray/Uint32Array#set<~lib/array/Array> + i32.const 0 + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 67 + i32.const 12176 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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 $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 2 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_s + i64.store $0 local.get $i i32.const 1 i32.add @@ -50207,356 +74937,336 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Uint8ClampedArray#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - 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 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $7 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Uint8ClampedArray#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 + local.get $this + local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length_ + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $1 + return ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) - (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (func $~lib/typedarray/Int64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $2 i32) + (local $3 i64) 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 i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $2 i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int16Array#constructor - local.tee $array - i32.store $0 offset=4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index 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 - local.get $length - call $~lib/typedarray/Int16Array#constructor - local.tee $arrayWithOffset - i32.store $0 offset=8 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $arrayWithOffset - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - call $~lib/typedarray/Int16Array#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Int16Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i32.extend16_s - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset i32.const 4 - i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $7 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i64) + (local $valb i64) + (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 $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Int16Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 + i32.store $0 + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Int64Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 578 + i32.const 758 i32.const 3 call $~lib/builtins/abort unreachable end + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Int64Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i64.ne + if + i32.const 12352 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i64_s + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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/testArrayReverse<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value f32) + (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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint16Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Uint16Array#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $value + i64.trunc_sat_f32_s + else + i64.const 0 + end + i64.store $0 local.get $i i32.const 1 i32.add @@ -50564,175 +75274,372 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Uint16Array#reverse - drop + 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> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Uint16Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - 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 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint16Array#subarray - local.set $7 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Uint16Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 7 - i32.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 6 - i32.eq + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 3 + i32.shl + memory.copy $0 $0 + 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> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $reversedSlice + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 3 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $value + i64.trunc_sat_f64_s + else + i64.const 0 + end + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int32Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Int32Array#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_u + i64.store $0 local.get $i i32.const 1 i32.add @@ -50740,173 +75647,131 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Int32Array#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Int32Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - 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 $0 offset=12 - local.get $7 - call $~lib/typedarray/Int32Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Int32Array#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - 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/testArrayReverse<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint32Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Uint32Array#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_s + i64.store $0 local.get $i i32.const 1 i32.add @@ -50914,175 +75779,131 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Uint32Array#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Uint32Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - 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 $0 offset=12 - local.get $7 - call $~lib/typedarray/Uint32Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 8 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 7 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 6 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Uint32Array#__get - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - 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/testArrayReverse<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int64Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.get $length - call $~lib/typedarray/Int64Array#constructor - local.tee $arrayWithOffset + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 0 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $arrayWithOffset + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set + i64.store $0 local.get $i i32.const 1 i32.add @@ -51090,650 +75911,475 @@ br $for-loop|0 end end - local.get $array - call $~lib/typedarray/Int64Array#reverse - drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Int64Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - 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 $0 offset=12 - local.get $7 - call $~lib/typedarray/Int64Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 8 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 7 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 3 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - 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/testArrayReverse<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) - (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - local.get $length - call $~lib/typedarray/Uint64Array#constructor - local.tee $array + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 + local.get $14 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - local.get $length - call $~lib/typedarray/Uint64Array#constructor - local.tee $arrayWithOffset + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $arrayWithOffset - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - call $~lib/typedarray/Uint64Array#reverse - drop + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 3 + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Uint64Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - i32.const 4 - i32.const 8 - call $~lib/typedarray/Uint64Array#subarray - local.set $7 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + 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 $a + i32.store $0 offset=16 + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12240 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12400 + call $~lib/rt/__newArray + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 12512 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Uint64Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 8 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 7 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + drop + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 i32.const 3 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 68 + i32.const 12624 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) - (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 0 - i32.const 20 - memory.fill $0 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float32Array#constructor - local.tee $array + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 4 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> i32.const 0 - local.get $length - call $~lib/typedarray/Float32Array#constructor - local.tee $arrayWithOffset - i32.store $0 offset=8 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $arrayWithOffset - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - call $~lib/typedarray/Float32Array#reverse drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Float32Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - f32.convert_i32_s - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float32Array#subarray - local.set $7 + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Float32Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 8 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 7 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 6 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 i32.const 3 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 68 + i32.const 12736 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $14 + i32.store $0 offset=20 + local.get $14 + 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/testArrayReverse<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $arrayWithOffset i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $i|5 i32) - (local $reversedSlice i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayReverseValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float64Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float64Array#constructor - local.tee $arrayWithOffset - i32.store $0 offset=8 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $arrayWithOffset - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $array - call $~lib/typedarray/Float64Array#reverse drop - i32.const 0 - local.set $i|5 - loop $for-loop|1 - local.get $i|5 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|5 - call $~lib/typedarray/Float64Array#__get - local.get $values - local.get $length - i32.const 1 - i32.sub - local.get $i|5 - i32.sub - call $~lib/array/Array#__get - f64.convert_i32_s - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|5 - i32.const 1 - i32.add - local.set $i|5 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.get $arrayWithOffset - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray - local.set $7 + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - local.get $7 - call $~lib/typedarray/Float64Array#reverse - local.tee $reversedSlice - i32.store $0 offset=16 - local.get $reversedSlice + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 8 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $reversedSlice - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $reversedSlice - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 577 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $reversedSlice + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 2 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_s + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int8Array#toString (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -51744,13 +76390,12 @@ i32.const 0 i32.store $0 local.get $this - i32.const 8560 local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 local.get $1 - call $~lib/typedarray/Int8Array#join + call $~lib/array/Array#get:length_ local.set $1 global.get $~lib/memory/__stack_pointer i32.const 4 @@ -51759,107 +76404,40 @@ local.get $1 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $2 i32) + (local $3 i64) 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int8Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/typedarray/Int8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_i64) (param $this i32) (param $index i32) (result i64) + (local $2 i32) + (local $3 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -51869,151 +76447,387 @@ i32.const 0 i32.store $0 local.get $this - i32.const 8560 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store $0 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $1 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + i64.load $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 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala i64) + (local $valb i64) + (local $6 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 $0 + i32.const 0 + i32.store $0 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Uint64Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint8Array#constructor - local.tee $array + local.get $6 i32.store $0 - local.get $array + local.get $6 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $array + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Uint64Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + i64.ne + if + i32.const 12960 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.convert_i64_u + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8Array#__set + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 675 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $array - call $~lib/typedarray/Uint8Array#toString - local.set $1 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i64) + local.get $value + i64.trunc_sat_f32_u + else + i64.const 0 + end + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $9 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $9 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 676 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - i32.const 16 + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint8ClampedArray#toString (type $i32_=>_i32) (param $this 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.set $targetStart + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#join - local.set $1 + i32.eqz + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 3 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value f64) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52021,124 +76835,273 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 675 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $array - call $~lib/typedarray/Uint8ClampedArray#toString - local.set $1 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + if (result i64) + local.get $value + i64.trunc_sat_f64_u + else + i64.const 0 + end + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int16Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $this + local.tee $target i32.store $0 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_u + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + 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 $1 - return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52146,124 +77109,131 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int16Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int16Array#__set i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s end - local.get $array - call $~lib/typedarray/Int16Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz if - i32.const 0 - i32.const 544 - i32.const 676 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint16Array#toString (type $i32_=>_i32) (param $this 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 $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 1 + i32.eq + drop i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $1 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_s + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Uint64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52271,374 +77241,462 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint16Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 675 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $array - call $~lib/typedarray/Uint16Array#toString - local.set $1 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 0 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + i64.extend_i32_s + i64.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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 4 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 + i32.const 24 + memory.fill $0 global.get $~lib/memory/__stack_pointer - local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 2 + i64.const 9 + call $~lib/typedarray/Int64Array#__set global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $array - i32.store $0 - local.get $array + i32.const 4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $setSource5 + i32.store $0 offset=8 + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $array + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $array + i32.const 103 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set + call $~lib/typedarray/Int16Array#constructor + local.tee $setSource6 + i32.store $0 offset=12 + local.get $setSource6 + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $1 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $14 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/typedarray/Int32Array#toString - local.set $1 + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint64Array#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $14 + global.get $std/typedarray/setSource1 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Uint32Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 12848 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource2 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Uint32Array#join - local.set $1 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 3 + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 13008 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - return - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource4 + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 6 + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 13120 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint32Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $array + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $array - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set - i32.const 0 drop - local.get $array - i32.const 8560 - local.set $1 + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint32Array#join - local.set $1 + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource3 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 2 + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 13232 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/typedarray/Uint32Array#toString - local.set $1 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $14 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $14 + local.get $setSource5 + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 0 + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int64Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + local.get $14 + i32.store $0 offset=4 + local.get $14 + local.get $setSource6 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=4 + local.get $14 + global.get $std/typedarray/setSource7 + local.set $14 global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=20 + local.get $14 + i32.const 7 + call $~lib/typedarray/Uint64Array#set<~lib/array/Array> i32.const 0 - i32.store $0 - local.get $this - i32.const 8560 - local.set $1 + drop + local.get $a + local.set $14 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $1 + local.get $14 + i32.store $0 offset=4 + local.get $14 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 13344 + call $~lib/rt/__newArray + local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $14 + i32.store $0 offset=20 + local.get $14 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -52646,95 +77704,121 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int64Array#constructor - local.tee $array - i32.store $0 - local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $array - i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 675 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $array - call $~lib/typedarray/Int64Array#toString - local.set $1 + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $12 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 1 + i32.eq + drop + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f32.convert_i32_s + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end end global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint64Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#__uget (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $2 i32) + (local $3 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -52744,122 +77828,28 @@ i32.const 0 i32.store $0 local.get $this - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - 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 - return - ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $array 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Uint64Array#constructor - local.tee $array + local.get $2 i32.store $0 - local.get $array - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $array + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $array - i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - i32.const 0 - drop - local.get $array - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint64Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/typedarray/Uint64Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 8592 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + i32.shl + i32.add + f32.load $0 + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $~lib/typedarray/Float32Array#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/array/Array#__uget (type $i32_i32_=>_f32) (param $this i32) (param $index i32) (result f32) + (local $2 i32) + (local $3 f32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -52869,151 +77859,143 @@ i32.const 0 i32.store $0 local.get $this - i32.const 8560 - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $2 i32.store $0 - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $1 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 2 + i32.shl + i32.add + f32.load $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 return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) + (local $i i32) + (local $vala f32) + (local $valb f32) + (local $6 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 $0 - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 - call $~lib/typedarray/Float32Array#constructor - local.tee $array i32.store $0 - local.get $array - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $array - i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - i32.const 1 - drop - local.get $array - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 9776 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 672 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $array - call $~lib/typedarray/Float32Array#toString - local.set $1 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 9776 - local.set $1 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/typedarray/Float32Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length + i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 673 - i32.const 5 + i32.const 758 + 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#toString (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.const 8560 - local.set $1 - global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 + local.set $i + loop $for-loop|0 + local.get $i + local.get $len + i32.lt_s + if + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/typedarray/Float32Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + local.get $i + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + f32.ne + if + i32.const 13520 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + f64.promote_f32 + local.get $valb + 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 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + local.get $i + i32.const 1 + i32.add + local.set $i + 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 - return ) - (func $std/typedarray/testArrayJoinAndToString<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $array i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $9 i32) global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -53021,740 +78003,1034 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $array - i32.store $0 - local.get $array i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $array - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - i32.const 1 - drop - local.get $array - i32.const 8560 - local.set $1 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $1 + local.get $this + local.tee $target + i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $1 - i32.const 9776 - local.set $1 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $9 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq - i32.eqz + local.get $9 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 672 + i32.const 336 + i32.const 608 + i32.const 1902 i32.const 5 call $~lib/builtins/abort unreachable end - local.get $array - call $~lib/typedarray/Float64Array#toString - local.set $1 + local.get $target + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.store $0 offset=4 - local.get $1 - i32.const 9776 - local.set $1 + local.get $9 + i32.store $0 offset=8 + local.get $9 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $9 global.get $~lib/memory/__stack_pointer - local.get $1 + local.get $9 i32.store $0 offset=8 - local.get $1 - call $~lib/string/String.__eq + local.get $9 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 673 - i32.const 5 - call $~lib/builtins/abort - unreachable - end + drop + local.get $targetStart + local.get $sourceStart + local.get $sourceLen + i32.const 2 + i32.shl + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - i32.const 16 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value i64) + (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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int8Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 offset=12 - i32.const 1 - drop + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + i32.eq + drop i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Int8Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Int8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f32.convert_i64_s + f32.store $0 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 offset=12 - i32.const 0 - drop - i32.const 1 - drop + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + i32.eq + drop i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Uint8Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Uint8Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f32.convert_i32_u + f32.store $0 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 offset=12 - i32.const 0 - drop - i32.const 0 - drop - i32.const 1 - drop + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray.wrap@varargs - local.tee $result - i32.store $0 offset=16 + i32.eq + drop i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i i32.const 1 + i32.shl i32.add - local.set $i|6 - br $for-loop|1 + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f32.convert_i32_s + f32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int16Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 2 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 offset=12 - i32.const 0 - drop - i32.const 0 - drop + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart i32.const 0 - drop i32.const 1 + i32.eq drop - global.get $~lib/memory/__stack_pointer - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Int16Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Int16Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + local.get $targetStart + local.get $i + i32.const 2 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f32.convert_i32_s + f32.store $0 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (type $none_=>_none) + (local $setSource4 i32) + (local $setSource5 i32) + (local $setSource6 i32) + (local $a 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 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $setSource4 i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.get $setSource4 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint16Array#constructor - local.tee $array + local.get $12 i32.store $0 offset=4 + local.get $12 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + i64.const 7 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + local.get $setSource4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $setSource5 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer + local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + 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 $setSource6 i32.store $0 offset=12 + local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 0 - drop + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 2 + i32.const 1002 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.const 10 + call $~lib/typedarray/Float32Array#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + global.get $std/typedarray/setSource1 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 0 - drop + call $~lib/typedarray/Float32Array#set<~lib/array/Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 13456 + call $~lib/rt/__newArray + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + global.get $std/typedarray/setSource2 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 3 + call $~lib/typedarray/Float32Array#set<~lib/array/Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 13568 + call $~lib/rt/__newArray + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $setSource4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 6 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 13632 + call $~lib/rt/__newArray + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> i32.const 0 drop - i32.const 1 + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 0 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 4 + call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + global.get $std/typedarray/setSource7 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + i32.const 7 + call $~lib/typedarray/Float32Array#set<~lib/array/Array> + i32.const 0 drop + local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 13696 + call $~lib/rt/__newArray + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (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 $0 global.get $~lib/memory/__stack_pointer - local.get $buffer i32.const 0 - i32.const 1 - global.set $~argumentsLength + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - call $~lib/typedarray/Uint16Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|6 - call $~lib/typedarray/Uint16Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Uint16Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 - i32.const 1 - i32.add - local.set $i|6 - br $for-loop|1 - end + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart i32.const 0 - local.get $length - call $~lib/typedarray/Int32Array#constructor - local.tee $array - i32.store $0 offset=4 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f64.convert_i32_s + f64.store $0 local.get $i i32.const 1 i32.add @@ -53763,513 +79039,563 @@ end end global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 12 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#__uget (type $i32_i32_=>_f64) (param $this i32) (param $index 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 - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int32Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + 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#__uget (type $i32_i32_=>_f64) (param $this i32) (param $index 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 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|6 - call $~lib/typedarray/Int32Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Int32Array#__get - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 - i32.const 1 - i32.add - local.set $i|6 - br $for-loop|1 - end - end + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:dataStart + local.get $index + i32.const 3 + i32.shl + i32.add + f64.load $0 + 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 $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) + (local $len i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $vala f64) + (local $valb f64) + (local $6 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 i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 + local.get $target + local.set $6 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $6 i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.get $6 + call $~lib/typedarray/Float64Array#get:length + local.set $len + local.get $len + local.get $compare + local.set $6 global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint32Array#constructor - local.tee $array - i32.store $0 offset=4 + local.get $6 + i32.store $0 + local.get $6 + call $~lib/array/Array#get:length + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $len i32.lt_s if - local.get $array - local.get $i - local.get $values + local.get $target + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $i - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Float64Array#__uget + local.set $vala + local.get $compare + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint32Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 - i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|6 - call $~lib/typedarray/Uint32Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Uint32Array#__get - i32.eq - i32.eqz + call $~lib/array/Array#__uget + local.set $valb + local.get $vala + local.get $valb + f64.ne if + i32.const 13872 + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + i32.const 3 + local.get $i + f64.convert_i32_s + local.get $vala + local.get $valb + f64.const 0 + f64.const 0 + call $~lib/builtins/trace i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 764 + i32.const 7 + call $~lib/builtins/abort + unreachable + end end - local.get $i|6 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + 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/testArrayWrap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value f32) + (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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Int64Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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 - drop + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 3 + i32.const 2 + i32.eq + drop i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Int64Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Int64Array#__get - i64.eq + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 0 + drop + i32.const 1 i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + drop + local.get $ptr + local.get $value + f64.promote_f32 + f64.store $0 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value i64) + (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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Uint64Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - local.get $array - local.get $i - local.get $values - local.get $i - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int64Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $7 + local.get $12 i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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 1 - drop + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint64Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + i32.eq + drop i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen i32.lt_s if - local.get $array - local.get $i|6 - call $~lib/typedarray/Uint64Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Uint64Array#__get - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 + local.get $targetStart + local.get $i + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f64.convert_i64_s + f64.store $0 + local.get $i i32.const 1 i32.add - local.set $i|6 - br $for-loop|1 + local.set $i + br $for-loop|0 end end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|6 i32) - (local $7 i32) + (local $ptr i32) + (local $value 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 global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 - memory.fill $0 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values + local.get $this + local.tee $target i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $length - call $~lib/typedarray/Float32Array#constructor - local.tee $array + local.get $source + local.tee $source|4 i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set + i32.const 0 + i32.shl + i32.add + i32.load8_u $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f64.convert_i32_u + f64.store $0 local.get $i i32.const 1 i32.add @@ -54278,132 +79604,130 @@ end end global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 12 i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - drop + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 i32.const 0 drop - i32.const 1 - drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float32Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Int16Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|6 - call $~lib/typedarray/Float32Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Float32Array#__get - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 - i32.const 1 - i32.add - local.set $i|6 - br $for-loop|1 - end + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $values i32) - (local $length i32) - (local $array i32) - (local $i i32) - (local $buffer i32) - (local $result i32) - (local $i|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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - global.get $std/typedarray/testArrayWrapValues - local.tee $values - i32.store $0 - local.get $values - call $~lib/array/Array#get:length - local.set $length + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 - local.get $length - call $~lib/typedarray/Float64Array#constructor - local.tee $array - i32.store $0 offset=4 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $length + local.get $sourceLen i32.lt_s if - local.get $array + local.get $targetStart local.get $i - local.get $values + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__get + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set + f64.store $0 local.get $i i32.const 1 i32.add @@ -54412,165 +79736,130 @@ end end global.get $~lib/memory/__stack_pointer - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=8 - local.get $7 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $buffer - i32.store $0 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 0 - drop - i32.const 1 - drop - global.get $~lib/memory/__stack_pointer - local.get $buffer - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array.wrap@varargs - local.tee $result - i32.store $0 offset=16 - i32.const 0 - local.set $i|6 - loop $for-loop|1 - local.get $i|6 - local.get $length - i32.lt_s - if - local.get $array - local.get $i|6 - call $~lib/typedarray/Float64Array#__get - local.get $result - local.get $i|6 - call $~lib/typedarray/Float64Array#__get - f64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 730 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $i|6 - i32.const 1 - i32.add - local.set $i|6 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/typedarray/Float64Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) + (local $ptr i32) + (local $value i32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 - local.get $target - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $len - local.get $compare + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 call $~lib/array/Array#get:length - i32.eq - i32.eqz + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float64Array#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 3 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/array/Array#get:dataStart + local.set $sourceStart + i32.const 0 + i32.const 1 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $len + local.get $sourceLen i32.lt_s if - local.get $target + local.get $targetStart local.get $i - call $~lib/typedarray/Int8Array#__uget - local.set $vala - local.get $compare + i32.const 3 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne - if - i32.const 10320 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_s - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end + i32.const 0 + i32.shl + i32.add + i32.load8_s $0 + local.set $value + i32.const 0 + drop + i32.const 0 + drop + local.get $ptr + local.get $value + f64.convert_i32_s + f64.store $0 local.get $i i32.const 1 i32.add @@ -54579,11 +79868,11 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (type $none_=>_none) (local $setSource4 i32) (local $setSource5 i32) (local $setSource6 i32) @@ -54597,16 +79886,14 @@ (local $10 i32) (local $11 i32) (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 @@ -54615,14 +79902,29 @@ local.tee $setSource4 i32.store $0 local.get $setSource4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 0 i64.const 7 call $~lib/typedarray/Int64Array#__set local.get $setSource4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 1 i64.const 8 call $~lib/typedarray/Int64Array#__set local.get $setSource4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 2 i64.const 9 call $~lib/typedarray/Int64Array#__set @@ -54631,20 +79933,40 @@ i32.const 4 call $~lib/typedarray/Uint8Array#constructor local.tee $setSource5 - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 0 i32.const 100 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 1 i32.const 101 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 2 i32.const 102 call $~lib/typedarray/Uint8Array#__set local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 3 i32.const 103 call $~lib/typedarray/Uint8Array#__set @@ -54653,218 +79975,334 @@ i32.const 3 call $~lib/typedarray/Int16Array#constructor local.tee $setSource6 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 0 i32.const 1000 call $~lib/typedarray/Int16Array#__set local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 1 i32.const 1001 call $~lib/typedarray/Int16Array#__set local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 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 + call $~lib/typedarray/Float64Array#constructor local.tee $a - i32.store $0 offset=12 + i32.store $0 offset=16 local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 global.get $std/typedarray/setSource1 - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 10 - i32.const 0 - i32.const 16 - i32.const 10288 + i32.const 3 + i32.const 63 + i32.const 13760 call $~lib/rt/__newArray - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 global.get $std/typedarray/setSource2 - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 3 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 10 - i32.const 0 - i32.const 16 - i32.const 10368 + i32.const 3 + i32.const 63 + i32.const 13920 call $~lib/rt/__newArray - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $setSource4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 10 - i32.const 0 - i32.const 16 - i32.const 10400 + i32.const 3 + i32.const 63 + i32.const 14032 call $~lib/rt/__newArray - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - i32.const 1 + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + i32.const 0 drop local.get $a - global.get $std/typedarray/setSource3 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 10432 - call $~lib/rt/__newArray - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $a + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $setSource5 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 0 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 local.get $setSource6 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 4 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 global.get $std/typedarray/setSource7 - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $12 + i32.store $0 offset=20 + local.get $12 i32.const 7 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> + call $~lib/typedarray/Float64Array#set<~lib/array/Array> i32.const 0 drop local.get $a + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=4 + local.get $12 i32.const 10 - i32.const 0 - i32.const 16 - i32.const 10464 + i32.const 3 + i32.const 63 + i32.const 14144 call $~lib/rt/__newArray - local.set $14 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + local.get $12 + i32.store $0 offset=20 + local.get $12 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) + (local $ptr i32) + (local $value f32) + (local $12 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 - local.get $target - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 + drop + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Float32Array#get:length + local.set $sourceLen + local.get $offset|5 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 + i32.const 0 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart + i32.const 1 + i32.const 0 + i32.eq + drop i32.const 0 local.set $i loop $for-loop|0 local.get $i - local.get $len + local.get $sourceLen i32.lt_s if - local.get $target + local.get $targetStart local.get $i - call $~lib/typedarray/Uint8Array#__uget - local.set $vala - local.get $compare + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne - if - i32.const 10528 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_u - local.get $valb - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $value + i32.const 1 + drop + i32.const 1 + drop + local.get $ptr + local.get $value + local.get $value + f32.sub + f32.const 0 + f32.eq + if (result i32) + f32.const 0 + f32.const 255 + local.get $value + f32.min + f32.max + i32.trunc_sat_f32_u + else i32.const 0 - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end end + i32.store8 $0 local.get $i i32.const 1 i32.add @@ -54873,2956 +80311,3404 @@ end end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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/Uint8ClampedArray#set<~lib/typedarray/Int32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) (local $12 i32) - (local $13 i32) - (local $14 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $this + local.tee $target i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - 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 $setSource5 + local.get $source + local.tee $source|4 i32.store $0 offset=4 - local.get $setSource5 + local.get $offset + local.set $offset|5 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + drop + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $setSource6 + local.get $12 i32.store $0 offset=8 - local.get $setSource6 + local.get $12 + call $~lib/typedarray/Int32Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target + local.set $12 global.get $~lib/memory/__stack_pointer + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint8Array#constructor - local.tee $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 + local.set $12 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $12 + i32.store $0 offset=8 + local.get $12 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $a - i32.const 10 + i32.const 2 + i32.eq + drop i32.const 0 - i32.const 64 - i32.const 10496 - call $~lib/rt/__newArray - local.set $14 + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 1 + i32.eqz + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + local.get $ptr + local.get $value + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.const 255 + local.get $value + i32.sub + i32.const 31 + i32.shr_s + local.get $value + i32.or + i32.and + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> (type $i32_i32_i32_=>_none) (param $this i32) (param $source i32) (param $offset i32) + (local $target i32) + (local $source|4 i32) + (local $offset|5 i32) + (local $sourceLen i32) + (local $targetStart i32) + (local $sourceStart i32) + (local $i i32) + (local $ptr i32) + (local $value i32) + (local $12 i32) + (local $13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10576 - call $~lib/rt/__newArray - local.set $14 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 i32.const 0 - i32.const 64 - i32.const 10608 - call $~lib/rt/__newArray - local.set $14 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - i32.const 1 + local.get $this + local.tee $target + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $source + local.tee $source|4 + i32.store $0 offset=4 + local.get $offset + local.set $offset|5 + i32.const 0 drop - local.get $a - global.get $std/typedarray/setSource3 + local.get $source|4 local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store $0 offset=8 local.get $14 - i32.const 2 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> - local.get $a - i32.const 10 + call $~lib/typedarray/Uint32Array#get:length + local.set $sourceLen + local.get $offset|5 i32.const 0 - i32.const 64 - i32.const 10640 - call $~lib/rt/__newArray + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $sourceLen + local.get $offset|5 + i32.add + local.get $target + local.set $14 + global.get $~lib/memory/__stack_pointer + local.get $14 + i32.store $0 offset=8 + local.get $14 + call $~lib/typedarray/Uint8ClampedArray#get:length + i32.gt_s + end + if + i32.const 336 + i32.const 608 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $target local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store $0 offset=8 local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource5 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $offset|5 i32.const 0 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Uint8Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 + i32.shl + i32.add + local.set $targetStart + local.get $source|4 local.set $14 global.get $~lib/memory/__stack_pointer local.get $14 - i32.store $0 offset=16 + i32.store $0 offset=8 local.get $14 - i32.const 7 - call $~lib/typedarray/Uint8Array#set<~lib/array/Array> + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.set $sourceStart i32.const 0 + i32.const 2 + i32.eq drop - local.get $a - i32.const 10 i32.const 0 - i32.const 64 - i32.const 10672 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.set $i + loop $for-loop|0 + local.get $i + local.get $sourceLen + i32.lt_s + if + local.get $targetStart + local.get $i + i32.const 0 + i32.shl + i32.add + local.set $ptr + local.get $sourceStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $value + i32.const 1 + drop + i32.const 0 + drop + i32.const 0 + i32.eqz + drop + local.get $ptr + i32.const 255 + local.tee $12 + local.get $value + local.tee $13 + local.get $12 + local.get $13 + i32.lt_u + select + i32.store8 $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len + i32.store $0 offset=8 local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load8_s $0 + local.set $a + local.get $ptr + i32.load8_s $0 offset=1 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store8 $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load8_s $0 offset=2 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store8 $0 offset=1 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store8 $0 offset=2 + end + local.get $ptr + i32.load8_s $0 + local.set $a|7 + local.get $ptr + i32.load8_s $0 offset=1 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store8 $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store8 $0 offset=1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.1 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.1 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 0 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne if - local.get $target - local.get $i - call $~lib/typedarray/Uint8ClampedArray#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 i32.ne if - i32.const 10736 - local.set $6 + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_u - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns end - local.get $i + local.get $i|32 i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.sub + local.set $i|32 + br $for-loop|4 end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $~lib/typedarray/Int8Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 - i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i64.const 0 + i64.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - 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 $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - 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 $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10704 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10800 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10832 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10864 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/array/Array> - i32.const 1 - drop - local.get $a - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 10896 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.get $comparator + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) - (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) + (func $~lib/typedarray/Int8Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $target - local.get $i - call $~lib/typedarray/Int16Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne - if - i32.const 10976 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_s - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $i + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 1 - i32.add - local.set $i - br $for-loop|0 + drop + i32.const 1 + i32.const 4 + i32.le_u + drop + i32.const 14320 + br $~lib/util/sort/COMPARATOR|inlined.0 end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int8Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $source i32) + (local $result 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 + call $~lib/typedarray/Int8Array#constructor + local.tee $source i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + local.get $2 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - 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 $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Int8Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 10 - call $~lib/typedarray/Int16Array#constructor - local.tee $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 + i32.const 3 + call $~lib/typedarray/Int8Array#__set global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - local.get $a - i32.const 10 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int8Array#__get i32.const 1 - i32.const 65 - i32.const 10928 - call $~lib/rt/__newArray - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get i32.const 3 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 11024 - call $~lib/rt/__newArray - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 11072 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14352 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - i32.const 1 + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Int8Array#sort drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 11120 - call $~lib/rt/__newArray - local.set $14 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $a - local.get $setSource5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $a - i32.const 10 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 65 - i32.const 11168 - call $~lib/rt/__newArray - local.set $14 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 891 + i32.const 3 + 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 $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Uint16Array#get:length - local.set $len + i32.store $0 offset=8 local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load8_u $0 + local.set $a + local.get $ptr + i32.load8_u $0 offset=1 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store8 $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load8_u $0 offset=2 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store8 $0 offset=1 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store8 $0 offset=2 + end + local.get $ptr + i32.load8_u $0 + local.set $a|7 + local.get $ptr + i32.load8_u $0 offset=1 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store8 $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store8 $0 offset=1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.2 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.2 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 0 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi i32.lt_s if - local.get $target - local.get $i - call $~lib/typedarray/Uint16Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s if - i32.const 11264 - local.set $6 + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $34 i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_u - local.get $valb - f64.convert_i32_u - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u if - i32.const 0 - i32.const 544 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 end end - local.get $i - i32.const 1 + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl i32.add - local.set $i - br $for-loop|0 + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $~lib/typedarray/Uint8Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 - i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i64.const 0 + i64.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - 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 $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - 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/Uint16Array#constructor - local.tee $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 0 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 11216 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 11312 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 11360 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 11408 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Uint16Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Uint16Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $a - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 11456 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint8Array#get:length + local.get $comparator + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) - (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + (func $~lib/typedarray/Uint8Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $target - local.get $i - call $~lib/typedarray/Int32Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne - if - i32.const 11568 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_s - local.get $valb - 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 764 - i32.const 7 - 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 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $i + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 1 - i32.add - local.set $i - br $for-loop|0 + drop + i32.const 0 + drop + i32.const 14384 + br $~lib/util/sort/COMPARATOR|inlined.0 end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $source i32) + (local $result 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 + call $~lib/typedarray/Uint8Array#constructor + local.tee $source i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + local.get $2 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 3 - i32.const 103 + i32.const 1 call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 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 - local.tee $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 + call $~lib/typedarray/Uint8Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 11504 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 i32.const 3 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 11616 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 11680 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 + call $~lib/typedarray/Uint8Array#__set global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 11744 - call $~lib/rt/__newArray - local.set $14 + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $a - local.get $setSource5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.set $~argumentsLength i32.const 0 - drop - local.get $a - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 11808 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) - (local $i i32) - (local $vala i32) - (local $valb i32) - (local $6 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Uint8Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length + call $~lib/typedarray/Uint8Array#__get + i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 758 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $target - local.get $i - call $~lib/typedarray/Uint32Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i32.ne - if - i32.const 11936 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i32_u - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - local.get $i - i32.const 1 - i32.add - local.set $i - 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/Uint32Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 - i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 + call $~lib/typedarray/Uint8Array#__get i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + local.get $2 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + call $~lib/typedarray/Uint8Array#__get i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14416 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 10 - call $~lib/typedarray/Uint32Array#constructor - local.tee $a + local.get $2 i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 + local.get $2 + call $~lib/typedarray/Uint8Array#sort + drop + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 11872 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $a - i32.const 10 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get i32.const 2 - i32.const 67 - i32.const 11984 - call $~lib/rt/__newArray - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.const 67 - i32.const 12048 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + call $~lib/typedarray/Uint8Array#__get i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 891 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 12112 - call $~lib/rt/__newArray - local.set $14 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Uint32Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Uint32Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $a - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 12176 - call $~lib/rt/__newArray - local.set $14 + i64.const 0 + i64.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#get:length + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) - (local $i i32) - (local $vala i64) - (local $valb i64) - (local $6 i32) + (func $~lib/typedarray/Uint8ClampedArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $target - local.get $i - call $~lib/typedarray/Int64Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i64.ne - if - i32.const 12352 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i64_s - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $i + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) i32.const 1 - i32.add - local.set $i - br $for-loop|0 + drop + i32.const 0 + drop + i32.const 14448 + br $~lib/util/sort/COMPARATOR|inlined.1 end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $source i32) + (local $result 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $source i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + local.get $2 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 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 $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $a - i32.const 10 i32.const 3 - i32.const 68 - i32.const 12240 - call $~lib/rt/__newArray - local.set $14 + call $~lib/typedarray/Uint8ClampedArray#__set global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12400 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 12512 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - local.get $a - i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 - i32.const 68 - i32.const 12624 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 0 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14480 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Uint8ClampedArray#sort drop - local.get $a - i32.const 10 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 - i32.const 68 - i32.const 12736 - call $~lib/rt/__newArray - local.set $14 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 891 + 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/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) (local $i i32) - (local $vala i64) - (local $valb i64) - (local $6 i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Uint64Array#get:length - local.set $len + i32.store $0 offset=8 local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load16_s $0 + local.set $a + local.get $ptr + i32.load16_s $0 offset=2 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store16 $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load16_s $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store16 $0 offset=2 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store16 $0 offset=4 + end + local.get $ptr + i32.load16_s $0 + local.set $a|7 + local.get $ptr + i32.load16_s $0 offset=2 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store16 $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store16 $0 offset=2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.3 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.3 end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf i32.const 0 local.set $i - loop $for-loop|0 + loop $for-loop|1 local.get $i - local.get $len - i32.lt_s + local.get $lgPlus2 + i32.lt_u if - local.get $target + local.get $leftRunStartBuf local.get $i - call $~lib/typedarray/Uint64Array#__uget - local.set $vala - local.get $compare + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - i64.ne + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne if - i32.const 12960 - local.set $6 + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.convert_i64_u - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns end - local.get $i + local.get $i|32 i32.const 1 - i32.add - local.set $i - br $for-loop|0 + i32.sub + local.set $i|32 + br $for-loop|4 end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint64Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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) + (func $~lib/typedarray/Int16Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 - i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i64.const 0 + i64.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - 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 $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - 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/Uint64Array#constructor - local.tee $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 12848 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 3 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 13008 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 13120 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - i32.const 1 - drop - local.get $a - global.get $std/typedarray/setSource3 - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 2 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 13232 - call $~lib/rt/__newArray - local.set $14 - global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Uint64Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $14 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - i32.const 7 - call $~lib/typedarray/Uint64Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $a - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 13344 - call $~lib/rt/__newArray - local.set $14 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.get $comparator + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $14 - i32.store $0 offset=16 - local.get $14 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) - (local $i i32) - (local $vala f32) - (local $valb f32) - (local $6 i32) + (func $~lib/typedarray/Int16Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $target - local.get $i - call $~lib/typedarray/Float32Array#__uget - local.set $vala - local.get $compare - local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - f32.ne - if - i32.const 13520 - local.set $6 - global.get $~lib/memory/__stack_pointer - local.get $6 - i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - f64.promote_f32 - local.get $valb - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end - local.get $i + unreachable + end + global.get $~lib/memory/__stack_pointer + block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) i32.const 1 - i32.add - local.set $i - br $for-loop|0 + drop + i32.const 2 + i32.const 4 + i32.le_u + drop + i32.const 14512 + br $~lib/util/sort/COMPARATOR|inlined.0 end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int16Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float32Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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/testArraySort<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $source i32) + (local $result 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 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 + i64.const 0 + i64.store $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 + call $~lib/typedarray/Int16Array#constructor + local.tee $source i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i32.const 1 + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $setSource5 + local.get $2 i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 + local.get $2 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + call $~lib/typedarray/Int16Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $setSource6 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int16Array#sort@varargs + local.tee $result i32.store $0 offset=8 - local.get $setSource6 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 + call $~lib/typedarray/Int16Array#__get 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 $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - local.get $a - i32.const 10 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.const 62 - i32.const 13456 - call $~lib/rt/__newArray - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 + call $~lib/typedarray/Int16Array#__get i32.const 3 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 13568 - call $~lib/rt/__newArray - local.set $12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 13632 - call $~lib/rt/__newArray - local.set $12 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14544 + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - i32.const 0 + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Int16Array#sort drop - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Float32Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $12 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - i32.const 7 - call $~lib/typedarray/Float32Array#set<~lib/array/Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - drop - local.get $a - i32.const 10 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int16Array#__get i32.const 2 - i32.const 62 - i32.const 13696 - call $~lib/rt/__newArray - local.set $12 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 891 + i32.const 3 + 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 $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (type $i32_i32_=>_none) (param $target i32) (param $compare i32) - (local $len i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) (local $i i32) - (local $vala f64) - (local $valb f64) - (local $6 i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - local.get $target - call $~lib/typedarray/Float64Array#get:length - local.set $len + i32.store $0 offset=8 local.get $len - local.get $compare - call $~lib/array/Array#get:length - i32.eq - i32.eqz + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load16_u $0 + local.set $a + local.get $ptr + i32.load16_u $0 offset=2 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store16 $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load16_u $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store16 $0 offset=2 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store16 $0 offset=4 + end + local.get $ptr + i32.load16_u $0 + local.set $a|7 + local.get $ptr + i32.load16_u $0 offset=2 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store16 $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store16 $0 offset=2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.4 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.4 end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf i32.const 0 local.set $i - loop $for-loop|0 + loop $for-loop|1 local.get $i - local.get $len - i32.lt_s + local.get $lgPlus2 + i32.lt_u if - local.get $target + local.get $leftRunStartBuf local.get $i - call $~lib/typedarray/Float64Array#__uget - local.set $vala - local.get $compare + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 local.get $i - call $~lib/array/Array#__uget - local.set $valb - local.get $vala - local.get $valb - f64.ne + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s if - i32.const 13872 - local.set $6 + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $6 + local.get $34 i32.store $0 - local.get $6 - i32.const 3 - local.get $i - f64.convert_i32_s - local.get $vala - local.get $valb - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.eqz + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u if - i32.const 0 - i32.const 544 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 end end - local.get $i - i32.const 1 + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl i32.add - local.set $i - br $for-loop|0 + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 end end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end + end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Float64Array> (type $none_=>_none) - (local $setSource4 i32) - (local $setSource5 i32) - (local $setSource6 i32) - (local $a 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.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $setSource4 - i32.store $0 - local.get $setSource4 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $setSource4 - 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 $setSource5 - i32.store $0 offset=4 - local.get $setSource5 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $setSource5 - 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 $setSource6 - i32.store $0 offset=8 - local.get $setSource6 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $setSource6 - 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 $a - i32.store $0 offset=12 - local.get $a - global.get $std/typedarray/setSource1 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 13760 - call $~lib/rt/__newArray - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $a - global.get $std/typedarray/setSource2 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - i32.const 3 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 13920 - call $~lib/rt/__newArray - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $a - local.get $setSource4 - i32.const 6 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int64Array> - local.get $a - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 14032 - call $~lib/rt/__newArray - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - i32.const 0 - drop - local.get $a - local.get $setSource5 - i32.const 0 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Uint8Array> - local.get $a - local.get $setSource6 - i32.const 4 - call $~lib/typedarray/Float64Array#set<~lib/typedarray/Int16Array> - local.get $a - global.get $std/typedarray/setSource7 - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - i32.const 7 - call $~lib/typedarray/Float64Array#set<~lib/array/Array> - i32.const 0 - drop - local.get $a - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 14144 - call $~lib/rt/__newArray - local.set $12 - global.get $~lib/memory/__stack_pointer - local.get $12 - i32.store $0 offset=16 - local.get $12 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Uint16Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 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 $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $source - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#__set + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14352 + local.get $2 + call $~lib/typedarray/Uint16Array#get:length + local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 local.get $2 - call $~lib/typedarray/Int8Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Uint16Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -57835,136 +83721,52 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 + 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 + drop + i32.const 14576 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $source - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14416 + local.get $2 + local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=8 local.get $2 - call $~lib/typedarray/Uint8Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Uint16Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) (local $source i32) (local $result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -57972,37 +83774,62 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor + call $~lib/typedarray/Uint16Array#constructor local.tee $source i32.store $0 local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint16Array#__set local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint16Array#__set local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set + call $~lib/typedarray/Uint16Array#__set global.get $~lib/memory/__stack_pointer local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#sort@varargs + call $~lib/typedarray/Uint16Array#sort@varargs local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.eq i32.eqz @@ -58015,8 +83842,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.eq i32.eqz @@ -58029,8 +83861,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.eq i32.eqz @@ -58043,17 +83880,27 @@ unreachable end local.get $result - i32.const 14480 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $2 - call $~lib/typedarray/Uint8ClampedArray#sort + i32.const 14608 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Uint16Array#sort drop local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 3 i32.eq i32.eqz @@ -58066,8 +83913,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 2 i32.eq i32.eqz @@ -58080,8 +83932,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get + call $~lib/typedarray/Uint16Array#__get i32.const 1 i32.eq i32.eqz @@ -58094,14 +83951,43 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $source i32) - (local $result i32) - (local $2 i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -58113,272 +83999,480 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $source - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int16Array#sort@varargs - local.tee $result - i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.eq - i32.eqz + local.get $len + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load $0 + local.set $a + local.get $ptr + i32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + local.get $ptr + i32.load $0 + local.set $a|7 + local.get $ptr + i32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.eq - i32.eqz - if + local.get $len + i32.const 1 + i32.sub i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $result - i32.const 14544 - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=8 - local.get $2 - call $~lib/typedarray/Int16Array#sort - drop - local.get $result + block $~lib/util/sort/log2u|inlined.5 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.5 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end end - local.get $result + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.eq - i32.eqz + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - local.get $result - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.eq - i32.eqz - if + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Int32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 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 $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $source - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint16Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14608 + local.get $2 + call $~lib/typedarray/Int32Array#get:length + local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 local.get $2 - call $~lib/typedarray/Uint16Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Int32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -58391,136 +84485,54 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $source - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#sort@varargs - local.tee $result - i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 4 + i32.const 4 + i32.le_u + drop + i32.const 14640 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 end - local.get $result - i32.const 14672 + local.get $this local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $2 - call $~lib/typedarray/Int32Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int32Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> (type $none_=>_none) (local $source i32) (local $result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58528,37 +84540,62 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Uint32Array#constructor + call $~lib/typedarray/Int32Array#constructor local.tee $source i32.store $0 local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 i32.const 1 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 i32.const 2 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 i32.const 3 - call $~lib/typedarray/Uint32Array#__set + call $~lib/typedarray/Int32Array#__set global.get $~lib/memory/__stack_pointer local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Uint32Array#sort@varargs + call $~lib/typedarray/Int32Array#sort@varargs local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 1 i32.eq i32.eqz @@ -58571,8 +84608,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 2 i32.eq i32.eqz @@ -58585,8 +84627,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 3 i32.eq i32.eqz @@ -58599,17 +84646,27 @@ unreachable end local.get $result - i32.const 14736 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $2 - call $~lib/typedarray/Uint32Array#sort + i32.const 14672 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Int32Array#sort drop local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 3 i32.eq i32.eqz @@ -58622,8 +84679,13 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 2 i32.eq i32.eqz @@ -58636,166 +84698,547 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Uint32Array#__get + call $~lib/typedarray/Int32Array#__get i32.const 1 i32.eq i32.eqz if i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 544 + i32.const 891 + 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/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i32) + (local $b i32) + (local $c i32) + (local $a|7 i32) + (local $b|8 i32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i32.load $0 + local.set $a + local.get $ptr + i32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i32.store $0 offset=8 + end + local.get $ptr + i32.load $0 + local.set $a|7 + local.get $ptr + i32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.6 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.6 + end + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len + i32.const 2 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr + i32.const 0 + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 + i32.const 0 + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Uint32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 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 $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $source - i32.const 0 - i64.const 3 - call $~lib/typedarray/Int64Array#__set + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int64Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14800 + local.get $2 + call $~lib/typedarray/Uint32Array#get:length + local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 local.get $2 - call $~lib/typedarray/Int64Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 + return ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $source i32) - (local $result i32) + (func $~lib/typedarray/Uint32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 12 @@ -58808,136 +85251,52 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 + 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 + drop + i32.const 14704 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $source - i32.const 0 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint64Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14864 + local.get $2 + local.get $comparator local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 i32.store $0 offset=8 local.get $2 - call $~lib/typedarray/Uint64Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Uint32Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 12 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) (local $source i32) (local $result i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check @@ -58945,178 +85304,64 @@ i64.const 0 i64.store $0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Float32Array#constructor + call $~lib/typedarray/Uint32Array#constructor local.tee $source i32.store $0 local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $source i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set + call $~lib/typedarray/Uint32Array#__set local.get $source - i32.const 0 - f32.const 3 - call $~lib/typedarray/Float32Array#__set + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $source - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float32Array#sort@varargs - local.tee $result + local.get $2 i32.store $0 offset=4 - local.get $result - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result + local.get $2 i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 14928 + call $~lib/typedarray/Uint32Array#__set + local.get $source local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $2 - call $~lib/typedarray/Float32Array#sort - drop - local.get $result - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 890 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $result - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 891 - 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/testArraySort<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $source i32) - (local $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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $source - i32.store $0 - local.get $source - i32.const 2 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $source - i32.const 0 - f64.const 3 - call $~lib/typedarray/Float64Array#__set + call $~lib/typedarray/Uint32Array#__set global.get $~lib/memory/__stack_pointer local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Float64Array#sort@varargs + call $~lib/typedarray/Uint32Array#sort@varargs local.tee $result - i32.store $0 offset=4 + i32.store $0 offset=8 local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.eq i32.eqz if i32.const 0 @@ -59127,10 +85372,15 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 2 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.eq i32.eqz if i32.const 0 @@ -59141,10 +85391,15 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.eq i32.eqz if i32.const 0 @@ -59155,19 +85410,29 @@ unreachable end local.get $result - i32.const 14960 local.set $2 global.get $~lib/memory/__stack_pointer local.get $2 - i32.store $0 offset=8 + i32.store $0 offset=4 local.get $2 - call $~lib/typedarray/Float64Array#sort + i32.const 14736 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Uint32Array#sort drop local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.eq i32.eqz if i32.const 0 @@ -59178,10 +85443,15 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 2 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.eq i32.eqz if i32.const 0 @@ -59192,10 +85462,15 @@ unreachable end local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.eq + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.eq i32.eqz if i32.const 0 @@ -59206,6261 +85481,6032 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer ) - (func $start:std/typedarray (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator 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) + (local $a i64) + (local $b i64) + (local $c i32) + (local $a|7 i64) + (local $b|8 i64) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) (local $20 i32) (local $21 i32) - (local $22 i32) - (local $23 i32) - (local $24 i32) - (local $25 i32) - (local $26 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) (local $27 i32) (local $28 i32) - (local $29 i32) - (local $30 i32) - (local $31 i32) - (local $32 i32) - (local $33 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) (local $34 i32) - (local $35 i32) - (local $36 i32) - (local $37 i32) - (local $38 i32) - (local $39 i32) - (local $40 i32) - (local $41 i32) - (local $42 i32) - (local $43 i32) - (local $44 i32) - (local $45 i32) - (local $46 i32) - (local $47 i32) - (local $48 i32) - (local $49 i32) - (local $50 i32) - (local $51 i32) - (local $52 i32) - (local $53 i32) - (local $54 i32) - (local $55 i32) - (local $56 i32) - (local $57 i32) - (local $58 i32) - (local $59 i32) - (local $60 i32) - (local $61 i32) - (local $62 i32) - (local $63 i32) - (local $64 i32) - (local $65 i32) - (local $66 i32) - (local $67 i32) - (local $68 i32) - (local $69 i32) - (local $70 i32) - (local $71 i32) - (local $72 i32) - (local $73 i32) - (local $74 i32) - (local $75 i32) - (local $76 i32) - (local $77 i32) - (local $78 i32) - (local $79 i32) - (local $80 i32) - (local $81 i32) - (local $82 i32) - (local $83 i32) - (local $84 i32) - (local $85 i32) - (local $86 i32) - (local $87 i32) - (local $88 i32) - (local $89 i32) - (local $90 i32) - (local $91 i32) - (local $92 i32) - (local $93 i32) - (local $94 i32) - (local $95 i32) - (local $96 i32) - (local $97 i32) - (local $98 i32) - (local $99 i32) - (local $100 i32) global.get $~lib/memory/__stack_pointer - i32.const 120 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 120 - memory.fill $0 - 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 $0 - 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 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store $0 - 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 - 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.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 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 3 - i32.const 4 - i32.mul - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 97 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.eq - i32.eqz + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 0 - i32.const 544 - i32.const 98 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i64.load $0 + local.set $a + local.get $ptr + i64.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i64.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i64.load $0 offset=16 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i64.store $0 offset=8 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i64.store $0 offset=16 + end + local.get $ptr + i64.load $0 + local.set $a|7 + local.get $ptr + i64.load $0 offset=8 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i64.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr i32.const 0 - i32.const 544 - i32.const 99 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq - i32.eqz - if + local.get $len + i32.const 1 + i32.sub i32.const 0 - i32.const 544 - i32.const 100 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + 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 - local.get $0 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $0 - i32.store $0 - 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 + block $~lib/util/sort/log2u|inlined.7 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.7 end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 + i32.const 2 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size 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 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf + i32.const 0 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end end - local.get $0 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $len + i32.const 3 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len i32.const 1 - i32.const 4 - i32.mul - i32.eq - i32.eqz + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr i32.const 0 - i32.const 544 - i32.const 105 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - local.get $0 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq - i32.eqz - if + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 i32.const 0 - i32.const 544 - i32.const 106 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 0 i32.const 8 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=4 - local.get $1 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $1 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $1 + local.get $2 i32.store $0 offset=4 - local.get $1 - call $~lib/typedarray/Float64Array#get:length - 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 $1 - 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 $1 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 4 + local.get $2 + call $~lib/typedarray/Int64Array#get:length + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer 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 $1 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Float64Array#sort@varargs - drop - local.get $1 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Int64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) - local.get $1 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $1 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $1 - 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 544 - i32.const 126 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store $0 offset=8 + 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 8 + i32.const 4 + i32.le_u + drop + i32.const 14768 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int64Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 0 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=8 + call $~lib/typedarray/Int64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store $0 offset=4 local.get $2 - i32.const 1 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set + i64.const 1 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.eq + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int64Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 135 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.eq + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 136 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 255 - i32.eq + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 137 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14800 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 i32.store $0 offset=12 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int8Array#fill + local.get $2 + call $~lib/typedarray/Int64Array#sort drop - local.get $3 - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 704 - call $~lib/rt/__newArray - local.set $100 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 $3 - i32.const 0 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#fill@varargs - drop - local.get $3 - i32.const 5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 16 - i32.const 784 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt8ArrayEqual + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 152 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int8Array#fill - drop - local.get $3 - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 816 - call $~lib/rt/__newArray - local.set $100 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt8ArrayEqual + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 155 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 2 - i32.const -2 - i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#fill@varargs - drop - local.get $3 - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 848 - call $~lib/rt/__newArray - local.set $100 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt8ArrayEqual + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 158 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $3 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int8Array#fill - drop - local.get $3 - i32.const 5 - i32.const 0 + global.get $~lib/memory/__stack_pointer i32.const 16 - i32.const 880 - call $~lib/rt/__newArray - local.set $100 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a i64) + (local $b i64) + (local $c i32) + (local $a|7 i64) + (local $b|8 i64) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 i32) global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $14 - i32.store $0 offset=20 - local.get $14 - i32.const 0 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int8Array#fill@varargs - drop - local.get $14 - 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 $14 - 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 $14 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - 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 - local.get $14 - i32.const 3 - i32.const 0 - i32.const 16 - i32.const 912 - call $~lib/rt/__newArray - local.set $100 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 $3 - i32.const 5 i32.const 0 - i32.const 16 - i32.const 944 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt8ArrayEqual - i32.eqz + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + i64.load $0 + local.set $a + local.get $ptr + i64.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i64.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + i64.load $0 offset=16 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + i64.store $0 offset=8 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + i64.store $0 offset=16 + end + local.get $ptr + i64.load $0 + local.set $a|7 + local.get $ptr + i64.load $0 offset=8 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + i64.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr i32.const 0 - i32.const 544 - i32.const 169 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.8 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.8 end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $19 - i32.store $0 offset=24 - local.get $19 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $19 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $19 i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $19 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $19 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $19 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - drop - local.get $19 - i32.const 5 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 i32.const 2 - i32.const 17 - i32.const 976 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 $19 - i32.const 0 - i32.const 0 + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size i32.const 1 - global.set $~argumentsLength + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - drop - local.get $19 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1024 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 184 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end end - local.get $19 + local.get $len + i32.const 3 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len i32.const 1 + i32.sub + local.set $hi + local.get $ptr i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - drop - local.get $19 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1072 - call $~lib/rt/__newArray - local.set $100 + local.get $hi + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr i32.const 0 - i32.const 544 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - local.get $19 - i32.const 2 - i32.const -2 - i32.const 2 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - drop - local.get $19 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1120 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + local.set $top + i32.const 0 + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 i32.const 0 - i32.const 544 - i32.const 190 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end end - local.get $19 - i32.const 0 - i32.const 1 + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Uint64Array#get:length + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Uint64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int32Array#fill - drop - local.get $19 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1168 - call $~lib/rt/__newArray - local.set $100 + i32.store $0 offset=8 + 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 + drop + i32.const 14832 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Uint64Array#sort + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $19 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $30 - i32.store $0 offset=28 - local.get $30 - i32.const 0 - i32.const 0 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - drop - local.get $30 - 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 $30 - 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 $30 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - 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 $30 i32.const 3 - i32.const 2 - i32.const 17 - i32.const 1216 - call $~lib/rt/__newArray - local.set $100 + call $~lib/typedarray/Uint64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 $19 - i32.const 5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.const 17 - i32.const 1248 - call $~lib/rt/__newArray - local.set $100 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $35 - i32.store $0 offset=32 - local.get $35 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $35 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $35 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $35 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $35 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $35 - i32.const 5 - i32.const 6 - call $~lib/typedarray/Int8Array#__set + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint64Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $35 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $36 - i32.store $0 offset=36 - local.get $36 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 222 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $36 - call $~lib/typedarray/Int8Array#get:length - i32.const 5 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 223 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $36 - 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 $36 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 5 - i32.eq + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 225 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $36 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $37 - i32.store $0 offset=40 - local.get $37 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 228 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $37 - call $~lib/typedarray/Int8Array#get:length - i32.const 4 - i32.eq + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 229 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $37 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 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 $37 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 4 - i32.eq + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 231 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $37 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $38 - i32.store $0 offset=44 - local.get $38 - 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 $38 - 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 $38 - 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 $38 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - 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 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14864 + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $39 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $39 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $39 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $39 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Uint64Array#sort + drop + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $39 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $40 - i32.store $0 offset=52 - local.get $39 - i32.const 0 - i32.const 3 - i32.const 2 - global.set $~argumentsLength + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1296 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 248 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 3 - i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1344 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 250 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 1 - i32.const 2 - i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.const 17 - i32.const 1392 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 252 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $ptr i32) (param $len i32) (param $comparator i32) + (local $3 i32) + (local $a f32) + (local $b f32) + (local $c i32) + (local $a|7 f32) + (local $b|8 f32) + (local $c|9 i32) + (local $n i32) + (local $lgPlus2 i32) + (local $lgPlus2Size i32) + (local $leftRunStartBuf i32) + (local $leftRunEndBuf i32) + (local $i i32) + (local $buffer i32) + (local $hi i32) + (local $endA i32) + (local $lenA i32) + (local $20 i32) + (local $21 i32) + (local $top i32) + (local $startA i32) + (local $startB i32) + (local $endB i32) + (local $lenB i32) + (local $27 i32) + (local $28 i32) + (local $k i32) + (local $i|30 i32) + (local $start i32) + (local $i|32 i32) + (local $start|33 i32) + (local $34 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 $0 + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 2 + i32.store $0 offset=8 + local.get $len + i32.const 48 + i32.le_s + if + local.get $len + i32.const 1 + i32.le_s + if + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 0 + i32.const 1 + i32.lt_s + drop + block $break|0 + block $case1|0 + block $case0|0 + local.get $len + local.set $3 + local.get $3 + i32.const 3 + i32.eq + br_if $case0|0 + local.get $3 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $ptr + f32.load $0 + local.set $a + local.get $ptr + f32.load $0 offset=4 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f32.store $0 + local.get $a + local.get $b + local.get $c + select + local.set $a + local.get $ptr + f32.load $0 offset=8 + local.set $b + local.get $a + local.get $b + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c + local.get $ptr + local.get $b + local.get $a + local.get $c + select + f32.store $0 offset=4 + local.get $ptr + local.get $a + local.get $b + local.get $c + select + f32.store $0 offset=8 + end + local.get $ptr + f32.load $0 + local.set $a|7 + local.get $ptr + f32.load $0 offset=4 + local.set $b|8 + local.get $a|7 + local.get $b|8 + i32.const 2 + global.set $~argumentsLength + local.get $comparator + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.set $c|9 + local.get $ptr + local.get $b|8 + local.get $a|7 + local.get $c|9 + select + f32.store $0 + local.get $ptr + local.get $a|7 + local.get $b|8 + local.get $c|9 + select + f32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + local.get $ptr + i32.const 0 + local.get $len + i32.const 1 + i32.sub + i32.const 0 + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + block $~lib/util/sort/log2u|inlined.9 (result i32) + local.get $len + local.set $n + i32.const 31 + local.get $n + i32.clz + i32.sub + br $~lib/util/sort/log2u|inlined.9 + end i32.const 2 + i32.add + local.set $lgPlus2 + local.get $lgPlus2 i32.const 2 - global.set $~argumentsLength + i32.shl + local.set $lgPlus2Size + local.get $lgPlus2Size + i32.const 1 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $leftRunStartBuf + local.get $leftRunStartBuf + local.get $lgPlus2Size + i32.add + local.set $leftRunEndBuf i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 + local.set $i + loop $for-loop|1 + local.get $i + local.get $lgPlus2 + i32.lt_u + if + local.get $leftRunStartBuf + local.get $i + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|1 + end + end + local.get $len i32.const 2 - i32.const 17 - i32.const 1440 - call $~lib/rt/__newArray - local.set $100 + i32.shl + call $~lib/rt/tlsf/__alloc + local.set $buffer + local.get $len + i32.const 1 + i32.sub + local.set $hi + local.get $ptr + i32.const 0 + local.get $hi + local.get $comparator + local.set $34 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endA + local.get $endA + i32.const 1 + i32.add + local.set $lenA + local.get $lenA + i32.const 32 + i32.lt_s if + local.get $hi + local.tee $20 + i32.const 32 + i32.const 1 + i32.sub + local.tee $21 + local.get $20 + local.get $21 + i32.lt_s + select + local.set $endA + local.get $ptr i32.const 0 - i32.const 544 - i32.const 254 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $endA + local.get $lenA + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort end - global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 + local.set $top i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1488 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if + local.set $startA + loop $while-continue|2 + local.get $endA + local.get $hi + i32.lt_s + if + local.get $endA + i32.const 1 + i32.add + local.set $startB + local.get $ptr + local.get $startB + local.get $hi + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=4 + local.get $34 + call $~lib/util/sort/extendRunRight + local.set $endB + local.get $endB + local.get $startB + i32.sub + i32.const 1 + i32.add + local.set $lenB + local.get $lenB + i32.const 32 + i32.lt_s + if + local.get $hi + local.tee $27 + local.get $startB + i32.const 32 + i32.add + i32.const 1 + i32.sub + local.tee $28 + local.get $27 + local.get $28 + i32.lt_s + select + local.set $endB + local.get $ptr + local.get $startB + local.get $endB + local.get $lenB + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 + local.get $34 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.get $hi + local.get $startA + local.get $startB + local.get $endB + call $~lib/util/sort/nodePower + local.set $k + local.get $top + local.set $i|30 + loop $for-loop|3 + local.get $i|30 + local.get $k + i32.gt_u + if + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start + local.get $start + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start + local.get $leftRunEndBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $endA + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + local.get $start + local.set $startA + local.get $leftRunStartBuf + local.get $i|30 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + end + local.get $i|30 + i32.const 1 + i32.sub + local.set $i|30 + br $for-loop|3 + end + end + local.get $leftRunStartBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $startA + i32.store $0 + local.get $leftRunEndBuf + local.get $k + i32.const 2 + i32.shl + i32.add + local.get $endA + i32.store $0 + local.get $startB + local.set $startA + local.get $endB + local.set $endA + local.get $k + local.set $top + br $while-continue|2 + end + end + local.get $top + local.set $i|32 + loop $for-loop|4 + local.get $i|32 i32.const 0 - i32.const 544 - i32.const 256 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + local.get $leftRunStartBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $start|33 + local.get $start|33 + i32.const -1 + i32.ne + if + local.get $ptr + local.get $start|33 + local.get $leftRunEndBuf + local.get $i|32 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.get $hi + local.get $buffer + local.get $comparator + local.set $34 + global.get $~lib/memory/__stack_pointer + local.get $34 + i32.store $0 offset=8 + local.get $34 + call $~lib/util/sort/mergeRuns + end + local.get $i|32 + i32.const 1 + i32.sub + local.set $i|32 + br $for-loop|4 + end end + local.get $buffer + call $~lib/rt/tlsf/__free + local.get $leftRunStartBuf + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#sort (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1536 - call $~lib/rt/__newArray - local.set $100 + i64.const 0 + i64.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 258 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/arraybuffer/ArrayBufferView#get:dataStart + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Float32Array#get:length + local.get $comparator + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1584 - call $~lib/rt/__newArray - local.set $100 + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/sort/SORT + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $~lib/typedarray/Float32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 0 - i32.const -2 - i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1632 - call $~lib/rt/__newArray - local.set $100 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 262 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.const 0 + i32.store $0 offset=8 + 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 4 + i32.const 4 + i32.eq + drop + i32.const 14896 + br $~lib/util/sort/COMPARATOR|inlined.0 + end + local.tee $comparator + i32.store $0 end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $comparator + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1680 - call $~lib/rt/__newArray - local.set $100 + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Float32Array#sort + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $source i32) + (local $result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1728 - call $~lib/rt/__newArray - local.set $100 + i64.const 0 + i64.store $0 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - 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 + i64.const 0 + i64.store $0 offset=8 global.get $~lib/memory/__stack_pointer - local.get $40 i32.const 0 - i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $100 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 2 - i32.const 17 - i32.const 1776 - call $~lib/rt/__newArray - local.set $100 - global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 268 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + f32.const 1 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $40 - i32.const 0 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $39 - i32.store $0 offset=48 - local.get $39 - i32.const -4 - i32.const -3 - i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $100 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=56 - local.get $100 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 1824 - call $~lib/rt/__newArray - local.set $100 + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set global.get $~lib/memory/__stack_pointer - local.get $100 - i32.store $0 offset=16 - local.get $100 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 270 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $source + local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $65 - i32.store $0 offset=60 - local.get $65 + global.set $~argumentsLength i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $65 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $65 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $65 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $65 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $65 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $66 - i32.store $0 offset=64 - local.get $66 - call $~lib/typedarray/Int32Array#get:length - i32.const 3 - i32.eq - i32.eqz - if - i32.const 0 - i32.const 544 - i32.const 282 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $66 - 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 $66 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - 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 + call $~lib/typedarray/Float32Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $65 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#slice - local.tee $67 - i32.store $0 offset=68 - local.get $67 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.eq + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 287 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $67 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 288 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $67 - call $~lib/typedarray/Int32Array#get:length + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 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 - local.get $67 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.const 0 - i32.eq + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 290 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $67 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 8 - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14928 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Float32Array#sort + drop + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 291 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $66 + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $68 - i32.store $0 offset=72 - local.get $68 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.eq + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 294 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $68 - call $~lib/typedarray/Int32Array#get:length - i32.const 1 - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 295 + i32.const 891 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $68 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $source i32) + (local $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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.eq + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $source + i32.store $0 + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $source + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#sort@varargs + local.tee $result + i32.store $0 offset=8 + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 296 + i32.const 885 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $68 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.const 4 - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 297 + i32.const 886 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $result + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $65 - i32.const 0 - i32.const 0 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $69 - i32.store $0 offset=76 - local.get $69 - local.get $65 - i32.ne + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 300 + i32.const 887 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $69 - call $~lib/typedarray/Int32Array#get:length - local.get $65 - call $~lib/typedarray/Int32Array#get:length - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 14960 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 + call $~lib/typedarray/Float64Array#sort + drop + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 301 + i32.const 889 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $69 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - local.get $65 - call $~lib/arraybuffer/ArrayBufferView#get:byteOffset - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 302 + i32.const 890 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $69 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - local.get $65 - call $~lib/arraybuffer/ArrayBufferView#get:byteLength - i32.eq + local.get $result + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 303 + i32.const 891 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/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArrayFindLastIndex<~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 16 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $start:std/typedarray (type $none_=>_none) + (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) + (local $13 i32) + (local $14 i32) + (local $15 i32) + (local $16 i32) + (local $17 i32) + (local $18 i32) + (local $19 i32) + (local $20 i32) + (local $21 i32) + (local $22 i32) + (local $23 i32) + (local $24 i32) + (local $25 i32) + (local $26 i32) + (local $27 i32) + (local $28 i32) + (local $29 i32) + (local $30 i32) + (local $31 i32) + (local $32 i32) + (local $33 i32) + (local $34 i32) + (local $35 i32) + (local $36 i32) + (local $37 i32) + (local $38 i32) + (local $39 i32) + (local $40 i32) + (local $41 i32) + (local $42 i32) + (local $43 i32) + (local $44 i32) + (local $45 i32) + (local $46 i32) + (local $47 i32) + (local $48 i32) + (local $49 i32) + (local $50 i32) + (local $51 i32) + (local $52 i32) + (local $53 i32) + (local $54 i32) + (local $55 i32) + (local $56 i32) + (local $57 i32) + (local $58 i32) + (local $59 i32) + (local $60 i32) + (local $61 i32) + (local $62 i32) + (local $63 i32) + (local $64 i32) + (local $65 i32) + (local $66 i32) + (local $67 i32) + (local $68 i32) + (local $69 i32) + (local $70 i32) + (local $71 i32) + (local $72 i32) + (local $73 i32) + (local $74 i32) + (local $75 i32) + (local $76 i32) + (local $77 i32) + (local $78 i32) + (local $79 i32) + (local $80 i32) + (local $81 i32) + (local $82 i32) + (local $83 i32) + (local $84 i32) + (local $85 i32) + (local $86 i32) + (local $87 i32) + (local $88 i32) + (local $89 i32) + (local $90 i32) + (local $91 i32) + (local $92 i32) + (local $93 i32) + (local $94 i32) + (local $95 i32) + (local $96 i32) + (local $97 i32) + (local $98 i32) + (local $99 i32) + (local $100 i32) + global.get $~lib/memory/__stack_pointer + i32.const 124 + i32.sub + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 + i32.const 124 + memory.fill $0 + 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 $0 + i32.const 16 + i32.shl + global.get $~lib/memory/__heap_base + i32.sub i32.const 1 - call $~lib/typedarray/Float64Array#constructor - local.tee $76 - i32.store $0 offset=80 - local.get $76 + 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 - f64.const nan:0x8000000000000 - call $~lib/typedarray/Float64Array#__set - local.get $76 - f64.const nan:0x8000000000000 + call $std/typedarray/testInstantiate + i32.const 5 + call $std/typedarray/testInstantiate + global.get $~lib/memory/__stack_pointer i32.const 0 - call $~lib/typedarray/Float64Array#indexOf - i32.const -1 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 653 + i32.const 95 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $76 - f64.const nan:0x8000000000000 - i32.const 0 - call $~lib/typedarray/Float64Array#includes + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 0 - i32.ne - i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 654 + i32.const 96 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 1 - call $~lib/typedarray/Float32Array#constructor - local.tee $77 - i32.store $0 offset=84 - local.get $77 - i32.const 0 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - local.get $77 - f32.const nan:0x400000 - i32.const 0 - call $~lib/typedarray/Float32Array#indexOf - i32.const -1 + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.const 4 + i32.mul i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 659 + i32.const 97 i32.const 3 call $~lib/builtins/abort unreachable end - local.get $77 - f32.const nan:0x400000 - i32.const 0 - call $~lib/typedarray/Float32Array#includes + local.get $0 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.ne + call $~lib/typedarray/Int32Array#__get i32.const 1 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 660 + i32.const 98 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 $80 - i32.store $0 offset=88 + local.get $0 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $80 - i32.const 0 + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + call $~lib/typedarray/Int32Array#__get i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $81 - i32.store $0 offset=92 - local.get $81 - call $~lib/typedarray/Uint8Array#get:length - i32.const 0 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 737 + i32.const 99 i32.const 3 call $~lib/builtins/abort unreachable end + local.get $0 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $80 - i32.store $0 offset=88 - global.get $~lib/memory/__stack_pointer - local.get $80 - i32.const 2 + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 2 - global.set $~argumentsLength - i32.const 0 - call $~lib/typedarray/Uint8Array.wrap@varargs - local.tee $81 - i32.store $0 offset=92 - local.get $81 - call $~lib/typedarray/Uint8Array#get:length - i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 i32.eq i32.eqz if i32.const 0 i32.const 544 - i32.const 741 + i32.const 100 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 0 - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $90 - i32.store $0 offset=96 + local.get $0 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $91 - i32.store $0 offset=100 - local.get $91 - i32.const 0 - f32.const 400 - call $~lib/typedarray/Float32Array#__set - local.get $91 + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 1 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - local.get $91 i32.const 2 - f32.const inf - call $~lib/typedarray/Float32Array#__set + call $~lib/typedarray/Int32Array#subarray + local.tee $0 + i32.store $0 + local.get $0 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/typedarray/Int64Array#constructor - local.tee $92 - i32.store $0 offset=104 - local.get $92 - i32.const 0 - i64.const -10 - call $~lib/typedarray/Int64Array#__set - local.get $92 + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length i32.const 1 - i64.const 100 - call $~lib/typedarray/Int64Array#__set - local.get $92 - i32.const 2 - i64.const 10 - call $~lib/typedarray/Int64Array#__set - local.get $92 - i32.const 3 - i64.const 300 - call $~lib/typedarray/Int64Array#__set + 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 $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#constructor - local.tee $93 - i32.store $0 offset=108 - local.get $93 - i32.const 0 - i32.const 300 - call $~lib/typedarray/Int32Array#__set - local.get $93 - i32.const 1 - i32.const -1 - call $~lib/typedarray/Int32Array#__set - local.get $90 - local.get $91 + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> - local.get $90 - local.get $92 i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $90 - local.get $93 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> - local.get $90 - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 14256 - call $~lib/rt/__newArray + 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 local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $100 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 1 i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $96 - i32.store $0 offset=112 - local.get $96 + 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 $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $96 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - local.get $96 + call $~lib/typedarray/Int32Array#__get i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - local.get $96 - i32.const 3 - i32.const -1 - call $~lib/typedarray/Uint32Array#__set + 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 0 - i32.const 4 - call $~lib/typedarray/Int16Array#constructor - local.tee $97 - i32.store $0 offset=116 - local.get $97 + i32.const 8 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - local.get $97 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - local.get $97 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - local.get $97 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - local.get $90 - local.get $96 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> - local.get $90 - local.get $97 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - local.get $90 - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 14288 - call $~lib/rt/__newArray + f64.const 4 + call $~lib/typedarray/Float64Array#__set + local.get $1 local.set $100 global.get $~lib/memory/__stack_pointer local.get $100 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $100 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> - call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> - call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> - call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> - call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> - call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> - call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> - call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> - call $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> - global.get $~lib/memory/__heap_base - global.set $~lib/memory/__stack_pointer - call $~lib/rt/itcms/__collect + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set global.get $~lib/memory/__stack_pointer - i32.const 120 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $length i32) (param $alignLog2 i32) (result i32) - (local $buffer i32) - (local $4 i32) + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - local.get $this + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Float64Array#get:length + i32.const 4 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 0 + i32.const 544 + i32.const 122 i32.const 3 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $length - i32.const 1073741820 - local.get $alignLog2 - i32.shr_u - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 19 - i32.const 57 call $~lib/builtins/abort unreachable end + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $length - local.get $alignLog2 - i32.shl - local.tee $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $100 i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:buffer - local.get $this - local.get $buffer - call $~lib/arraybuffer/ArrayBufferView#set:dataStart - local.get $this - local.get $length - call $~lib/arraybuffer/ArrayBufferView#set:byteLength - local.get $this - 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/Int8Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 $0 - local.get $this + i32.mul + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 123 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) - global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + i32.const 8 + i32.mul + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 124 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Uint8ClampedArray#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Float64Array#sort@varargs + drop + local.get $1 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - local.get $this + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + if (result i32) + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.eq + else + i32.const 0 + end + if (result i32) + local.get $1 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.eq + else + i32.const 0 + end i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 126 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store $0 offset=12 local.get $2 - ) - (func $~lib/typedarray/Int16Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set local.get $2 - ) - (func $~lib/typedarray/Uint16Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $2 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - local.get $this + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 0 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 135 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Int32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 2 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 136 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Uint32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $this + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 255 + i32.eq i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 137 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $3 + i32.store $0 offset=16 + local.get $3 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $2 + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $2 i32) + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $3 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + drop + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - local.get $this + i32.const 16 + i32.const 704 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt8ArrayEqual i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 149 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs + drop + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - local.get $this + i32.const 16 + i32.const 784 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt8ArrayEqual i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 152 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Float32Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int8Array#fill + drop + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - local.get $this + i32.const 16 + i32.const 816 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt8ArrayEqual i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 155 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Float64Array#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length 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 -2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs + drop + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - local.get $this + i32.const 16 + i32.const 848 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt8ArrayEqual i32.eqz if - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 + i32.const 0 + i32.const 544 + i32.const 158 + i32.const 3 + call $~lib/builtins/abort + unreachable end + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $this - local.get $length - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $this - i32.store $0 - local.get $this - 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/Int32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int8Array#fill + drop + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 16 + i32.const 880 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt8ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.const 544 + i32.const 161 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - ) - (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + local.get $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Int8Array#subarray + local.tee $14 + i32.store $0 offset=24 + local.get $14 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs + drop + local.get $14 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int8Array#get:length + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 165 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $14 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 + i32.const 544 + i32.const 166 i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub + call $~lib/builtins/abort + unreachable + end + local.get $14 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 167 i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float64Array,f64>|inlined.0 + call $~lib/builtins/abort + unreachable end - local.set $19 + local.get $14 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $19 - return - ) - (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const 0 + i32.const 16 + i32.const 912 + call $~lib/rt/__newArray + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=20 + local.get $100 + 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 $3 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 i32.const 0 - i32.store $0 - 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 672 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/typedarray/Float64Array#sort - local.set $2 + i32.const 16 + i32.const 944 + call $~lib/rt/__newArray + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) - (local $bufferSize i32) - (local $buffer i32) - (local $array i32) - (local $7 i32) + local.get $100 + i32.store $0 offset=20 + local.get $100 + 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 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $19 + i32.store $0 offset=28 + local.get $19 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - local.get $length - local.get $alignLog2 - i32.shl - local.set $bufferSize + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $19 + local.set $100 global.get $~lib/memory/__stack_pointer - local.get $bufferSize + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 1 - local.get $data - call $~lib/rt/__newBuffer - local.tee $buffer - i32.store $0 - i32.const 16 - local.get $id - call $~lib/rt/itcms/__new - local.set $array - local.get $array - local.get $buffer - i32.store $0 - local.get $array - local.get $buffer - i32.const 0 - call $~lib/rt/itcms/__link - local.get $array - local.get $buffer + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 i32.store $0 offset=4 - local.get $array - local.get $bufferSize - i32.store $0 offset=8 - local.get $array - local.get $length - i32.store $0 offset=12 - local.get $array - local.set $7 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $19 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - return - ) - (func $~lib/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + call $~lib/typedarray/Int32Array#__set + local.get $19 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + i32.const 5 + call $~lib/typedarray/Int32Array#__set + local.get $19 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $begin|4 + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + drop + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 976 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 + i32.const 544 + i32.const 181 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + drop + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1024 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 184 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + drop + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1072 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 + i32.const 544 + i32.const 187 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const -2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + drop + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1120 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub + i32.const 544 + i32.const 190 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + drop + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1168 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.const 544 + i32.const 193 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $19 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $19 - return - ) - (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $start i32) - (local $end|5 i32) - (local $len 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 $slice i32) - (local $18 i32) + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Int32Array#subarray + local.tee $30 + i32.store $0 offset=32 + local.get $30 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 i32.const 0 - i32.store $0 - block $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $start - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $start + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + drop + local.get $30 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - i32.lt_s - if (result i32) - local.get $start - local.get $len - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $start - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $start - local.get $end|5 + i32.const 544 + i32.const 197 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $30 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if i32.const 0 - i32.lt_s - if (result i32) - local.get $end|5 - local.get $len - i32.add - local.tee $11 - i32.const 0 - local.tee $12 - local.get $11 - local.get $12 - i32.gt_s - select - else - local.get $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.get $start - i32.sub - local.tee $15 + i32.const 544 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $30 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.const 4 + i32.mul + i32.eq + i32.eqz + if i32.const 0 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $len - global.get $~lib/memory/__stack_pointer + i32.const 544 + i32.const 199 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $30 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const 2 + i32.const 17 + i32.const 1216 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - local.get $len - call $~lib/typedarray/Int32Array#constructor - local.tee $slice - i32.store $0 - local.get $slice - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $start - i32.const 2 - i32.shl - i32.add - local.get $len - i32.const 2 - i32.shl - memory.copy $0 $0 - local.get $slice - br $~lib/typedarray/SLICE<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.const 544 + i32.const 200 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $18 + local.get $19 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1248 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + 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.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $35 + i32.store $0 offset=36 + local.get $35 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + local.get $35 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + local.get $35 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + local.get $35 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $18 - return - ) - (func $~lib/typedarray/Int8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + call $~lib/typedarray/Int8Array#__set + local.get $35 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + local.get $35 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $35 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $36 + i32.store $0 offset=40 + local.get $36 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 + i32.const 544 + i32.const 222 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $36 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int8Array#get:length + i32.const 5 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 223 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $36 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.const 544 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $10 + local.get $36 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $10 - return - ) - (func $~lib/typedarray/Uint8Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + 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 $36 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $37 + i32.store $0 offset=44 + local.get $37 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 228 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $37 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int8Array#get:length + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 + i32.const 544 + i32.const 229 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $37 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $37 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.const 544 + i32.const 231 + 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 - return - ) - (func $~lib/typedarray/Uint8ClampedArray#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $37 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $38 + i32.store $0 offset=48 + local.get $38 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 0 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + i32.const 544 + i32.const 234 + 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 - return - ) - (func $~lib/typedarray/Int16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $38 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + 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 $38 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $38 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int16Array,i16>|inlined.0 + i32.const 544 + i32.const 237 + 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 - return - ) - (func $~lib/typedarray/Uint16Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $40 + i32.store $0 offset=56 + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 0 + i32.const 3 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1296 + call $~lib/rt/__newArray + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 1 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.const 544 + i32.const 248 + 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 - return - ) - (func $~lib/typedarray/Int32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 1 + i32.const 3 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1344 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.const 544 + i32.const 250 + 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 - return - ) - (func $~lib/typedarray/Uint32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 1 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1392 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.const 544 + i32.const 252 + 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 - return - ) - (func $~lib/typedarray/Int64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 2 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1440 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Int64Array,i64>|inlined.0 + i32.const 544 + i32.const 254 + 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 - return - ) - (func $~lib/typedarray/Uint64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1488 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Uint64Array,u64>|inlined.0 + i32.const 544 + i32.const 256 + 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 - return - ) - (func $~lib/typedarray/Float32Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 2 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1536 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Float32Array,f32>|inlined.0 + i32.const 544 + i32.const 258 + 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 - return - ) - (func $~lib/typedarray/Float64Array#map (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $ptr i32) - (local $byteLength i32) - (local $out i32) - (local $buf i32) - (local $i i32) - (local $10 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $ptr - local.get $len + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1584 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 260 i32.const 3 - i32.shl - local.set $byteLength - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $byteLength - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $40 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 0 + i32.const -2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1632 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $buf - local.get $i - i32.const 3 - i32.shl - i32.add - local.get $ptr - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store $0 - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf + i32.const 544 + i32.const 262 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $40 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1680 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $buf - i32.store $0 offset=4 - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/MAP<~lib/typedarray/Float64Array,f64>|inlined.0 + i32.const 544 + i32.const 264 + 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 - return - ) - (func $~lib/typedarray/Int8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int8Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1728 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int8Array,i8>|inlined.0 + i32.const 544 + i32.const 266 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Uint8Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $40 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1776 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 268 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $40 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $39 + i32.store $0 offset=52 + local.get $39 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=60 + local.get $100 + i32.const -4 + i32.const -3 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 1824 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/isInt32ArrayEqual + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint8Array,u8>|inlined.0 + i32.const 544 + i32.const 270 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Uint8ClampedArray#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + i32.const 0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $65 + i32.store $0 offset=64 + local.get $65 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + local.get $65 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $66 + i32.store $0 offset=68 + local.get $66 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 282 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $66 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + 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 $66 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.const 12 + i32.eq + i32.eqz + if i32.const 0 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart + i32.const 544 + i32.const 284 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice + local.tee $67 + i32.store $0 offset=72 + local.get $67 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 - local.set $j + i32.const 544 + i32.const 287 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $67 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 0 - i32.shl - i32.add - local.get $value - i32.store8 $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j + i32.const 544 + i32.const 288 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $67 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.const 2 + i32.eq + i32.eqz + if i32.const 0 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 289 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $67 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 + i32.const 544 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 + local.get $67 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Int16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 291 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $66 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $68 + i32.store $0 offset=76 + local.get $68 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 3 + i32.eq + i32.eqz + if i32.const 0 - local.set $j + i32.const 544 + i32.const 294 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $68 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 1 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 295 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $68 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int16Array,i16>|inlined.0 + i32.const 544 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 + local.get $68 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Uint16Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + 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 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $65 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 0 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $69 + i32.store $0 offset=80 + local.get $69 + local.get $65 + i32.ne + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 1 - i32.shl - i32.add - local.get $value - i32.store16 $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 1 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 300 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $69 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Int32Array#get:length + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint16Array,u16>|inlined.0 + i32.const 544 + i32.const 301 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 + local.get $69 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Int32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $65 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.eq + i32.eqz + if + i32.const 0 + i32.const 544 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $69 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + local.get $65 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/arraybuffer/ArrayBufferView#get:byteLength + i32.eq + i32.eqz + if i32.const 0 - local.set $j + 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/testArrayFindLastIndex<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArrayFindLastIndex<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArrayFindLastIndex<~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.const 1 + call $~lib/typedarray/Float64Array#constructor + local.tee $76 + i32.store $0 offset=84 + local.get $76 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + f64.const nan:0x8000000000000 + call $~lib/typedarray/Float64Array#__set + local.get $76 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + f64.const nan:0x8000000000000 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 653 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $76 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + 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 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int32Array,i32>|inlined.0 + i32.const 544 + i32.const 654 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Uint32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + i32.const 0 + i32.const 1 + call $~lib/typedarray/Float32Array#constructor + local.tee $77 + i32.store $0 offset=88 + local.get $77 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + local.get $77 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j + local.get $100 + i32.store $0 offset=4 + local.get $100 + f32.const nan:0x400000 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $value - i32.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + i32.const 544 + i32.const 659 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $77 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + f32.const nan:0x400000 + i32.const 0 + call $~lib/typedarray/Float32Array#includes + i32.const 0 + i32.ne + i32.const 1 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint32Array,u32>|inlined.0 + i32.const 544 + i32.const 660 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 + 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 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Int64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i64) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + i32.const 0 + i32.const 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $80 + i32.store $0 offset=92 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $80 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $81 + i32.store $0 offset=96 + local.get $81 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Uint8Array#get:length + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j + i32.const 544 + i32.const 737 i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $80 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $80 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 2 + global.set $~argumentsLength + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $81 + i32.store $0 offset=96 + local.get $81 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + call $~lib/typedarray/Uint8Array#get:length + i32.const 0 + i32.eq + i32.eqz + if i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Int64Array,i64>|inlined.0 + i32.const 544 + i32.const 741 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $14 + 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 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Uint64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value i64) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + i32.const 0 + i32.const 10 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $90 + i32.store $0 offset=100 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $91 + i32.store $0 offset=104 + local.get $91 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + f32.const 400 + call $~lib/typedarray/Float32Array#__set + local.get $91 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + local.get $91 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + 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 $92 + i32.store $0 offset=108 + local.get $92 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i64.const -10 + call $~lib/typedarray/Int64Array#__set + local.get $92 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i64.const 100 + call $~lib/typedarray/Int64Array#__set + local.get $92 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i64.const 10 + call $~lib/typedarray/Int64Array#__set + local.get $92 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i64.const 300 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 2 + call $~lib/typedarray/Int32Array#constructor + local.tee $93 + i32.store $0 offset=112 + local.get $93 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 300 + call $~lib/typedarray/Int32Array#__set + local.get $93 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const -1 + call $~lib/typedarray/Int32Array#__set + local.get $90 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + local.get $91 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Float32Array> + local.get $90 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + local.get $92 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + local.get $90 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + local.get $93 + local.set $100 global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int32Array> + local.get $90 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 14256 + call $~lib/rt/__newArray + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $96 + i32.store $0 offset=116 + local.get $96 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + local.get $96 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + local.get $96 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + local.get $96 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const -1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/typedarray/Int16Array#constructor + local.tee $97 + i32.store $0 offset=120 + local.get $97 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + local.get $97 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + local.get $97 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + local.get $97 + local.set $100 + global.get $~lib/memory/__stack_pointer + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + local.get $90 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $value - i64.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.set $14 + local.get $100 + i32.store $0 offset=4 + local.get $100 + local.get $96 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Float32Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value f32) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $100 + i32.store $0 offset=20 + local.get $100 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Uint32Array> + local.get $90 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - call $~stack_check + local.get $100 + i32.store $0 offset=4 + local.get $100 + local.get $97 + local.set $100 global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 2 - i32.shl - i32.add - local.get $value - f32.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 2 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.set $14 + local.get $100 + i32.store $0 offset=20 + local.get $100 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + local.get $90 + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - ) - (func $~lib/typedarray/Float64Array#filter (type $i32_i32_=>_i32) (param $this i32) (param $fn i32) (result i32) - (local $array i32) - (local $fn|3 i32) - (local $len i32) - (local $out i32) - (local $buf i32) - (local $dataStart i32) - (local $j i32) - (local $i i32) - (local $value f64) - (local $11 i32) - (local $byteLength i32) - (local $data i32) - (local $14 i32) + local.get $100 + i32.store $0 offset=4 + local.get $100 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 14288 + call $~lib/rt/__newArray + local.set $100 global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub + local.get $100 + i32.store $0 offset=20 + local.get $100 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + call $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64> + global.get $~lib/memory/__heap_base global.set $~lib/memory/__stack_pointer - call $~stack_check - global.get $~lib/memory/__stack_pointer - i64.const 0 - i64.store $0 - block $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $fn - local.set $fn|3 - local.get $array - call $~lib/typedarray/Float64Array#get:length - local.set $len - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $len - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buf - i32.store $0 offset=4 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.set $dataStart - i32.const 0 - local.set $j - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $len - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $value - local.get $i - local.get $array - i32.const 3 - global.set $~argumentsLength - local.get $fn|3 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - if - local.get $buf - local.get $j - local.tee $11 - i32.const 1 - i32.add - local.set $j - local.get $11 - i32.const 3 - i32.shl - i32.add - local.get $value - f64.store $0 - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $j - i32.const 3 - i32.shl - local.set $byteLength - local.get $buf - local.get $byteLength - call $~lib/rt/itcms/__renew - local.set $data - local.get $out - local.get $data - i32.store $0 - local.get $out - local.get $data - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $data - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/FILTER<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.set $14 + call $~lib/rt/itcms/__collect global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 124 i32.add global.set $~lib/memory/__stack_pointer - local.get $14 - return ) - (func $~lib/typedarray/Uint8Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28f64%2Cf64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint8Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.set $19 - global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f64%2Cf64%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $array i32) - (local $begin i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -65469,135 +91515,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $start - local.set $begin - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint8ClampedArray#get:length - local.set $len - local.get $begin - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin - i32.add - local.tee $7 - i32.const 0 - local.tee $8 - local.get $7 - local.get $8 - i32.gt_s - select - else - local.get $begin - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin - i32.const 0 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin - i32.sub - i32.const 0 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.set $19 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Int16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -65606,135 +91541,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int16Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 1 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.set $19 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Uint16Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -65743,135 +91567,94 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint16Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 1 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.set $19 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i8%2Ci8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Uint32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Cu8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i16%2Ci16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -65880,135 +91663,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.set $19 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u16%2Cu16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Int64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66017,135 +91687,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Int64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.set $19 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Uint64Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66154,135 +91711,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Uint64Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.set $19 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u32%2Cu32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/typedarray/Float32Array#subarray (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $array i32) - (local $begin|4 i32) - (local $end|5 i32) - (local $len 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 $out i32) - (local $buf i32) - (local $19 i32) + (func $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66291,131 +91735,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $this - local.set $array - local.get $begin - local.set $begin|4 - local.get $end - local.set $end|5 - local.get $array - call $~lib/typedarray/Float32Array#get:length - local.set $len - local.get $begin|4 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $begin|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 $begin|4 - local.tee $9 - local.get $len - local.tee $10 - local.get $9 - local.get $10 - i32.lt_s - select - end - local.set $begin|4 - local.get $end|5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $len - local.get $end|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 $end|5 - local.tee $13 - local.get $len - local.tee $14 - local.get $13 - local.get $14 - i32.lt_s - select - end - local.set $end|5 - local.get $end|5 - local.tee $15 - local.get $begin|4 - local.tee $16 - local.get $15 - local.get $16 - i32.gt_s - select - local.set $end|5 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:buffer - local.set $buf - local.get $out - local.get $buf - i32.store $0 - local.get $out - local.get $buf - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $array - call $~lib/arraybuffer/ArrayBufferView#get:dataStart - local.get $begin|4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $out - local.get $end|5 - local.get $begin|4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 - local.get $out - br $~lib/typedarray/SUBARRAY<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.set $19 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i64%2Ci64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $19 - return ) - (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - (local $sign i32) - (local $out i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|8 i32) - (local $buffer|9 i32) - (local $num|10 i32) - (local $offset|11 i32) - (local $val32 i32) - (local $decimals|13 i32) - (local $14 i32) + (func $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66424,187 +91759,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6784 - i32.const 6912 - i32.const 373 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i32.eqz - if - i32.const 6976 - local.set $14 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $14 - return - end - local.get $value - i32.const 31 - i32.shr_u - i32.const 1 - i32.shl - local.set $sign - local.get $sign - if - i32.const 0 - local.get $value - i32.sub - local.set $value - end - local.get $radix - i32.const 10 - i32.eq - if - local.get $value - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer - local.get $value - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 31 - local.get $value - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|8 - global.get $~lib/memory/__stack_pointer - local.get $decimals|8 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|9 - local.get $value - local.set $num|10 - local.get $decimals|8 - local.set $offset|11 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|9 - local.get $num|10 - i64.extend_i32_u - local.get $offset|11 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - local.set $val32 - local.get $val32 - i64.extend_i32_u - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|13 - global.get $~lib/memory/__stack_pointer - local.get $decimals|13 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.get $val32 - i64.extend_i32_u - local.get $decimals|13 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $sign - if - local.get $out - i32.const 45 - i32.store16 $0 - end - local.get $out - local.set $14 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u64%2Cu64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $14 - return ) - (func $~lib/string/String#substring (type $i32_i32_i32_=>_i32) (param $this i32) (param $start i32) (param $end i32) (result i32) - (local $len i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $finalStart i32) - (local $9 i32) - (local $10 i32) - (local $11 i32) - (local $12 i32) - (local $finalEnd i32) - (local $14 i32) - (local $15 i32) - (local $fromPos i32) - (local $17 i32) - (local $18 i32) - (local $toPos i32) - (local $size i32) - (local $out i32) - (local $22 i32) + (func $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66614,130 +91784,21 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/string/String#get:length - local.set $len - local.get $start - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - local.tee $6 - local.get $len - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - local.set $finalStart - local.get $end - local.tee $9 - i32.const 0 - local.tee $10 - local.get $9 - local.get $10 - i32.gt_s - select - local.tee $11 - local.get $len - local.tee $12 - local.get $11 - local.get $12 - i32.lt_s - select - local.set $finalEnd - local.get $finalStart - local.tee $14 - local.get $finalEnd - local.tee $15 - local.get $14 - local.get $15 - i32.lt_s - select - i32.const 1 - i32.shl - local.set $fromPos - local.get $finalStart - local.tee $17 - local.get $finalEnd - local.tee $18 - local.get $17 - local.get $18 - i32.gt_s - select - i32.const 1 - i32.shl - local.set $toPos - local.get $toPos - local.get $fromPos - i32.sub - local.set $size - local.get $size - i32.eqz - if - i32.const 6752 - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end - local.get $fromPos - i32.eqz - if (result i32) - local.get $toPos - local.get $len - i32.const 1 - i32.shl - i32.eq - else - i32.const 0 - end - if - local.get $this - local.set $22 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $22 - return - end + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out + local.get $2 i32.store $0 - local.get $out - local.get $this - local.get $fromPos - i32.add - local.get $size - memory.copy $0 $0 - local.get $out - local.set $22 + local.get $2 + call $~lib/function/Function<%28f32%2Cf32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $22 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66746,169 +91807,70 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f64%2Cf64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load8_s $0 - local.set $value - i32.const 1 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 0 - i32.shl - i32.add - i32.load8_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + local.get $2 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>i8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>u8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) - (local $out i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|7 i32) - (local $buffer|8 i32) - (local $num|9 i32) - (local $offset|10 i32) - (local $decimals|11 i32) - (local $12 i32) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -66917,143 +91879,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6784 - i32.const 6912 - i32.const 350 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i32.eqz - if - i32.const 6976 - 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 $radix - i32.const 10 - i32.eq - if - local.get $value - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer - local.get $value - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 31 - local.get $value - i32.clz - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|7 - global.get $~lib/memory/__stack_pointer - local.get $decimals|7 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer|8 - local.get $value - local.set $num|9 - local.get $decimals|7 - local.set $offset|10 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|8 - local.get $num|9 - i64.extend_i32_u - local.get $offset|10 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - i64.extend_i32_u - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|11 - global.get $~lib/memory/__stack_pointer - local.get $decimals|11 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $value - i64.extend_i32_u - local.get $decimals|11 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $out - local.set $12 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>u8>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $12 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67062,167 +91903,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load8_u $0 - local.set $value - i32.const 0 - drop - i32.const 1 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 10 - i32.add - local.set $estLen + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 0 - i32.shl - i32.add - i32.load8_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + local.get $2 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>i16>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67231,167 +91927,70 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>u16>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load16_s $0 - local.set $value - i32.const 1 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>u32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67400,167 +91999,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load16_u $0 - local.set $value - i32.const 0 - drop - i32.const 2 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 10 - i32.add - local.set $estLen + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + local.get $2 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>i64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67569,167 +92023,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load $0 - local.set $value - i32.const 1 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 11 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 11 - i32.add - local.set $estLen + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + local.get $2 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>u64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i32) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67738,175 +92047,46 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i32.load $0 - local.set $value - i32.const 0 - drop - i32.const 4 - i32.const 4 - i32.le_u - drop - local.get $value - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 10 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 10 - i32.add - local.set $estLen + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + local.get $2 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>f32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>f64>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) - (local $sign i32) - (local $out i32) - (local $val32 i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|9 i32) - (local $buffer|10 i32) - (local $num|11 i64) - (local $offset|12 i32) - (local $decimals|13 i32) - (local $buffer|14 i32) - (local $num|15 i64) - (local $offset|16 i32) - (local $decimals|17 i32) - (local $18 i32) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -67915,214 +92095,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6784 - i32.const 6912 - i32.const 431 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i64.const 0 - i64.ne - i32.eqz - if - i32.const 6976 - local.set $18 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $18 - return - end - local.get $value - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.const 1 - i32.shl - local.set $sign - local.get $sign - if - i64.const 0 - local.get $value - i64.sub - local.set $value - end - local.get $radix - i32.const 10 - i32.eq - if - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - call $~lib/util/number/decimalCount64High - local.set $decimals|9 - global.get $~lib/memory/__stack_pointer - local.get $decimals|9 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|10 - local.get $value - local.set $num|11 - local.get $decimals|9 - local.set $offset|12 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|10 - local.get $num|11 - local.get $offset|12 - call $~lib/util/number/utoa64_dec_lut - end - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 63 - local.get $value - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|13 - global.get $~lib/memory/__stack_pointer - local.get $decimals|13 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.set $buffer|14 - local.get $value - local.set $num|15 - local.get $decimals|13 - local.set $offset|16 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|14 - local.get $num|15 - local.get $offset|16 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|17 - global.get $~lib/memory/__stack_pointer - local.get $decimals|17 - i32.const 1 - i32.shl - local.get $sign - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $sign - i32.add - local.get $value - local.get $decimals|17 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $sign - if - local.get $out - i32.const 45 - i32.store16 $0 - end - local.get $out - local.set $18 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $18 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i64) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i64) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68131,176 +92119,166 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i64.load $0 - local.set $value - i32.const 1 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - i32.wrap_i64 - i64.extend_i32_s - i32.const 10 - call $~lib/util/number/itoa64 - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 21 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 21 - i32.add - local.set $estLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 - local.set $offset + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl + i32.store $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) - (local $out i32) - (local $val32 i32) - (local $decimals i32) - (local $buffer i32) - (local $num i32) - (local $offset i32) - (local $decimals|8 i32) - (local $buffer|9 i32) - (local $num|10 i64) - (local $offset|11 i32) - (local $decimals|12 i32) - (local $buffer|13 i32) - (local $num|14 i64) - (local $offset|15 i32) - (local $decimals|16 i32) - (local $17 i32) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68309,178 +92287,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $radix - i32.const 2 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $radix - i32.const 36 - i32.gt_s - end - if - i32.const 6784 - i32.const 6912 - i32.const 401 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $value - i64.const 0 - i64.ne - i32.eqz - if - i32.const 6976 - local.set $17 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $17 - return - end - local.get $radix - i32.const 10 - i32.eq - if - local.get $value - global.get $~lib/builtins/u32.MAX_VALUE - i64.extend_i32_u - i64.le_u - if - local.get $value - i32.wrap_i64 - local.set $val32 - local.get $val32 - call $~lib/util/number/decimalCount32 - local.set $decimals - global.get $~lib/memory/__stack_pointer - local.get $decimals - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer - local.get $val32 - local.set $num - local.get $decimals - local.set $offset - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer - local.get $num - local.get $offset - call $~lib/util/number/utoa32_dec_lut - else - local.get $value - call $~lib/util/number/decimalCount64High - local.set $decimals|8 - global.get $~lib/memory/__stack_pointer - local.get $decimals|8 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer|9 - local.get $value - local.set $num|10 - local.get $decimals|8 - local.set $offset|11 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|9 - local.get $num|10 - local.get $offset|11 - call $~lib/util/number/utoa64_dec_lut - end - else - local.get $radix - i32.const 16 - i32.eq - if - i32.const 63 - local.get $value - i64.clz - i32.wrap_i64 - i32.sub - i32.const 2 - i32.shr_s - i32.const 1 - i32.add - local.set $decimals|12 - global.get $~lib/memory/__stack_pointer - local.get $decimals|12 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.set $buffer|13 - local.get $value - local.set $num|14 - local.get $decimals|12 - local.set $offset|15 - i32.const 0 - i32.const 1 - i32.ge_s - drop - local.get $buffer|13 - local.get $num|14 - local.get $offset|15 - call $~lib/util/number/utoa_hex_lut - else - local.get $value - local.get $radix - call $~lib/util/number/ulog_base - local.set $decimals|16 - global.get $~lib/memory/__stack_pointer - local.get $decimals|16 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $value - local.get $decimals|16 - local.get $radix - call $~lib/util/number/utoa64_any_core - end - end - local.get $out - local.set $17 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $17 - return ) - (func $~lib/util/string/joinIntegerArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $value i64) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value|9 i64) - (local $i i32) - (local $11 i32) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68489,161 +92311,118 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - i64.load $0 - local.set $value - i32.const 0 - drop - i32.const 8 - i32.const 4 - i32.le_u - drop - local.get $value - i32.const 10 - call $~lib/util/number/utoa64 - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 20 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 20 - i32.add - local.set $estLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl + local.get $2 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>bool>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i64.load $0 - local.set $value|9 - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i8%2Ci32%2C~lib/typedarray/Int8Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.get $value|9 - call $~lib/util/number/itoa_buffered + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - 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 $result - local.set $11 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Ci32%2C~lib/typedarray/Uint8ClampedArray%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $11 - return ) - (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) - (local $size i32) - (local $result i32) - (local $3 i32) + (func $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68652,87 +92431,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $value - f64.const 0 - f64.eq - if - i32.const 8640 - 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 $value - local.get $value - f64.sub - f64.const 0 - f64.eq - i32.eqz - if - local.get $value - local.get $value - f64.ne - if - i32.const 8672 - 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 8704 - i32.const 8752 - local.get $value - 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 8784 - local.get $value - call $~lib/util/number/dtoa_core - i32.const 1 - i32.shl - local.set $size + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $size - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - local.get $result - i32.const 8784 - local.get $size - memory.copy $0 $0 - local.get $result - local.set $3 + local.get $2 + call $~lib/function/Function<%28i16%2Ci32%2C~lib/typedarray/Int16Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value f32) - (local $i i32) - (local $10 i32) + (func $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68741,160 +92455,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 28 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 28 - i32.add - local.set $estLen + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - call $~lib/string/String#substring - 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 $result - local.set $10 + local.get $2 + call $~lib/function/Function<%28u16%2Ci32%2C~lib/typedarray/Uint16Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 - return ) - (func $~lib/util/string/joinFloatArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $sepLen i32) - (local $estLen i32) - (local $result i32) - (local $offset i32) - (local $value f64) - (local $i i32) - (local $10 i32) + (func $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -68903,151 +92479,46 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%2C~lib/typedarray/Int32Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.set $lastIndex - local.get $lastIndex + global.set $~lib/memory/__stack_pointer + call $~stack_check + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.lt_s - if - i32.const 6752 - 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 $lastIndex - i32.eqz - if - local.get $dataStart - f64.load $0 - call $~lib/util/number/dtoa - 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 $separator - call $~lib/string/String#get:length - local.set $sepLen - i32.const 28 - local.get $sepLen - i32.add - local.get $lastIndex - i32.mul - i32.const 28 - i32.add - local.set $estLen + i32.store $0 + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $estLen - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $2 i32.store $0 - i32.const 0 - local.set $offset - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $lastIndex - i32.lt_s - if - local.get $dataStart - local.get $i - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end - end - local.get $dataStart - local.get $lastIndex - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $value - local.get $offset - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - call $~lib/util/number/dtoa_buffered - i32.add - local.set $offset - local.get $estLen - local.get $offset - i32.gt_s - if - local.get $result - i32.const 0 - local.get $offset - call $~lib/string/String#substring - 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 $result - local.set $10 + local.get $2 + call $~lib/function/Function<%28u32%2Ci32%2C~lib/typedarray/Uint32Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $10 - return ) - (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) - (local $buffer i32) - (local $3 i32) + (func $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69056,44 +92527,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $length - i32.const 1073741820 - i32.gt_u - if - i32.const 32 - i32.const 80 - i32.const 52 - i32.const 43 - call $~lib/builtins/abort - unreachable - end + local.get $this + local.set $2 global.get $~lib/memory/__stack_pointer - local.get $length - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $buffer + local.get $2 i32.store $0 - i32.const 2 - global.get $~lib/shared/runtime/Runtime.Incremental - i32.ne - drop - local.get $buffer - local.set $3 + local.get $2 + call $~lib/function/Function<%28i64%2Ci32%2C~lib/typedarray/Int64Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 - return ) - (func $~lib/typedarray/Uint8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69102,128 +92551,46 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint8Array,u8>|inlined.0 - end - local.set $9 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u64%2Ci32%2C~lib/typedarray/Uint64Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%2Ci32%2C~lib/typedarray/Float32Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (param $this i32) (param $begin i32) (param $end i32) (result i32) - (local $length 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 $outSize i32) - (local $out i32) - (local $16 i32) + (func $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69233,98 +92600,73 @@ i32.const 0 i32.store $0 local.get $this - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $length - local.get $begin + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f64%2Ci32%2C~lib/typedarray/Float64Array%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 (result i32) - local.get $length - local.get $begin - i32.add - local.tee $4 - i32.const 0 - local.tee $5 - local.get $4 - local.get $5 - i32.gt_s - select - else - local.get $begin - local.tee $6 - local.get $length - local.tee $7 - local.get $6 - local.get $7 - i32.lt_s - select - end - local.set $begin - local.get $end + i32.store $0 i32.const 0 - i32.lt_s - if (result i32) - local.get $length - local.get $end - i32.add - local.tee $8 - i32.const 0 - local.tee $9 - local.get $8 - local.get $9 - i32.gt_s - select - else - local.get $end - local.tee $10 - local.get $length - local.tee $11 - local.get $10 - local.get $11 - i32.lt_s - select - end - local.set $end - local.get $end - local.get $begin + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.tee $12 - i32.const 0 - local.tee $13 - local.get $12 - local.get $13 - i32.gt_s - select - local.set $outSize + global.set $~lib/memory/__stack_pointer + call $~stack_check global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $out + i32.const 0 i32.store $0 - local.get $out + i32.const 0 + drop local.get $this - local.get $begin - i32.add - local.get $outSize - memory.copy $0 $0 - local.get $out - local.set $16 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $16 - return ) - (func $~lib/typedarray/Int8Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69333,121 +92675,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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 $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int8Array,i8>|inlined.0 - end - local.set $9 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Uint8ClampedArray.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69456,121 +92701,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 0 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 0 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 0 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint8ClampedArray,u8>|inlined.0 - end - local.set $9 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Int16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69578,122 +92726,25 @@ call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 1 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 1 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int16Array,i16>|inlined.0 - end - local.set $9 + i32.store $0 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Uint16Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69702,121 +92753,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 1 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 1 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 1 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint16Array,u16>|inlined.0 - end - local.set $9 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Int32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69825,121 +92779,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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 $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int32Array,i32>|inlined.0 - end - local.set $9 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Uint32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/array/Array#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -69948,121 +92805,24 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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 $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint32Array,u32>|inlined.0 - end - local.set $9 + i32.const 0 + drop + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/array/Array#get:buffer + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Int64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/function/Function<%28i8%2Ci8%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70071,121 +92831,46 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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 $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Int64Array,i64>|inlined.0 - end - local.set $9 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i8%2Ci8%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u8%2Cu8%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u8%2Cu8%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Uint64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/function/Function<%28i16%2Ci16%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70194,121 +92879,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Uint64Array,u64>|inlined.0 - end - local.set $9 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i16%2Ci16%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Float32Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/function/Function<%28u16%2Cu16%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70317,121 +92903,22 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 3 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 3 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 2 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - 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 $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Float32Array,f32>|inlined.0 - end - local.set $9 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u16%2Cu16%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Float64Array.wrap (type $i32_i32_i32_=>_i32) (param $buffer i32) (param $byteOffset i32) (param $length i32) (result i32) - (local $buffer|3 i32) - (local $byteOffset|4 i32) - (local $len i32) - (local $byteLength i32) - (local $bufferByteLength i32) - (local $out i32) - (local $9 i32) + (func $~lib/function/Function<%28i32%2Ci32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70440,114 +92927,93 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - local.get $buffer - local.set $buffer|3 - local.get $byteOffset - local.set $byteOffset|4 - local.get $length - local.set $len - local.get $buffer|3 - call $~lib/arraybuffer/ArrayBuffer#get:byteLength - local.set $bufferByteLength - local.get $byteOffset|4 - local.get $bufferByteLength - i32.gt_u - local.get $byteOffset|4 - i32.const 7 - i32.and - i32.or - if - i32.const 336 - i32.const 608 - i32.const 1860 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $len - i32.const 0 - i32.lt_s - if - local.get $len - i32.const -1 - i32.eq - if - local.get $bufferByteLength - i32.const 7 - i32.and - if - i32.const 32 - i32.const 608 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable - end - local.get $bufferByteLength - local.get $byteOffset|4 - i32.sub - local.set $byteLength - else - i32.const 32 - i32.const 608 - i32.const 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - else - local.get $len - i32.const 3 - i32.shl - local.set $byteLength - local.get $byteOffset|4 - local.get $byteLength - i32.add - local.get $bufferByteLength - i32.gt_s - if - i32.const 32 - i32.const 608 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $buffer|3 - i32.store $0 - local.get $out - local.get $buffer|3 - i32.const 0 - call $~lib/rt/itcms/__link - local.get $out - local.get $byteLength - i32.store $0 offset=8 - local.get $out - local.get $buffer|3 - local.get $byteOffset|4 - i32.add - i32.store $0 offset=4 - local.get $out - br $~lib/typedarray/WRAP<~lib/typedarray/Float64Array,f64>|inlined.0 - end - local.set $9 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i32%2Ci32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $9 - return ) - (func $~lib/typedarray/Int8Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) + (func $~lib/function/Function<%28u32%2Cu32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u32%2Cu32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28i64%2Ci64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28i64%2Ci64%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28u64%2Cu64%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie 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 $0 + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28u64%2Cu64%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/function/Function<%28f32%2Cf32%29=>i32>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -70557,40 +93023,87 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 1 - i32.const 4 - i32.le_u - drop - i32.const 14320 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end local.get $this - local.get $comparator - call $~lib/typedarray/Int8Array#sort local.set $2 global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28f32%2Cf32%29=>i32>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $length i32) (param $alignLog2 i32) (param $id i32) (param $data i32) (result i32) + (local $bufferSize i32) + (local $buffer i32) + (local $array 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 $0 + local.get $length + local.get $alignLog2 + i32.shl + local.set $bufferSize + global.get $~lib/memory/__stack_pointer + local.get $bufferSize + i32.const 1 + local.get $data + call $~lib/rt/__newBuffer + local.tee $buffer + i32.store $0 + i32.const 16 + local.get $id + call $~lib/rt/itcms/__new + local.set $array + local.get $array + local.get $buffer + i32.store $0 + local.get $array + local.get $buffer + i32.const 0 + call $~lib/rt/itcms/__link + local.get $array + local.get $buffer + i32.store $0 offset=4 + local.get $array + local.get $bufferSize + i32.store $0 offset=8 + local.get $array + local.get $length + i32.store $0 offset=12 + local.get $array + 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 + return ) - (func $~lib/typedarray/Uint8Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i32) + (local $offset|11 i32) + (local $val32 i32) + (local $decimals|13 i32) + (local $14 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70599,38 +93112,178 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 6784 + i32.const 6912 + i32.const 373 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value + i32.eqz + if + i32.const 6976 + local.set $14 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $14 + return + end + local.get $value + i32.const 31 + i32.shr_u + i32.const 1 + i32.shl + local.set $sign + local.get $sign + if + i32.const 0 + local.get $value + i32.sub + local.set $value + end + local.get $radix + i32.const 10 + i32.eq + if + local.get $value + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $radix + i32.const 16 + i32.eq + if + i32.const 31 + local.get $value + i32.clz + i32.sub + i32.const 2 + i32.shr_s i32.const 1 - drop + i32.add + local.set $decimals|8 + global.get $~lib/memory/__stack_pointer + local.get $decimals|8 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|9 + local.get $value + local.set $num|10 + local.get $decimals|8 + local.set $offset|11 i32.const 0 + i32.const 1 + i32.ge_s drop - i32.const 14384 - br $~lib/util/sort/COMPARATOR|inlined.0 + local.get $buffer|9 + local.get $num|10 + i64.extend_i32_u + local.get $offset|11 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.set $val32 + local.get $val32 + i64.extend_i32_u + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|13 + global.get $~lib/memory/__stack_pointer + local.get $decimals|13 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.get $val32 + i64.extend_i32_u + local.get $decimals|13 + local.get $radix + call $~lib/util/number/utoa64_any_core end - local.tee $comparator - i32.store $0 end - local.get $this - local.get $comparator - call $~lib/typedarray/Uint8Array#sort - local.set $2 + local.get $sign + if + local.get $out + i32.const 45 + i32.store16 $0 + end + local.get $out + local.set $14 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $14 + return ) - (func $~lib/typedarray/Uint8ClampedArray#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/util/number/utoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) + (local $out i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|7 i32) + (local $buffer|8 i32) + (local $num|9 i32) + (local $offset|10 i32) + (local $decimals|11 i32) + (local $12 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70639,38 +93292,151 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 6784 + i32.const 6912 + i32.const 350 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value + i32.eqz + if + i32.const 6976 + local.set $12 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.1 (result i32) + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $12 + return + end + local.get $radix + i32.const 10 + i32.eq + if + local.get $value + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer + local.get $value + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $radix + i32.const 16 + i32.eq + if + i32.const 31 + local.get $value + i32.clz + i32.sub + i32.const 2 + i32.shr_s i32.const 1 - drop + i32.add + local.set $decimals|7 + global.get $~lib/memory/__stack_pointer + local.get $decimals|7 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer|8 + local.get $value + local.set $num|9 + local.get $decimals|7 + local.set $offset|10 i32.const 0 + i32.const 1 + i32.ge_s drop - i32.const 14448 - br $~lib/util/sort/COMPARATOR|inlined.1 + local.get $buffer|8 + local.get $num|9 + i64.extend_i32_u + local.get $offset|10 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + i64.extend_i32_u + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|11 + global.get $~lib/memory/__stack_pointer + local.get $decimals|11 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $value + i64.extend_i32_u + local.get $decimals|11 + local.get $radix + call $~lib/util/number/utoa64_any_core end - local.tee $comparator - i32.store $0 end - local.get $this - local.get $comparator - call $~lib/typedarray/Uint8ClampedArray#sort - local.set $2 + local.get $out + local.set $12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $12 + return ) - (func $~lib/typedarray/Int16Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/util/number/itoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) + (local $sign i32) + (local $out i32) + (local $val32 i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|9 i32) + (local $buffer|10 i32) + (local $num|11 i64) + (local $offset|12 i32) + (local $decimals|13 i32) + (local $buffer|14 i32) + (local $num|15 i64) + (local $offset|16 i32) + (local $decimals|17 i32) + (local $18 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70679,40 +93445,221 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 6784 + i32.const 6912 + i32.const 431 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value + i64.const 0 + i64.ne + i32.eqz + if + i32.const 6976 + local.set $18 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $18 + return + end + local.get $value + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.set $sign + local.get $sign + if + i64.const 0 + local.get $value + i64.sub + local.set $value + end + local.get $radix + i32.const 10 + i32.eq + if + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer + local.get $val32 + local.set $num + local.get $decimals + local.set $offset + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + call $~lib/util/number/decimalCount64High + local.set $decimals|9 + global.get $~lib/memory/__stack_pointer + local.get $decimals|9 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|10 + local.get $value + local.set $num|11 + local.get $decimals|9 + local.set $offset|12 + i32.const 0 + i32.const 1 + i32.ge_s + drop + local.get $buffer|10 + local.get $num|11 + local.get $offset|12 + call $~lib/util/number/utoa64_dec_lut + end + else + local.get $radix + i32.const 16 + i32.eq + if + i32.const 63 + local.get $value + i64.clz + i32.wrap_i64 + i32.sub + i32.const 2 + i32.shr_s + i32.const 1 + i32.add + local.set $decimals|13 + global.get $~lib/memory/__stack_pointer + local.get $decimals|13 i32.const 1 - drop + i32.shl + local.get $sign + i32.add i32.const 2 - i32.const 4 - i32.le_u + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.set $buffer|14 + local.get $value + local.set $num|15 + local.get $decimals|13 + local.set $offset|16 + i32.const 0 + i32.const 1 + i32.ge_s drop - i32.const 14512 - br $~lib/util/sort/COMPARATOR|inlined.0 + local.get $buffer|14 + local.get $num|15 + local.get $offset|16 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|17 + global.get $~lib/memory/__stack_pointer + local.get $decimals|17 + i32.const 1 + i32.shl + local.get $sign + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $sign + i32.add + local.get $value + local.get $decimals|17 + local.get $radix + call $~lib/util/number/utoa64_any_core end - local.tee $comparator - i32.store $0 end - local.get $this - local.get $comparator - call $~lib/typedarray/Int16Array#sort - local.set $2 + local.get $sign + if + local.get $out + i32.const 45 + i32.store16 $0 + end + local.get $out + local.set $18 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $18 + return ) - (func $~lib/typedarray/Uint16Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/util/number/utoa64 (type $i64_i32_=>_i32) (param $value i64) (param $radix i32) (result i32) + (local $out i32) + (local $val32 i32) + (local $decimals i32) + (local $buffer i32) + (local $num i32) + (local $offset i32) + (local $decimals|8 i32) + (local $buffer|9 i32) + (local $num|10 i64) + (local $offset|11 i32) + (local $decimals|12 i32) + (local $buffer|13 i32) + (local $num|14 i64) + (local $offset|15 i32) + (local $decimals|16 i32) + (local $17 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70721,120 +93668,172 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + local.get $radix + i32.const 2 + i32.lt_s + if (result i32) + i32.const 1 + else + local.get $radix + i32.const 36 + i32.gt_s + end + if + i32.const 6784 + i32.const 6912 + i32.const 401 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $value + i64.const 0 + i64.ne + i32.eqz + if + i32.const 6976 + local.set $17 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $17 + return + end + local.get $radix + i32.const 10 + i32.eq + if + local.get $value + global.get $~lib/builtins/u32.MAX_VALUE + i64.extend_i32_u + i64.le_u + if + local.get $value + i32.wrap_i64 + local.set $val32 + local.get $val32 + call $~lib/util/number/decimalCount32 + local.set $decimals + global.get $~lib/memory/__stack_pointer + local.get $decimals i32.const 1 - drop + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer + local.get $val32 + local.set $num + local.get $decimals + local.set $offset i32.const 0 - drop - i32.const 14576 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/typedarray/Uint16Array#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/typedarray/Int32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 - 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 + i32.ge_s drop - i32.const 4 - i32.const 4 - i32.le_u + local.get $buffer + local.get $num + local.get $offset + call $~lib/util/number/utoa32_dec_lut + else + local.get $value + call $~lib/util/number/decimalCount64High + local.set $decimals|8 + global.get $~lib/memory/__stack_pointer + local.get $decimals|8 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer|9 + local.get $value + local.set $num|10 + local.get $decimals|8 + local.set $offset|11 + i32.const 0 + i32.const 1 + i32.ge_s drop - i32.const 14640 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/typedarray/Int32Array#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/typedarray/Uint32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable + local.get $buffer|9 + local.get $num|10 + local.get $offset|11 + call $~lib/util/number/utoa64_dec_lut end - global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) + else + local.get $radix + i32.const 16 + i32.eq + if + i32.const 63 + local.get $value + i64.clz + i32.wrap_i64 + i32.sub + i32.const 2 + i32.shr_s i32.const 1 - drop + i32.add + local.set $decimals|12 + global.get $~lib/memory/__stack_pointer + local.get $decimals|12 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.set $buffer|13 + local.get $value + local.set $num|14 + local.get $decimals|12 + local.set $offset|15 i32.const 0 + i32.const 1 + i32.ge_s drop - i32.const 14704 - br $~lib/util/sort/COMPARATOR|inlined.0 + local.get $buffer|13 + local.get $num|14 + local.get $offset|15 + call $~lib/util/number/utoa_hex_lut + else + local.get $value + local.get $radix + call $~lib/util/number/ulog_base + local.set $decimals|16 + global.get $~lib/memory/__stack_pointer + local.get $decimals|16 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 + local.get $out + local.get $value + local.get $decimals|16 + local.get $radix + call $~lib/util/number/utoa64_any_core end - local.tee $comparator - i32.store $0 end - local.get $this - local.get $comparator - call $~lib/typedarray/Uint32Array#sort - local.set $2 + local.get $out + local.set $17 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $2 + local.get $17 + return ) - (func $~lib/typedarray/Int64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/util/number/dtoa (type $f64_=>_i32) (param $value f64) (result i32) + (local $size i32) + (local $result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70843,80 +93842,81 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange - end - unreachable - end + local.get $value + f64.const 0 + f64.eq + if + i32.const 8640 + local.set $3 global.get $~lib/memory/__stack_pointer - block $~lib/util/sort/COMPARATOR|inlined.0 (result i32) - i32.const 1 - drop - i32.const 8 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + local.get $value + local.get $value + f64.sub + f64.const 0 + f64.eq + i32.eqz + if + local.get $value + local.get $value + f64.ne + if + i32.const 8672 + local.set $3 + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.le_u - drop - i32.const 14768 - br $~lib/util/sort/COMPARATOR|inlined.0 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return end - local.tee $comparator - i32.store $0 + i32.const 8704 + i32.const 8752 + local.get $value + 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 $this - local.get $comparator - call $~lib/typedarray/Int64Array#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/typedarray/Uint64Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator 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 8784 + local.get $value + call $~lib/util/number/dtoa_core + i32.const 1 + i32.shl + local.set $size global.get $~lib/memory/__stack_pointer - i32.const 0 + local.get $size + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result i32.store $0 - 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 - drop - i32.const 14832 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 - end - local.get $this - local.get $comparator - call $~lib/typedarray/Uint64Array#sort - local.set $2 + local.get $result + i32.const 8784 + local.get $size + memory.copy $0 $0 + local.get $result + 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 + return ) - (func $~lib/typedarray/Float32Array#sort@varargs (type $i32_i32_=>_i32) (param $this i32) (param $comparator i32) (result i32) - (local $2 i32) + (func $~lib/arraybuffer/ArrayBuffer#constructor (type $i32_i32_=>_i32) (param $this i32) (param $length i32) (result i32) + (local $buffer i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -70925,38 +93925,34 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - 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 4 - i32.const 4 - i32.eq - drop - i32.const 14896 - br $~lib/util/sort/COMPARATOR|inlined.0 - end - local.tee $comparator - i32.store $0 + local.get $length + i32.const 1073741820 + i32.gt_u + if + i32.const 32 + i32.const 80 + i32.const 52 + i32.const 43 + call $~lib/builtins/abort + unreachable end - local.get $this - local.get $comparator - call $~lib/typedarray/Float32Array#sort - local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $length + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $buffer + i32.store $0 + i32.const 2 + global.get $~lib/shared/runtime/Runtime.Incremental + i32.ne + drop + local.get $buffer + 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 + return ) ) diff --git a/tests/compiler/std/typedarray.release.wat b/tests/compiler/std/typedarray.release.wat index e863cc08af..2265bdb01d 100644 --- a/tests/compiler/std/typedarray.release.wat +++ b/tests/compiler/std/typedarray.release.wat @@ -1,42 +1,46 @@ (module (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) - (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $none_=>_none (func_subtype func)) - (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) + (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) + (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) - (type $i64_i32_i32_=>_i32 (func_subtype (param i64 i32 i32) (result i32) func)) + (type $i32_i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32 i32) (result i32) func)) (type $i64_i64_=>_i32 (func_subtype (param i64 i64) (result i32) func)) - (type $f32_i32_i32_=>_i32 (func_subtype (param f32 i32 i32) (result i32) func)) - (type $f64_i32_i32_=>_i32 (func_subtype (param f64 i32 i32) (result i32) func)) + (type $i64_i32_i32_=>_i32 (func_subtype (param i64 i32 i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $f64_f64_=>_i32 (func_subtype (param f64 f64) (result i32) func)) (type $f32_f32_=>_i32 (func_subtype (param f32 f32) (result i32) func)) (type $i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32) func)) (type $i32_i32_i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32 i32 i32) func)) - (type $i64_i64_i32_i32_=>_i64 (func_subtype (param i64 i64 i32 i32) (result i64) func)) + (type $f32_i32_i32_=>_i32 (func_subtype (param f32 i32 i32) (result i32) func)) + (type $f64_i32_i32_=>_i32 (func_subtype (param f64 i32 i32) (result i32) func)) (type $i32_i32_=>_i64 (func_subtype (param i32 i32) (result i64) func)) + (type $i64_i64_i32_i32_=>_i64 (func_subtype (param i64 i64 i32 i32) (result i64) func)) + (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) + (type $i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i32) (result i32) func)) + (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $f32_f32_i32_i32_=>_f32 (func_subtype (param f32 f32 i32 i32) (result f32) func)) (type $f64_f64_i32_i32_=>_f64 (func_subtype (param f64 f64 i32 i32) (result f64) func)) (type $i64_i32_i32_=>_i64 (func_subtype (param i64 i32 i32) (result i64) func)) - (type $i64_i32_i32_=>_none (func_subtype (param i64 i32 i32) func)) - (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) + (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) (type $i32_i32_=>_f64 (func_subtype (param i32 i32) (result f64) func)) - (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) (type $i32_i32_=>_f32 (func_subtype (param i32 i32) (result f32) func)) + (type $i64_i32_i32_=>_none (func_subtype (param i64 i32 i32) func)) (type $f32_i32_i32_=>_f32 (func_subtype (param f32 i32 i32) (result f32) func)) (type $f64_i32_i32_=>_f64 (func_subtype (param f64 i32 i32) (result f64) func)) - (type $i32_i64_=>_i32 (func_subtype (param i32 i64) (result i32) func)) - (type $i32_f64_=>_i32 (func_subtype (param i32 f64) (result i32) func)) + (type $i32_i32_i64_=>_none (func_subtype (param i32 i32 i64) func)) (type $f32_i32_i32_=>_none (func_subtype (param f32 i32 i32) func)) (type $f64_i32_i32_=>_none (func_subtype (param f64 i32 i32) func)) + (type $i32_f32_i32_=>_i32 (func_subtype (param i32 f32 i32) (result i32) func)) + (type $i32_f64_i32_=>_i32 (func_subtype (param i32 f64 i32) (result i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) - (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) - (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) (type $i32_i64_i32_=>_none (func_subtype (param i32 i64 i32) func)) (type $i32_i64_i64_i32_i64_i32_=>_i32 (func_subtype (param i32 i64 i64 i32 i64 i32) (result i32) func)) (type $i32_i32_f64_f64_f64_f64_f64_=>_none (func_subtype (param i32 i32 f64 f64 f64 f64 f64) func)) + (type $i32_i32_f64_=>_none (func_subtype (param i32 i32 f64) func)) + (type $i32_i32_f32_=>_none (func_subtype (param i32 i32 f32) func)) + (type $i32_f32_=>_i32 (func_subtype (param i32 f32) (result i32) func)) (type $f64_=>_i32 (func_subtype (param f64) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (import "env" "trace" (func $~lib/builtins/trace (param i32 i32 f64 f64 f64 f64 f64))) @@ -2170,795 +2174,203 @@ memory.fill $0 local.get $1 ) - (func $std/typedarray/testInstantiate (type $i32_=>_none) (param $0 i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer - i32.const 44 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 44 - memory.fill $0 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - 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 $0 offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 33 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 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 $0 offset=4 + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 f64) + (local $6 f64) + (local $7 i32) + (local $8 f64) local.get $1 - i32.load $0 offset=4 + local.get $3 + local.get $2 local.get $1 - i32.load $0 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 $0 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 $0 - local.get $1 - i32.load $0 offset=8 - i32.ne - if - 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 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store $0 offset=8 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 + i32.const 1 + i32.add + local.tee $7 + local.get $3 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 $0 offset=8 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 43 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 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 $0 offset=12 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 + i32.const 1 + i32.and 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 $0 offset=8 - local.get $0 + local.get $7 i32.const 1 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 48 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s + if + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.tee $3 + f64.load $0 offset=8 + local.tee $8 + local.set $6 + local.get $3 + f64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + if + local.get $5 + local.set $6 + local.get $8 + local.set $5 + end + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 + local.get $1 + local.get $3 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $8 + f64.store $0 offset=16 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store $0 offset=16 + loop $while-continue|2 + local.get $1 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + f64.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $6 + f64.store $0 offset=8 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 + end end - local.get $0 + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 f64) + (local $6 i32) + (local $7 f64) local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 49 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end - global.get $~lib/memory/__stack_pointer local.get $0 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store $0 offset=16 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 52 - i32.const 3 - call $~lib/builtins/abort - unreachable - end local.get $1 - i32.load $0 offset=8 - local.get $0 - i32.const 1 + i32.const 3 i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 53 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.add + f64.load $0 + local.set $5 local.get $0 local.get $1 - i32.load $0 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 $0 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store $0 offset=20 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - 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 $0 offset=8 - local.get $0 - i32.const 2 + i32.add + local.tee $4 + i32.const 3 i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 58 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 offset=8 + i32.add + f64.load $0 + local.set $7 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 - local.get $0 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store $0 offset=24 - local.get $1 - i32.load $0 offset=4 - local.get $1 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 i32.load $0 - 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 $0 offset=8 - 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 - local.get $0 - local.get $1 - i32.load $0 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 - local.get $0 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store $0 offset=28 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - 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 $0 offset=8 - 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 - local.get $0 - local.get $1 - i32.load $0 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 - local.get $0 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store $0 offset=32 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - 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 $0 offset=8 - local.get $0 - i32.const 3 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 73 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ne - if - 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 $0 offset=36 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 77 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=8 - local.get $0 - i32.const 2 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 78 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ne - if - 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 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store $0 offset=40 - local.get $1 - i32.load $0 offset=4 - local.get $1 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 82 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $1 - i32.load $0 offset=8 - local.get $0 - i32.const 3 - i32.shl - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 83 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $0 - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ne - if - 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 44 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $~lib/typedarray/Int32Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 747 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 - ) - (func $~lib/typedarray/Int32Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 736 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) - (func $~lib/typedarray/Float64Array#__set (type $i32_i32_f64_=>_none) (param $0 i32) (param $1 i32) (param $2 f64) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1457 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - f64.store $0 - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 f64) - (local $6 f64) - (local $7 i32) - (local $8 f64) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $7 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.tee $3 - f64.load $0 offset=8 - local.tee $8 - local.set $6 - local.get $3 - f64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $8 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $6 - local.get $8 - local.set $5 - end - local.get $7 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $8 - f64.store $0 offset=16 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store $0 offset=16 - loop $while-continue|2 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - f64.store $0 offset=8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $6 - f64.store $0 offset=8 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 - end - end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 f64) - (local $6 i32) - (local $7 f64) - local.get $1 - local.get $2 - i32.eq - if - local.get $1 - return - end - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $5 - local.get $0 - local.get $1 - i32.const 1 - i32.add - local.tee $4 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s if loop $while-continue|0 local.get $2 @@ -3200,404 +2612,19 @@ end end ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) - (local $13 f64) - (local $14 i32) - (local $15 i32) - (local $16 i64) - local.get $1 - i32.const 48 - i32.le_s - if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - f64.load $0 - local.set $13 - local.get $0 - f64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f64.store $0 - local.get $0 - f64.load $0 offset=16 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f64.store $0 offset=8 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - f64.store $0 offset=16 - end - local.get $0 - f64.load $0 - local.set $10 - local.get $0 - f64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f64_f64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f64.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f64.store $0 offset=8 - return - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $12 - i32.add - local.set $14 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 3 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $15 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s - if - local.get $0 - i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 - i32.ge_s - select - local.tee $6 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 - i32.lt_s - if - local.get $0 - local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 - i32.add - local.tee $8 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $16 - i64.div_u - local.get $5 - local.get $7 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $16 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $14 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $12 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $14 - i32.add - local.get $6 - i32.store $0 - local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end - end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) - (local $2 i64) - (local $3 i64) - local.get $0 - i64.reinterpret_f64 - local.tee $2 - i64.const 63 - i64.shr_s - i64.const 1 - i64.shr_u - local.get $2 - i64.xor - local.tee $2 + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i64) + local.get $0 + i64.reinterpret_f64 + local.tee $2 + i64.const 63 + i64.shr_s + i64.const 1 + i64.shr_u + local.get $2 + i64.xor + local.tee $2 local.get $1 i64.reinterpret_f64 local.tee $3 @@ -3614,6525 +2641,6759 @@ i64.lt_s i32.sub ) - (func $~lib/typedarray/Float64Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1446 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 3 - i32.shl i32.add - f64.load $0 ) - (func $~lib/typedarray/Uint8ClampedArray#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 320 - i32.const 45 - call $~lib/builtins/abort - unreachable - end + local.get $1 + i64.add + ) + (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) local.get $0 - i32.load $0 offset=4 local.get $1 - i32.add - i32.const 255 - local.get $2 - i32.sub - i32.const 31 - i32.shr_s - local.get $2 - i32.or - local.get $2 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 $0 + f32.add ) - (func $~lib/typedarray/Uint8ClampedArray#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + local.get $0 local.get $1 + f64.add + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 309 - i32.const 45 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_u $0 + i32.mul ) - (func $~lib/typedarray/Int8Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 36 - i32.const 45 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 $0 + i64.mul ) - (func $~lib/typedarray/Int8Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_f32) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 25 - i32.const 45 - call $~lib/builtins/abort - unreachable - end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_s $0 + f32.mul ) - (func $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_f64) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.extend8_s + i32.const 2 + i32.gt_s + ) + (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - local.get $0 - i32.load $0 offset=8 local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - return - end local.get $0 - i32.load $0 offset=8 - local.set $3 - loop $for-loop|0 - local.get $2 + i32.const 20 + i32.sub + local.tee $3 + i32.load $0 + i32.const -4 + i32.and + i32.const 16 + i32.sub + i32.le_u + if local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - call $~lib/typedarray/Int8Array#__get - local.set $4 - local.get $2 - local.get $1 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1360 - i32.const 1760 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end - local.get $4 - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.add - i32.load8_s $0 - i32.ne - if - i32.const 0 - return - end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + local.get $1 + i32.store $0 offset=16 + local.get $0 + return end - i32.const 1 - ) - (func $~lib/typedarray/Int32Array#fill (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) - (local $4 i32) - (local $5 i32) + local.get $1 + local.get $3 + i32.load $0 offset=12 + call $~lib/rt/itcms/__new + local.tee $2 local.get $0 - i32.load $0 offset=4 - local.set $5 + local.get $1 + local.get $3 + i32.load $0 offset=16 + local.tee $0 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - local.get $2 - i32.add - local.get $2 - local.get $4 - local.get $2 - local.get $4 - i32.lt_s + local.get $1 + i32.gt_u select + memory.copy $0 $0 local.get $2 - i32.const 0 - i32.lt_s - select - local.set $0 - local.get $3 - local.get $4 - i32.add - local.get $3 - local.get $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $2 - block $__inlined_func$~lib/util/bytes/FILL - local.get $1 - i32.eqz - local.get $1 - i32.const -1 - i32.eq - i32.or - if - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - local.get $0 - i32.sub - i32.const 2 - i32.shl - memory.fill $0 - end - br $__inlined_func$~lib/util/bytes/FILL - end - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - end ) - (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=12 - i32.ge_u - if - i32.const 1360 - i32.const 1760 - i32.const 114 - i32.const 42 - call $~lib/builtins/abort - unreachable - end + i32.const 255 + i32.and + i32.const 2 + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 + i32.extend16_s i32.const 2 - i32.shl - i32.add - i32.load $0 + i32.gt_s ) - (func $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.load $0 offset=12 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 + i32.const 65535 + i32.and i32.const 2 - i32.shr_u - i32.ne - if - i32.const 0 - return - end + i32.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 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 + i32.gt_s ) - (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 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 - i32.const 2147483647 - local.set $3 - end + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int32Array#fill + i32.const 2 + i32.gt_u ) - (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - block $2of2 - block $1of2 - block $outOfRange - global.get $~argumentsLength - br_table $1of2 $1of2 $2of2 $outOfRange - end - unreachable - end - i32.const 2147483647 - local.set $1 - end + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.const 0 - local.get $1 - call $~lib/typedarray/Int32Array#slice + i64.const 2 + i64.gt_s ) - (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - local.get $3 + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - local.get $3 - local.get $4 - i32.lt_s - select - local.set $5 + i64.const 2 + i64.gt_u + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.tee $3 - 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.const 2 - i32.shl - i32.add - local.get $3 - 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 + f32.const 2 + f32.gt + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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.add - local.get $5 - i32.const 0 - i32.lt_s - if (result i32) - local.get $4 - local.get $5 - i32.add - local.tee $3 - i32.const 0 - local.get $3 - 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 $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 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and i32.const 2 - i32.shl - memory.copy $0 $0 + i32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 + i32.const 65535 + i32.and + i32.eqz ) - (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 2 - i32.sub - br_table $0of1 $1of1 $outOfRange - end - unreachable - end - i32.const 2147483647 - local.set $3 - end + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - local.get $2 - local.get $3 - call $~lib/typedarray/Int32Array#copyWithin + i32.const 2 + i32.eq ) - (func $std/typedarray/testReduce<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $std/typedarray/testArraySome<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i32.add + i32.eqz ) - (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 178 - i32.const 45 - call $~lib/builtins/abort - unreachable - end + i64.const 2 + i64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - local.get $2 - i32.store8 $0 + i64.eqz ) - (func $~lib/typedarray/Int16Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 463 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + f32.const 2 + f32.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 $0 + f32.const 0 + f32.eq ) - (func $~lib/typedarray/Uint16Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 605 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + f64.const 2 + f64.eq + ) + (func $std/typedarray/testArraySome<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.store16 $0 + f64.const 0 + f64.eq ) - (func $~lib/typedarray/Uint32Array#__set (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - local.get $1 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int8Array,i8>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 889 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + i32.const 255 + i32.and + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int16Array,i16>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - i32.store $0 + i32.const 65535 + i32.and + i32.const 4 + i32.eq ) - (func $~lib/typedarray/Int64Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int32Array,i32>~anonymous|1 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1031 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + i32.const 4 + i32.eq + ) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Int64Array,i64>~anonymous|1 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store $0 + i64.const 4 + i64.eq ) - (func $std/typedarray/testReduce<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_i32_i32_=>_i64) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i32) (result i64) + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float32Array,f32>~anonymous|1 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - i64.add + f32.const 4 + f32.eq ) - (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (param $0 i32) (param $1 i32) (param $2 i64) - local.get $1 + (func $std/typedarray/testArrayFindIndex<~lib/typedarray/Float64Array,f64>~anonymous|1 (type $f64_i32_i32_=>_i32) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1173 - i32.const 64 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $2 - i64.store $0 + f64.const 4 + f64.eq ) - (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (param $0 i32) (param $1 i32) (param $2 f32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1315 - i32.const 64 - call $~lib/builtins/abort - unreachable - end + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $2 - f32.store $0 + i32.extend8_s + i32.const 1 + i32.and + i32.eqz ) - (func $std/typedarray/testReduce<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_i32_i32_=>_f32) (param $0 f32) (param $1 f32) (param $2 i32) (param $3 i32) (result f32) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - f32.add + i32.const 1 + i32.and + i32.eqz ) - (func $std/typedarray/testReduce<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_i32_i32_=>_f64) (param $0 f64) (param $1 f64) (param $2 i32) (param $3 i32) (result f64) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) local.get $0 - local.get $1 - f64.add + i32.extend16_s + i32.const 1 + i32.and + i32.eqz ) - (func $~lib/typedarray/Int8Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 + (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 + i64.const 1 + i64.and + i64.eqz + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + block $__inlined_func$~lib/math/NativeMathf.mod (result f32) + local.get $0 + i32.reinterpret_f32 + local.tee $3 + 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 + br $__inlined_func$~lib/math/NativeMathf.mod + end + local.get $3 + i32.const 1 + i32.shl + local.tee $1 + i32.const -2147483648 + i32.le_u + if + local.get $0 + local.get $1 + i32.const -2147483648 + i32.ne + f32.convert_i32_u + f32.mul + br $__inlined_func$~lib/math/NativeMathf.mod + end + local.get $2 + if (result i32) + local.get $3 + i32.const 8388607 + i32.and + i32.const 8388608 + i32.or + else + local.get $3 + i32.const 1 + local.get $2 + local.get $3 + i32.const 9 + i32.shl + i32.clz + i32.sub + local.tee $2 + i32.sub + i32.shl + end + local.set $1 + 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 $0 + f32.const 0 + f32.mul + local.get $1 + i32.const 8388608 + i32.eq + br_if $__inlined_func$~lib/math/NativeMathf.mod + drop + 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 $0 + f32.const 0 + f32.mul + local.get $1 + i32.const 8388608 + i32.eq + br_if $__inlined_func$~lib/math/NativeMathf.mod + drop + local.get $1 + i32.const 8388608 + i32.sub + local.set $1 + end + local.get $2 + local.get $1 + i32.const 8 + i32.shl + i32.clz + local.tee $4 + i32.sub + local.set $2 + local.get $3 + i32.const -2147483648 + i32.and + local.get $1 + local.get $4 + i32.shl + local.tee $1 + i32.const 8388608 + i32.sub + local.get $2 + i32.const 23 + i32.shl + i32.or + local.get $1 + i32.const 1 + local.get $2 + i32.sub + i32.shr_u + local.get $2 + i32.const 0 + i32.gt_s + select + i32.or + f32.reinterpret_i32 + end + f32.const 0 + f32.eq + ) + (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) + (local $3 i64) + (local $4 i64) + (local $5 i64) + (local $6 i64) + block $__inlined_func$~lib/math/NativeMath.mod (result f64) + local.get $0 + i64.reinterpret_f64 + local.tee $5 + i64.const 52 + i64.shr_u + i64.const 2047 + i64.and + local.tee $4 + i64.const 2047 + i64.eq + if + local.get $0 + local.get $0 + f64.add + local.tee $0 + local.get $0 + f64.div + br $__inlined_func$~lib/math/NativeMath.mod + end + local.get $5 + i64.const 1 + i64.shl + local.tee $3 + i64.const -9223372036854775808 + i64.le_u + if + local.get $0 + local.get $3 + i64.const -9223372036854775808 + i64.ne + f64.convert_i32_u + f64.mul + br $__inlined_func$~lib/math/NativeMath.mod + end + local.get $4 + i64.eqz + if (result i64) + local.get $5 + i64.const 1 + local.get $4 + local.get $5 + i64.const 12 + i64.shl + i64.clz + i64.sub + local.tee $4 + i64.sub + i64.shl + else + local.get $5 + i64.const 4503599627370495 + i64.and + i64.const 4503599627370496 + i64.or + end + local.set $3 + loop $while-continue|0 + local.get $4 + i64.const 1024 + i64.gt_s + if + local.get $3 + i64.const 4503599627370496 + i64.ge_u + if (result i64) + local.get $0 + f64.const 0 + f64.mul + local.get $3 + i64.const 4503599627370496 + i64.eq + br_if $__inlined_func$~lib/math/NativeMath.mod + drop + local.get $3 + i64.const 4503599627370496 + i64.sub + else + local.get $3 + end + i64.const 1 + i64.shl + local.set $3 + local.get $4 + i64.const 1 + i64.sub + local.set $4 + br $while-continue|0 + end + end + local.get $3 + i64.const 4503599627370496 + i64.ge_u + if + local.get $0 + f64.const 0 + f64.mul + local.get $3 + i64.const 4503599627370496 + i64.eq + br_if $__inlined_func$~lib/math/NativeMath.mod + drop + local.get $3 + i64.const 4503599627370496 + i64.sub + local.set $3 + end + local.get $4 + local.get $3 + i64.const 11 + i64.shl + i64.clz + local.tee $4 + i64.sub + local.set $6 + local.get $5 + i64.const -9223372036854775808 + i64.and + local.get $3 + local.get $4 + i64.shl + local.tee $3 + i64.const 4503599627370496 + i64.sub + local.get $6 + i64.const 52 + i64.shl + i64.or + local.get $3 + i64.const 1 + local.get $6 + i64.sub + i64.shr_u + local.get $6 + i64.const 0 + i64.gt_s + select + i64.or + f64.reinterpret_i64 + end + f64.const 0 + f64.eq + ) + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u + if + local.get $1 + i32.const 10000 + i32.rem_u + local.set $3 + local.get $1 + i32.const 10000 + i32.div_u + local.set $1 + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 + end + end local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 + i32.const 100 i32.ge_u if - i32.const 1360 - i32.const 1632 - i32.const 48 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.const 2 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i32.load $0 + i32.store $0 + local.get $1 + i32.const 100 + i32.div_u + local.set $1 end - local.get $0 - i32.load $0 offset=4 local.get $1 - i32.add - i32.load8_s $0 - ) - (func $~lib/typedarray/Uint8Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 + i32.const 10 i32.ge_u if - i32.const 1360 - i32.const 1632 - i32.const 190 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i32.load $0 + i32.store $0 + else + local.get $0 + local.get $2 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.add + i32.store16 $0 end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_u $0 ) - (func $~lib/typedarray/Uint8ClampedArray#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $1 + i32.extend8_s i32.const 0 i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 332 - i32.const 33 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.add - i32.load8_u $0 - ) - (func $~lib/typedarray/Int16Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u local.tee $2 - i32.const 0 - local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u if - i32.const 1360 - i32.const 1632 - i32.const 475 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 255 + i32.and + i32.const 128 + i32.eq + if + local.get $0 + i64.const 15762813447372845 + i64.store $0 + i32.const 4 + return + end + local.get $0 + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $1 + i32.sub + local.set $1 end local.get $0 - i32.load $0 offset=4 - local.get $1 + local.get $2 i32.const 1 i32.shl i32.add - i32.load16_s $0 - ) - (func $~lib/typedarray/Uint16Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + local.set $3 local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 0 + i32.extend8_s + i32.const 10 + i32.lt_u + if + local.get $3 + local.get $1 + i32.extend8_s + i32.const 48 + i32.or + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + return + end local.get $1 - i32.const 0 - i32.lt_s - select - i32.add + i32.extend8_s local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 617 - i32.const 33 - call $~lib/builtins/abort - unreachable + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add + end end - local.get $0 - i32.load $0 offset=4 + local.set $0 + local.get $3 local.get $1 - i32.const 1 - i32.shl + local.get $0 + call $~lib/util/number/utoa32_dec_lut + local.get $0 + local.get $2 i32.add - i32.load16_u $0 ) - (func $~lib/typedarray/Int32Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.const 0 + 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 $0 + i32.const 1 + return + end local.get $1 - i32.const 0 - i32.lt_s - select + i32.const 255 + i32.and + local.set $2 + i32.const 3 + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 i32.add - local.tee $1 local.get $2 + i32.const 100 i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 759 - i32.const 33 - call $~lib/builtins/abort - unreachable - end + select + local.set $1 local.get $0 - i32.load $0 offset=4 + local.get $2 + local.get $1 + call $~lib/util/number/utoa32_dec_lut local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 ) - (func $~lib/typedarray/Uint32Array#at (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) + (local $3 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.const 0 - local.get $1 + i32.extend16_s i32.const 0 i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + local.tee $2 if - i32.const 1360 - i32.const 1632 - i32.const 901 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.const 65535 + i32.and + i32.const 32768 + i32.eq + if + local.get $0 + i64.const 15481338470793261 + i64.store $0 + local.get $0 + i32.const 3670070 + i32.store $0 offset=8 + i32.const 6 + return + end + local.get $0 + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $1 + i32.sub + local.set $1 end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 + local.get $2 + i32.const 1 i32.shl i32.add - i32.load $0 - ) - (func $~lib/typedarray/Int64Array#at (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) - (local $2 i32) + local.set $3 local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.const 0 + i32.extend16_s + i32.const 10 + i32.lt_u + if + local.get $3 + local.get $1 + i32.extend16_s + i32.const 48 + i32.or + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + return + end local.get $1 - i32.const 0 - i32.lt_s - select - i32.add + i32.extend16_s local.tee $1 - local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1043 - i32.const 33 - call $~lib/builtins/abort - unreachable + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add + end end - local.get $0 - i32.load $0 offset=4 + local.set $0 + local.get $3 local.get $1 - i32.const 3 - i32.shl + local.get $0 + call $~lib/util/number/utoa32_dec_lut + local.get $0 + local.get $2 i32.add - i64.load $0 ) - (func $~lib/typedarray/Uint64Array#at (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.const 0 + 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 $0 + i32.const 1 + return + end local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 + i32.const 65535 + i32.and + local.set $2 local.get $2 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 1185 - i32.const 33 - call $~lib/builtins/abort - unreachable + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add end + local.set $1 local.get $0 - i32.load $0 offset=4 + local.get $2 + local.get $1 + call $~lib/util/number/utoa32_dec_lut local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 ) - (func $~lib/typedarray/Float32Array#at (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.const 0 - local.get $1 i32.const 0 i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + local.tee $2 if - i32.const 1360 - i32.const 1632 - i32.const 1327 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 45 + i32.store16 $0 + i32.const 0 + local.get $1 + i32.sub + local.set $1 end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 + local.get $2 + i32.const 1 i32.shl i32.add - f32.load $0 - ) - (func $~lib/typedarray/Float64Array#at (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) - (local $2 i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.const 0 + local.set $0 local.get $1 - i32.const 0 - i32.lt_s - select - i32.add - local.tee $1 - local.get $2 - i32.ge_u + i32.const 10 + i32.lt_u if - i32.const 1360 - i32.const 1632 - i32.const 1469 - i32.const 33 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.const 48 + i32.or + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + return end local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - local.get $0 - i32.mul - ) - (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 167 - i32.const 45 - call $~lib/builtins/abort - unreachable + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add + end end + local.tee $0 + call $~lib/util/number/utoa32_dec_lut local.get $0 - i32.load $0 offset=4 - local.get $1 + local.get $2 i32.add - i32.load8_u $0 ) - (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u + i32.const 10 + i32.lt_u if - i32.const 1360 - i32.const 1632 - i32.const 452 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.const 48 + i32.or + i32.store16 $0 + i32.const 1 + return end local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - ) - (func $~lib/typedarray/Uint16Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 594 - i32.const 64 - call $~lib/builtins/abort - unreachable + i32.const 100000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 100 + i32.lt_u + if (result i32) + local.get $1 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $1 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $1 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $1 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $1 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $1 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $1 + i32.const 100000000 + i32.ge_u + i32.add + end end + local.tee $0 + call $~lib/util/number/utoa32_dec_lut local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 ) - (func $~lib/typedarray/Uint32Array#__get (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u - if - i32.const 1360 - i32.const 1632 - i32.const 878 - i32.const 64 - call $~lib/builtins/abort - unreachable + (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (local $3 i32) + (local $4 i32) + loop $while-continue|0 + local.get $1 + i64.const 100000000 + i64.ge_u + if + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $1 + i64.const 100000000 + i64.div_u + local.tee $1 + i64.const 100000000 + i64.mul + i64.sub + i32.wrap_i64 + local.tee $3 + i32.const 10000 + i32.rem_u + local.tee $4 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + local.get $4 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 10000 + i32.div_u + local.tee $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 8012 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 + end end local.get $0 - i32.load $0 offset=4 local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i64) (param $0 i64) (param $1 i32) (param $2 i32) (result i64) - local.get $0 - local.get $0 - i64.mul + i32.wrap_i64 + local.get $2 + call $~lib/util/number/utoa32_dec_lut ) - (func $~lib/typedarray/Int64Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i64.const 0 + i64.lt_s + local.tee $3 if - i32.const 1360 - i32.const 1632 - i32.const 1020 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 45 + i32.store16 $0 + i64.const 0 + local.get $1 + i64.sub + local.set $1 end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 + local.get $3 + i32.const 1 i32.shl i32.add - i64.load $0 - ) - (func $~lib/typedarray/Uint64Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + local.set $4 local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.ge_u + i64.const 10 + i64.lt_u if - i32.const 1360 - i32.const 1632 - i32.const 1162 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $4 + local.get $1 + i64.const 48 + i64.or + i64.store16 $0 + local.get $3 + i32.const 1 + i32.add + return end - local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_f32) (param $0 f32) (param $1 i32) (param $2 i32) (result f32) - local.get $0 - local.get $0 - f32.mul - ) - (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) local.get $1 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.ge_u + i64.const 4294967295 + i64.le_u if - i32.const 1360 - i32.const 1632 - i32.const 1304 - i32.const 64 - call $~lib/builtins/abort - unreachable + local.get $1 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.set $0 + local.get $4 + local.get $2 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + else + local.get $4 + local.get $1 + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $1 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $1 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + call $~lib/util/number/utoa64_dec_lut end local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl + local.get $3 i32.add - f32.load $0 - ) - (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_f64) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.extend8_s - i32.const 2 - i32.gt_s - ) - (func $~lib/rt/itcms/__renew (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) (local $2 i32) (local $3 i32) - local.get $1 local.get $0 - i32.const 20 - i32.sub - local.tee $3 - i32.load $0 - i32.const -4 - i32.and - i32.const 16 - i32.sub - i32.le_u + local.set $2 + local.get $1 + i64.const 10 + i64.lt_u if - local.get $3 + local.get $2 local.get $1 - i32.store $0 offset=16 - local.get $0 + i64.const 48 + i64.or + i64.store16 $0 + i32.const 1 return end local.get $1 - local.get $3 - i32.load $0 offset=12 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $0 - local.get $1 - local.get $3 - i32.load $0 offset=16 - local.tee $0 - local.get $0 - local.get $1 - i32.gt_u - select - memory.copy $0 $0 - local.get $2 - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.extend16_s - i32.const 2 - i32.gt_s - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i64_i32_i32_=>_i32) (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 (type $i64_i32_i32_=>_i32) (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 (type $f32_i32_i32_=>_i32) (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 (type $f64_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i64_i32_i32_=>_i32) (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 (type $i64_i32_i32_=>_i32) (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 (type $f32_i32_i32_=>_i32) (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 (type $f32_i32_i32_=>_i32) (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 (type $f64_i32_i32_=>_i32) (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 (type $f64_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (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 (type $i64_i32_i32_=>_i32) (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 (type $f32_i32_i32_=>_i32) (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 (type $f64_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.extend8_s - i32.const 1 - i32.and - i32.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_i32_=>_i32) (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 (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i32.extend16_s - i32.const 1 - i32.and - i32.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i32_i32_=>_i32) (param $0 i64) (param $1 i32) (param $2 i32) (result i32) - local.get $0 - i64.const 1 - i64.and - i64.eqz - ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_i32) (param $0 f32) (param $1 i32) (param $2 i32) (result i32) - (local $3 i32) - (local $4 i32) - block $__inlined_func$~lib/math/NativeMathf.mod (result f32) - local.get $0 - i32.reinterpret_f32 + i64.const 4294967295 + i64.le_u + if + local.get $1 + i32.wrap_i64 local.tee $3 - 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 - br $__inlined_func$~lib/math/NativeMathf.mod - end - local.get $3 - i32.const 1 - i32.shl - local.tee $1 - i32.const -2147483648 - i32.le_u - if - local.get $0 - local.get $1 - i32.const -2147483648 - i32.ne - f32.convert_i32_u - f32.mul - br $__inlined_func$~lib/math/NativeMathf.mod - end - local.get $2 + i32.const 100000 + i32.lt_u if (result i32) local.get $3 - i32.const 8388607 - i32.and - i32.const 8388608 - i32.or + i32.const 100 + i32.lt_u + if (result i32) + local.get $3 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $3 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u + i32.add + end else local.get $3 - i32.const 1 - local.get $2 - local.get $3 - i32.const 9 - i32.shl - i32.clz - i32.sub - local.tee $2 - i32.sub - i32.shl - end - local.set $1 - loop $while-continue|0 - local.get $2 - i32.const 128 - i32.gt_s - if - local.get $1 - i32.const 8388608 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 1000000 i32.ge_u - if (result i32) - local.get $0 - f32.const 0 - f32.mul - local.get $1 - i32.const 8388608 - i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod - drop - 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 + i32.const 6 + i32.add + else + local.get $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $3 + i32.const 100000000 + i32.ge_u + i32.add end end - local.get $1 - i32.const 8388608 - i32.ge_u - if - local.get $0 - f32.const 0 - f32.mul - local.get $1 - i32.const 8388608 - i32.eq - br_if $__inlined_func$~lib/math/NativeMathf.mod - drop - local.get $1 - i32.const 8388608 - i32.sub - local.set $1 - end + local.set $0 local.get $2 - local.get $1 - i32.const 8 - i32.shl - i32.clz - local.tee $4 - i32.sub - local.set $2 local.get $3 - i32.const -2147483648 - i32.and - local.get $1 - local.get $4 - i32.shl - local.tee $1 - i32.const 8388608 - i32.sub + local.get $0 + call $~lib/util/number/utoa32_dec_lut + else local.get $2 - i32.const 23 - i32.shl - i32.or local.get $1 - i32.const 1 - local.get $2 - i32.sub - i32.shr_u - local.get $2 - i32.const 0 - i32.gt_s - select - i32.or - f32.reinterpret_i32 + local.get $1 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $1 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $1 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $1 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $1 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $1 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $1 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $1 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + call $~lib/util/number/utoa64_dec_lut end - f32.const 0 - f32.eq + local.get $0 ) - (func $std/typedarray/testArrayEvery<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_i32) (param $0 f64) (param $1 i32) (param $2 i32) (result i32) - (local $3 i64) - (local $4 i64) - (local $5 i64) - (local $6 i64) - block $__inlined_func$~lib/math/NativeMath.mod (result f64) - local.get $0 - i64.reinterpret_f64 - local.tee $5 - i64.const 52 - i64.shr_u - i64.const 2047 - i64.and - local.tee $4 - i64.const 2047 - i64.eq - if - local.get $0 - local.get $0 - f64.add - local.tee $0 - local.get $0 - f64.div - br $__inlined_func$~lib/math/NativeMath.mod - end - local.get $5 - i64.const 1 - i64.shl - local.tee $3 - i64.const -9223372036854775808 - i64.le_u - if - local.get $0 + (func $~lib/util/number/genDigits (type $i32_i64_i64_i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) + (local $6 i32) + (local $7 i32) + (local $8 i64) + (local $9 i64) + (local $10 i32) + (local $11 i64) + (local $12 i64) + local.get $2 + local.get $1 + i64.sub + local.set $9 + i64.const 1 + i32.const 0 + local.get $3 + i32.sub + local.tee $10 + i64.extend_i32_s + local.tee $1 + i64.shl + local.tee $12 + i64.const 1 + i64.sub + local.tee $11 + local.get $2 + i64.and + local.set $8 + local.get $2 + local.get $1 + i64.shr_u + i32.wrap_i64 + local.tee $3 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 100 + i32.lt_u + if (result i32) local.get $3 - i64.const -9223372036854775808 - i64.ne - f64.convert_i32_u - f64.mul - br $__inlined_func$~lib/math/NativeMath.mod - end - local.get $4 - i64.eqz - if (result i64) - local.get $5 - i64.const 1 - local.get $4 - local.get $5 - i64.const 12 - i64.shl - i64.clz - i64.sub - local.tee $4 - i64.sub - i64.shl + i32.const 10 + i32.ge_u + i32.const 1 + i32.add else - local.get $5 - i64.const 4503599627370495 - i64.and - i64.const 4503599627370496 - i64.or - end - local.set $3 - loop $while-continue|0 - local.get $4 - i64.const 1024 - i64.gt_s - if - local.get $3 - i64.const 4503599627370496 - i64.ge_u - if (result i64) - local.get $0 - f64.const 0 - f64.mul - local.get $3 - i64.const 4503599627370496 - i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod - drop - local.get $3 - i64.const 4503599627370496 - i64.sub - else - local.get $3 - end - i64.const 1 - i64.shl - local.set $3 - local.get $4 - i64.const 1 - i64.sub - local.set $4 - br $while-continue|0 - end + local.get $3 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u + i32.add end + else local.get $3 - i64.const 4503599627370496 - i64.ge_u - if - local.get $0 - f64.const 0 - f64.mul + i32.const 10000000 + i32.lt_u + if (result i32) local.get $3 - i64.const 4503599627370496 - i64.eq - br_if $__inlined_func$~lib/math/NativeMath.mod - drop + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else local.get $3 - i64.const 4503599627370496 - i64.sub - local.set $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $3 + i32.const 100000000 + i32.ge_u + i32.add end - local.get $4 - local.get $3 - i64.const 11 - i64.shl - i64.clz - local.tee $4 - i64.sub - local.set $6 - local.get $5 - i64.const -9223372036854775808 - i64.and - local.get $3 - local.get $4 - i64.shl - local.tee $3 - i64.const 4503599627370496 - i64.sub - local.get $6 - i64.const 52 - i64.shl - i64.or - local.get $3 - i64.const 1 - local.get $6 - i64.sub - i64.shr_u - local.get $6 - i64.const 0 - i64.gt_s - select - i64.or - f64.reinterpret_i64 end - f64.const 0 - f64.eq - ) - (func $~lib/typedarray/Int8Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) - (local $3 i64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $0 - i32.load $0 offset=8 - local.tee $5 - i32.const 1 - i32.gt_u - if - local.get $5 - i32.const 1 - i32.shr_u - local.set $4 - local.get $5 - i32.const 8 - i32.sub - local.set $6 - loop $while-continue|0 - local.get $1 - i32.const 7 - i32.add - local.get $4 - i32.lt_u - if - local.get $1 - local.get $2 - i32.add - local.tee $7 - i64.load $0 - local.tee $3 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $3 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.set $3 - local.get $7 - local.get $2 - local.get $6 - i32.add - local.get $1 - i32.sub - local.tee $7 - i64.load $0 - local.tee $8 - i64.const 8 - i64.shr_u - i64.const 71777214294589695 - i64.and - local.get $8 - i64.const 71777214294589695 - i64.and - i64.const 8 - i64.shl - i64.or - local.tee $8 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $8 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 - local.get $7 - local.get $3 - i64.const 16 - i64.shr_u - i64.const 281470681808895 - i64.and - local.get $3 - i64.const 281470681808895 - i64.and - i64.const 16 - i64.shl - i64.or - i64.const 32 - i64.rotr - i64.store $0 - local.get $1 - i32.const 8 - i32.add - local.set $1 - br $while-continue|0 + local.set $7 + loop $while-continue|0 + local.get $7 + 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 $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 $3 + i32.const 1000000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 100000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 10000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 1000000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100000 + i32.div_u + local.set $6 + local.get $3 + i32.const 100000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10000 + i32.div_u + local.set $6 + local.get $3 + i32.const 10000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 1000 + i32.div_u + local.set $6 + local.get $3 + i32.const 1000 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 100 + i32.div_u + local.set $6 + local.get $3 + i32.const 100 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + i32.const 10 + i32.div_u + local.set $6 + local.get $3 + i32.const 10 + i32.rem_u + local.set $3 + br $break|1 + end + local.get $3 + local.set $6 + i32.const 0 + local.set $3 + br $break|1 + end + i32.const 0 + local.set $6 end - end - local.get $5 - i32.const 1 - i32.sub - local.set $5 - loop $while-continue|1 - local.get $1 - local.get $4 - i32.lt_u + local.get $5 + local.get $6 + i32.or if - local.get $1 - local.get $2 - i32.add - local.tee $6 - i32.load8_u $0 - local.set $7 - local.get $6 - local.get $2 + local.get $0 local.get $5 - local.get $1 - i32.sub + i32.const 1 + i32.shl i32.add - local.tee $6 - i32.load8_u $0 - i32.store8 $0 local.get $6 - local.get $7 - i32.store8 $0 - local.get $1 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 $0 + local.get $5 i32.const 1 i32.add - local.set $1 - br $while-continue|1 + local.set $5 end - end - end - local.get $0 - ) - (func $~lib/typedarray/Int16Array#reverse (type $i32_=>_i32) (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.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 1 - i32.gt_u - if - local.get $4 - i32.const 1 - i32.shr_u - local.set $3 - local.get $4 - i32.const 2 - i32.sub - local.set $5 - loop $while-continue|0 - local.get $1 + local.get $7 i32.const 1 - i32.add + i32.sub + local.set $7 + local.get $4 local.get $3 - i32.lt_u + i64.extend_i32_u + local.get $10 + i64.extend_i32_s + i64.shl + local.get $8 + i64.add + local.tee $1 + i64.ge_u if - local.get $2 - local.get $5 - local.get $1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $6 - i32.load $0 - i32.const 16 - i32.rotr - local.set $7 - local.get $6 - local.get $2 - local.get $1 - i32.const 1 - i32.shl + global.get $~lib/util/number/_K + local.get $7 i32.add - local.tee $6 - i32.load $0 - i32.const 16 - i32.rotr - i32.store $0 - local.get $6 + global.set $~lib/util/number/_K local.get $7 - i32.store $0 - local.get $1 i32.const 2 - i32.add - local.set $1 - br $while-continue|0 - end - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.lt_u - if - local.get $2 - local.get $1 - i32.const 1 i32.shl + i32.const 10736 i32.add - local.tee $5 - i32.load16_u $0 - local.set $6 + i64.load32_u $0 + local.get $10 + i64.extend_i32_s + i64.shl + local.set $2 + local.get $0 local.get $5 - local.get $2 - local.get $4 - local.get $1 + i32.const 1 i32.sub i32.const 1 i32.shl i32.add - local.tee $5 + local.tee $0 i32.load16_u $0 + local.set $7 + loop $while-continue|3 + local.get $1 + local.get $9 + i64.lt_u + local.get $4 + local.get $1 + i64.sub + local.get $2 + i64.ge_u + i32.and + if (result i32) + local.get $9 + local.get $1 + local.get $2 + i64.add + local.tee $8 + i64.gt_u + local.get $9 + local.get $1 + i64.sub + local.get $8 + local.get $9 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $7 + i32.const 1 + i32.sub + local.set $7 + local.get $1 + local.get $2 + i64.add + local.set $1 + br $while-continue|3 + end + end + local.get $0 + local.get $7 i32.store16 $0 local.get $5 - local.get $6 - i32.store16 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|1 + return end + br $while-continue|0 end end - local.get $0 - ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s + loop $while-continue|4 + local.get $4 + i64.const 10 + i64.mul + local.set $4 + local.get $8 + i64.const 10 + i64.mul + local.tee $1 + local.get $10 + i64.extend_i32_s + i64.shr_u + local.tee $2 + local.get $5 + i64.extend_i32_s + i64.or + i64.const 0 + i64.ne if + local.get $0 + local.get $5 + i32.const 1 + i32.shl + i32.add local.get $2 - local.get $1 - i32.const 7728 - local.get $1 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $1 + i32.wrap_i64 + i32.const 65535 + i32.and + i32.const 48 + i32.add + i32.store16 $0 + local.get $5 i32.const 1 i32.add - local.set $1 - br $for-loop|0 + local.set $5 end - end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz + local.get $7 + i32.const 1 + i32.sub + local.set $7 + local.get $1 + local.get $11 + i64.and + local.tee $8 local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable + i64.ge_u + br_if $while-continue|4 end + global.get $~lib/util/number/_K + local.get $7 + i32.add + global.set $~lib/util/number/_K + local.get $9 i32.const 0 - local.set $0 - i32.const -1 + local.get $7 + i32.sub + i32.const 2 + i32.shl + i32.const 10736 + i32.add + i64.load32_u $0 + i64.mul local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz + local.get $0 + local.get $5 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $0 + i32.load16_u $0 + local.set $7 + loop $while-continue|6 + local.get $1 + local.get $8 + i64.gt_u local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.01 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end + local.get $8 + i64.sub + local.get $12 + i64.ge_u + i32.and + if (result i32) + local.get $1 + local.get $8 + local.get $12 + i64.add + local.tee $2 + i64.gt_u + local.get $1 + local.get $8 + i64.sub + local.get $2 + local.get $1 + i64.sub + i64.gt_u + i32.or + else + i32.const 0 + end + if + local.get $7 + i32.const 1 + i32.sub + local.set $7 + local.get $8 + local.get $12 + i64.add + local.set $8 + br $while-continue|6 end - i32.const -1 - local.set $1 end - local.get $1 - i32.const -1 - i32.ne + local.get $0 + local.get $7 + i32.store16 $0 + local.get $5 + ) + (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (local $3 i32) + (local $4 i32) + local.get $2 + i32.eqz if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store $0 + local.get $1 + i32.const 2 + i32.add + return end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 - local.get $4 + local.get $1 + local.get $2 + i32.add + local.tee $3 + i32.const 21 + i32.le_s + local.get $1 + local.get $3 + i32.le_s + i32.and + if (result i32) + loop $for-loop|0 + local.get $1 + local.get $3 i32.lt_s if - local.get $3 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.04 local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - 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.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.07 + i32.const 48 + i32.store16 $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|08 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 3145774 + i32.store $0 + local.get $3 i32.const 2 + i32.add + else + local.get $3 + i32.const 21 i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 + local.get $3 + i32.const 0 + i32.gt_s + i32.and + if (result i32) local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 + 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 + memory.copy $0 $0 + local.get $0 + i32.const 46 + i32.store16 $0 + local.get $1 + i32.const 1 + i32.add + else + local.get $3 + i32.const 0 + i32.le_s + local.get $3 + i32.const -6 + i32.gt_s + i32.and + if (result i32) local.get $0 - local.tee $1 + i32.const 2 + local.get $3 + i32.sub + local.tee $3 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.010 + local.get $0 local.get $1 i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 + i32.shl + memory.copy $0 $0 local.get $0 - local.tee $1 + i32.const 3014704 + i32.store $0 + 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 $0 + 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 - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.013 + else local.get $1 i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 4 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|017 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 1 i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 + if + local.get $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $2 + 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 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + i32.const 1 + i32.add + local.tee $1 + call $~lib/util/number/utoa32_dec_lut + local.get $2 + i32.const 45 + i32.const 43 + local.get $3 + select + i32.store16 $0 + 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 + memory.copy $0 $0 + local.get $0 + i32.const 46 + i32.store16 $0 offset=2 + local.get $0 + local.get $2 + i32.add + local.tee $0 + i32.const 101 + i32.store16 $0 offset=2 + local.get $0 + i32.const 4 + i32.add + local.tee $4 + 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 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + i32.const 1 + i32.add + local.tee $0 + call $~lib/util/number/utoa32_dec_lut + local.get $4 + i32.const 45 + i32.const 43 + local.get $2 + select + i32.store16 $0 + local.get $0 + local.get $1 + i32.add + local.set $1 + end local.get $1 - i32.const 1 + i32.const 2 i32.add - local.set $0 - br $while-continue|020 end end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) + (local $2 i64) + (local $3 i32) + (local $4 i64) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 i64) + (local $12 i64) + (local $13 i64) + (local $14 i64) + (local $15 i64) local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 + f64.const 0 + f64.lt + local.tee $3 + if (result f64) local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.022 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|023 - end - end - i32.const -1 - local.set $0 + i32.const 45 + i32.store16 $0 + local.get $1 + f64.neg + else + local.get $1 end - local.get $0 + i64.reinterpret_f64 + local.tee $2 + i64.const 9218868437227405312 + i64.and + i64.const 52 + i64.shr_u + i32.wrap_i64 + local.tee $7 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.get $7 + select + i32.const 1075 + i32.sub + local.tee $8 i32.const 1 - global.set $~argumentsLength + i32.sub local.get $2 - local.tee $0 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.05 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 + i64.const 4503599627370495 + i64.and + local.get $7 + i32.const 0 i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i64.extend_i32_u + i64.const 52 + i64.shl + i64.add + local.tee $2 + i64.const 1 + i64.shl + i64.const 1 + i64.add + local.tee $4 + i64.clz + i32.wrap_i64 + local.tee $7 + i32.sub + local.set $9 + local.get $4 + local.get $7 + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_plus + local.get $2 + local.get $2 + i64.const 4503599627370496 + i64.eq i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|012 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.011 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|012 - end - end - i32.const -1 - local.set $1 - end + i32.add + local.tee $7 + i64.extend_i32_s + i64.shl + i64.const 1 + i64.sub + local.get $8 + local.get $7 + i32.sub + local.get $9 + i32.sub + i64.extend_i32_s + i64.shl + global.set $~lib/util/number/_frc_minus + local.get $9 + global.set $~lib/util/number/_exp + i32.const 348 + i32.const -61 + global.get $~lib/util/number/_exp + local.tee $7 + i32.sub + f64.convert_i32_s + f64.const 0.30102999566398114 + f64.mul + f64.const 347 + f64.add + local.tee $1 + i32.trunc_sat_f64_s + local.tee $8 + local.get $8 + f64.convert_i32_s local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + f64.ne + i32.add + i32.const 3 + i32.shr_s i32.const 1 - global.set $~argumentsLength - local.get $0 + i32.add + local.tee $8 + i32.const 3 + i32.shl + local.tee $9 + i32.sub + global.set $~lib/util/number/_K + local.get $9 + i32.const 9864 + i32.add + i64.load $0 + global.set $~lib/util/number/_frc_pow + local.get $8 + i32.const 1 + i32.shl + i32.const 10560 + i32.add + i32.load16_s $0 + global.set $~lib/util/number/_exp_pow + local.get $2 + local.get $2 + i64.clz + i64.shl local.tee $2 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 + i64.const 4294967295 + i64.and + local.set $5 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $4 + global.get $~lib/util/number/_frc_pow + local.tee $10 + i64.const 4294967295 + i64.and + local.tee $11 + i64.mul + local.get $5 + local.get $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $12 + global.get $~lib/util/number/_frc_plus + local.tee $2 + i64.const 4294967295 + i64.and + local.set $13 + local.get $11 + local.get $2 + i64.const 32 + i64.shr_u + local.tee $6 + i64.mul + local.get $11 + local.get $13 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $14 + global.get $~lib/util/number/_frc_minus + local.tee $15 + i64.const 4294967295 + i64.and + local.set $2 + local.get $11 + local.get $15 + i64.const 32 + i64.shr_u + local.tee $15 + i64.mul + local.get $2 + local.get $11 + i64.mul + i64.const 32 + i64.shr_u + i64.add + local.set $11 + local.get $10 + i64.const 32 + i64.shr_u + local.tee $10 + local.get $6 + i64.mul + local.get $14 + i64.const 32 + i64.shr_u + i64.add + local.get $10 + local.get $13 + i64.mul + local.get $14 + 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 $6 + local.get $0 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $4 + local.get $10 + i64.mul + local.get $12 + i64.const 32 + i64.shr_u + i64.add + local.get $5 + local.get $10 + i64.mul + local.get $12 + i64.const 4294967295 + i64.and + i64.add + i64.const 2147483647 + i64.add + i64.const 32 + i64.shr_u + i64.add + local.get $6 + local.get $7 + global.get $~lib/util/number/_exp_pow + i32.add + i32.const -64 + i32.sub + local.get $6 + local.get $10 + local.get $15 + i64.mul + local.get $11 + i64.const 32 + i64.shr_u + i64.add + local.get $2 + local.get $10 + i64.mul + local.get $11 + 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 $3 + call $~lib/util/number/genDigits + local.get $3 + i32.sub + global.get $~lib/util/number/_K + call $~lib/util/number/prettify + local.get $3 + i32.add + ) + (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) + (local $2 i32) + local.get $1 + f64.const 0 + f64.eq + if local.get $0 - local.get $3 - i32.add + i32.const 48 + i32.store16 $0 local.get $0 - i32.const 1 - i32.sub - local.get $3 + i32.const 46 + i32.store16 $0 offset=2 local.get $0 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.tee $1 - local.get $3 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.017 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|018 - end - end - i32.const -1 - local.set $1 + i32.const 48 + i32.store16 $0 offset=4 + i32.const 3 + return end local.get $1 - i32.const 3 - i32.ne + local.get $1 + f64.sub + f64.const 0 + f64.ne if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 + local.get $1 + local.get $1 + f64.ne + if local.get $0 - i32.const 0 - i32.ge_s + i32.const 78 + i32.store16 $0 + local.get $0 + i32.const 97 + i32.store16 $0 offset=2 + local.get $0 + i32.const 78 + i32.store16 $0 offset=4 + i32.const 3 + return + else + local.get $1 + f64.const 0 + f64.lt + local.tee $2 if - local.get $3 local.get $0 - local.tee $1 + i32.const 45 + i32.store16 $0 + local.get $0 + i32.const 2 i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.019 - local.get $1 - i32.const 1 - i32.sub local.set $0 - br $while-continue|024 end + local.get $0 + i64.const 29555310648492105 + i64.store $0 + local.get $0 + i64.const 34058970405077102 + i64.store $0 offset=8 + local.get $2 + i32.const 8 + i32.add + return end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_s - select - local.set $0 + local.get $0 + local.get $1 + call $~lib/util/number/dtoa_core + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.add + local.tee $3 + i32.load8_s $0 offset=1 + local.tee $6 + local.set $5 + local.get $3 + i32.load8_s $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.026 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.add + i32.load8_s $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.add + local.get $8 + i32.store8 $0 offset=2 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.029 + local.get $6 + i32.add + local.get $3 + i32.store8 $0 offset=2 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.add + i32.load8_s $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.add + local.get $3 + i32.store8 $0 offset=1 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.add + local.get $5 + i32.store8 $0 offset=1 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 - i32.const -1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end - end - i32.const -1 - local.set $1 + local.get $1 + return end + local.get $0 + local.get $1 + i32.add + i32.load8_s $0 + local.set $5 local.get $1 i32.const 1 - i32.ne + i32.add + local.tee $4 + local.get $0 + i32.add + i32.load8_s $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 - i32.const 0 - i32.ge_s - if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.get $1 + local.get $4 i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.035 - local.get $0 + local.tee $5 + i32.load8_s $0 offset=1 + local.set $6 + local.get $5 + i32.load8_s $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 + i32.add + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 - i32.const 0 - i32.ge_s + local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 + local.get $2 + i32.lt_s if local.get $0 local.get $1 i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.038 + local.tee $3 + i32.load8_s $0 + local.set $5 + local.get $3 local.get $0 + local.get $2 + i32.add + local.tee $3 + i32.load8_s $0 + i32.store8 $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + local.get $3 + local.get $5 + i32.store8 $0 + local.get $2 i32.const 1 i32.sub - local.set $0 - br $while-continue|039 + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 622 - 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 $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.041 + local.tee $1 + i32.load8_s $0 offset=1 + local.set $5 + local.get $1 + i32.load8_s $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|042 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $4 + i32.add + local.get $0 + local.get $2 + i32.add + i32.load8_s $0 + i32.store8 $0 + br $for-loop|0 + end end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz + loop $for-loop|1 local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.add local.get $0 - local.get $3 + local.get $6 + i32.add + i32.load8_s $0 offset=1 + i32.store8 $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.add + i32.load8_s $0 + local.set $8 + local.get $2 + local.get $4 + i32.add + i32.load8_s $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $7 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 + local.get $1 i32.add - i32.load8_u $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.044 + local.get $8 + i32.store8 $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 local.get $1 + i32.add + local.get $7 + i32.store8 $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|045 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.extend8_s local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 + i32.extend8_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.extend8_s + local.tee $1 + local.get $0 + i32.extend8_s + local.tee $0 + i32.gt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.add + local.tee $3 + i32.load8_u $0 offset=1 + local.tee $6 + local.set $5 local.get $3 - i32.lt_s + i32.load8_u $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.047 + local.get $3 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.add + i32.load8_u $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.add + local.get $8 + i32.store8 $0 offset=2 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.add + local.get $3 + i32.store8 $0 offset=2 + loop $while-continue|2 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.add + i32.load8_u $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.add + local.get $3 + i32.store8 $0 offset=1 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.add + local.get $5 + i32.store8 $0 offset=1 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 - i32.const 1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.add + i32.load8_u $0 + local.set $5 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + local.get $0 + i32.add + i32.load8_u $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 i32.add + local.tee $5 + i32.load8_u $0 offset=1 + local.set $6 + local.get $5 i32.load8_u $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.050 - local.get $1 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|051 + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 local.get $4 - i32.load $0 offset=4 local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 + local.get $1 i32.add + local.tee $3 i32.load8_u $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.053 + local.set $5 + local.get $3 + local.get $0 + local.get $2 + i32.add + local.tee $3 + i32.load8_u $0 + i32.store8 $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|054 + local.set $1 + local.get $3 + local.get $5 + i32.store8 $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - 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 $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 i32.add + local.tee $1 + i32.load8_u $0 offset=1 + local.set $5 + local.get $1 i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.056 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|057 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable end + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + local.get $4 + i32.add + local.get $0 + local.get $2 + i32.add + i32.load8_u $0 + i32.store8 $0 + br $for-loop|0 + end + end + loop $for-loop|1 local.get $3 - i32.const 1 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.add local.get $0 - local.get $3 + local.get $6 + i32.add + i32.load8_u $0 offset=1 + i32.store8 $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.add + i32.load8_u $0 + local.set $8 + local.get $2 + local.get $4 + i32.add + i32.load8_u $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $7 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 + local.get $1 i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.059 + local.get $8 + i32.store8 $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 local.get $1 + i32.add + local.get $7 + i32.store8 $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|060 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 end - local.get $1 + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (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 $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 255 + i32.and + local.tee $1 + local.get $0 + i32.const 255 + i32.and + local.tee $0 + i32.gt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 + local.get $2 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_s $0 offset=2 + local.tee $6 + local.set $5 local.get $3 - i32.lt_s + i32.load16_s $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.062 + local.get $3 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 $0 offset=4 + loop $while-continue|2 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 $0 offset=2 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $5 + i32.store16 $0 offset=2 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - 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/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 + (local $5 i32) + (local $6 i32) + local.get $1 local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 + i32.eq + if local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 7728 - 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 $1 - br $for-loop|0 - end + return end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=4 - local.set $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if loop $while-continue|0 - local.get $0 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 + local.tee $5 + i32.load16_s $0 offset=2 + local.set $6 + local.get $5 + i32.load16_s $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 + local.set $4 br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 - local.get $0 - local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_s $0 + local.set $5 local.get $3 local.get $0 - local.tee $1 + local.get $2 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 + local.tee $3 + i32.load16_s $0 + i32.store16 $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|02 + local.set $1 + local.get $3 + local.get $5 + i32.store16 $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 + else + loop $while-continue|2 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 + local.tee $1 + i32.load16_s $0 offset=2 + local.set $5 + local.get $1 + i32.load16_s $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|05 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - 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.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.tee $8 + local.get $4 + i32.add + local.get $0 + local.get $8 + i32.add + i32.load16_s $0 + i32.store16 $0 + br $for-loop|0 + end + end + loop $for-loop|1 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.const 1 + i32.shl + i32.add local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 offset=2 + i32.store16 $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $7 local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - local.get $3 local.get $0 - local.tee $1 + local.get $1 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 + local.get $7 + i32.store16 $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $while-continue|08 + local.get $8 + i32.store16 $0 + local.get $2 + i32.const 1 + i32.add + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.extend16_s local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 + i32.extend16_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.extend16_s + local.tee $1 + local.get $0 + i32.extend16_s + local.tee $0 + i32.gt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_u $0 offset=2 + local.tee $6 + local.set $5 + local.get $3 + i32.load16_u $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 local.get $4 - i32.lt_s + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s if local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $8 + i32.store16 $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 $0 offset=4 + loop $while-continue|2 + local.get $1 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.store16 $0 offset=2 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.const 1 + i32.shl + i32.add + local.get $5 + i32.store16 $0 offset=2 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 - i32.const 3 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $1 + local.tee $5 + i32.load16_u $0 offset=2 + local.set $6 + local.get $5 + i32.load16_u $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|014 + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz local.get $4 - i32.const 4 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|017 - local.get $0 - local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $3 + i32.load16_u $0 + local.set $5 local.get $3 local.get $0 - local.tee $1 + local.get $2 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 + local.tee $3 + i32.load16_u $0 + i32.store16 $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|017 + local.set $1 + local.get $3 + local.get $5 + i32.store16 $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 - local.get $0 + else + loop $while-continue|2 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 + local.get $4 i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 + i32.shl + i32.add + local.tee $1 + i32.load16_u $0 offset=2 + local.set $5 local.get $1 + i32.load16_u $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|020 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + local.tee $8 + local.get $4 + i32.add + local.get $0 + local.get $8 + i32.add + i32.load16_u $0 + i32.store16 $0 + br $for-loop|0 + end + end + loop $for-loop|1 local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 + local.get $6 i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.const 1 + i32.shl + i32.add local.get $0 - local.get $3 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 offset=2 + i32.store16 $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if local.get $0 local.get $1 + i32.const 1 + i32.shl i32.add - i32.load8_u $0 + local.get $7 + i32.store16 $0 + local.get $6 i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 + i32.sub + local.set $6 + else local.get $0 + local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $while-continue|023 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 + local.get $8 + i32.store16 $0 local.get $2 - i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 + i32.add + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + i32.const 65535 + i32.and + local.tee $0 local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 65535 + i32.and + local.tee $1 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $1 + i32.const 65535 + i32.and + local.tee $1 + local.get $0 + i32.const 65535 + i32.and + local.tee $0 + i32.gt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 - local.get $1 + local.get $7 + i32.ge_s + if + local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 offset=4 + local.tee $6 + local.set $5 + local.get $3 + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if + local.get $3 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 offset=8 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end + end + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=8 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 - i32.const -1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $0 + local.get $1 i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + i32.const 2 global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + local.tee $5 + i32.load $0 offset=4 + local.set $6 + local.get $5 + i32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $while-continue|0 + end + end + local.get $4 local.set $2 - loop $while-continue|012 + loop $while-continue|1 local.get $1 - i32.const 0 - i32.ge_s + local.get $2 + i32.lt_s if + local.get $0 local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 + local.set $5 + local.get $3 + local.get $0 local.get $2 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 + local.tee $3 + i32.load $0 + i32.store $0 local.get $1 i32.const 1 - i32.sub + i32.add local.set $1 - br $while-continue|012 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.tee $2 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 - local.get $3 - i32.add - local.get $0 - i32.const 1 - i32.sub - local.get $3 - local.get $0 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.tee $1 local.get $3 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $1 + local.get $5 + i32.store $0 + local.get $2 i32.const 1 i32.sub - local.set $0 - br $while-continue|018 + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 + local.tee $1 + i32.load $0 offset=4 + local.set $5 local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 + i32.load $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 - local.get $0 - i32.const 0 - i32.ge_s if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $1 + local.get $4 i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 + i32.add + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_s - select - local.set $0 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 2 + i32.shl + local.tee $8 + local.get $4 + i32.add local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end + local.get $8 + i32.add + i32.load $0 + i32.store $0 + br $for-loop|0 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 + loop $for-loop|1 + local.get $3 + local.get $6 i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.const 2 + i32.shl + i32.add local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 + loop $for-loop|2 local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.lt_s if local.get $0 local.get $1 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 + local.get $7 + i32.store $0 + local.get $6 i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 + i32.sub + local.set $6 + else local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 + i32.add + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $0 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 + local.get $1 + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.lt_s + local.get $0 + local.get $1 + i32.gt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $5 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $5 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.tee $3 + i32.load $0 offset=4 + local.tee $6 + local.set $5 + local.get $3 + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if - local.get $0 + local.get $3 + local.set $5 + local.get $6 + local.set $3 + end + local.get $7 + i32.const 1 + i32.sub + local.set $6 + loop $while-continue|1 local.get $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 + local.get $6 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $3 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 offset=8 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|1 + end + end end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9 - call $~lib/typedarray/Uint8Array#subarray - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 + i32.store $0 offset=8 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 + local.get $6 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + br $while-continue|2 + end + end end + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (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 $1 - i32.const -1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $6 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $1 + local.tee $5 + i32.load $0 offset=4 + local.set $6 + local.get $5 + i32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $6 + local.get $5 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|045 + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 local.get $4 - i32.load $0 offset=4 local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 local.get $1 - i32.const 1 + i32.const 2 + i32.shl i32.add - local.set $0 - br $while-continue|048 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + local.tee $3 + i32.load $0 + local.set $5 + local.get $3 local.get $0 - local.tee $1 + local.get $2 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 + local.tee $3 + i32.load $0 + i32.store $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|051 + local.set $1 + local.get $3 + local.get $5 + i32.store $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 + local.tee $1 + i32.load $0 offset=4 + local.set $5 + local.get $1 + i32.load $0 + local.set $1 + i32.const 2 + global.set $~argumentsLength + local.get $5 local.get $1 + local.get $3 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|054 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - 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 $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|057 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable end + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i32) + (local $8 i32) + local.get $2 i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 1 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end - end - i32.const -1 - local.set $1 - end - local.get $1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $7 + local.get $6 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - 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/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=4 + local.set $2 loop $for-loop|0 local.get $1 - local.get $3 + local.get $2 i32.lt_s if local.get $2 - local.get $1 - i32.const 7728 - 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.sub + local.tee $2 + i32.const 2 + i32.shl + local.tee $8 + local.get $4 i32.add - local.set $1 + local.get $0 + local.get $8 + i32.add + i32.load $0 + i32.store $0 br $for-loop|0 end end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 + loop $for-loop|1 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $7 + local.get $6 + i32.sub + i32.const 2 + i32.shl + i32.add local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 offset=4 + i32.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 i32.lt_s if - local.get $3 local.get $0 - local.tee $1 + local.get $1 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $7 + i32.store $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $8 + i32.store $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|0 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 + i32.gt_u + local.get $0 + local.get $1 + i32.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + local.get $0 + local.get $1 + i32.lt_u + local.get $0 + local.get $1 + i32.gt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i64) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $7 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $7 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.tee $3 + i64.load $0 offset=8 + local.tee $8 + local.set $6 + local.get $3 + i64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 local.get $4 - i32.lt_s + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s if + local.get $5 + local.set $6 + local.get $8 + local.set $5 + end + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 + local.get $1 local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.01 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $8 + i64.store $0 offset=16 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store $0 offset=16 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store $0 offset=8 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i64) local.get $1 - i32.const -1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 + i32.gt_s + if + loop $while-continue|0 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.04 - local.get $1 - i32.const 1 + local.get $4 + i32.const 3 + i32.shl i32.add - local.set $0 - br $while-continue|05 + local.tee $6 + i64.load $0 offset=8 + local.set $5 + local.get $6 + i64.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 end - end - i32.const -1 - local.set $1 - end - local.get $1 - 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.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 - local.get $0 - local.get $4 - i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.07 - local.get $1 + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|08 + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz local.get $4 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 - local.get $0 - local.get $4 + local.set $2 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if - local.get $3 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.010 local.get $1 - i32.const 1 + i32.const 3 + i32.shl i32.add - local.set $0 - br $while-continue|011 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 - local.get $4 - i32.lt_s - if + local.tee $3 + i64.load $0 + local.set $5 local.get $3 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 + local.get $2 i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.013 + i32.shl + i32.add + local.tee $3 + i64.load $0 + i64.store $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|014 + local.set $1 + local.get $3 + local.get $5 + i64.store $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 4 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|017 - local.get $0 + else + loop $while-continue|2 + local.get $2 local.get $4 - i32.lt_s - if - local.get $3 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 + local.get $4 i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.016 + i32.shl + i32.add + local.tee $1 + i64.load $0 offset=8 + local.set $5 local.get $1 + i64.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|017 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i64) + (local $8 i64) + (local $9 i32) + (local $10 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $9 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 - local.get $0 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 3 + i32.shl + local.tee $10 local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|020 - end + i32.add + local.get $0 + local.get $10 + i32.add + i64.load $0 + i64.store $0 + br $for-loop|0 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 - local.get $2 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 + loop $for-loop|1 local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 + local.get $6 i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 + if + local.get $4 + local.get $9 + local.get $6 + i32.sub + i32.const 3 + i32.shl + i32.add local.get $0 - local.get $3 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + i64.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end + end + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 i32.lt_s if local.get $0 local.get $1 + i32.const 3 + i32.shl i32.add - i32.load8_u $0 + local.get $7 + i64.store $0 + local.get $6 i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.022 + i32.sub + local.set $6 + else local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $8 + i64.store $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|023 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $0 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 + local.get $1 + i64.gt_s + local.get $0 + local.get $1 + i64.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.lt_s + local.get $0 + local.get $1 + i64.gt_s + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 i64) + (local $6 i64) + (local $7 i32) + (local $8 i64) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 1 + i32.add + local.tee $7 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $7 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 + local.get $7 + i32.ge_s + if + local.get $0 + local.get $7 + i32.const 3 + i32.shl + i32.add + local.tee $3 + i64.load $0 offset=8 + local.tee $8 + local.set $6 + local.get $3 + i64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 + local.get $4 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if + local.get $5 + local.set $6 + local.get $8 + local.set $5 + end + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $3 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $8 + i64.store $0 offset=16 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end + end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store $0 offset=16 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $5 + i64.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end end + local.get $0 + local.get $3 + i32.const 3 + i32.shl + i32.add + local.get $6 + i64.store $0 offset=8 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 i64) + (local $6 i32) + (local $7 i64) local.get $1 + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $5 + local.get $0 + local.get $1 i32.const 1 + i32.add + local.tee $4 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $7 + i32.const 2 global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) + local.get $0 + local.get $4 + i32.const 3 + i32.shl i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.05 - local.get $1 + local.tee $6 + i64.load $0 offset=8 + local.set $5 + local.get $6 + i64.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 + end + if + local.get $4 i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 + i32.add + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $0 - i32.load $0 offset=8 - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 + local.get $4 local.set $2 - loop $while-continue|012 + loop $while-continue|1 local.get $1 - i32.const 0 - i32.ge_s + local.get $2 + i32.lt_s if + local.get $0 local.get $1 + i32.const 3 + i32.shl + i32.add + local.tee $3 + i64.load $0 + local.set $5 + local.get $3 + local.get $0 local.get $2 + i32.const 3 + i32.shl i32.add - i32.load8_u $0 - i32.const 255 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.011 + local.tee $3 + i64.load $0 + i64.store $0 local.get $1 i32.const 1 - i32.sub + i32.add local.set $1 - br $while-continue|012 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.tee $2 - i32.load $0 offset=8 - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $0 - local.get $3 - i32.add - local.get $0 - i32.const 1 - i32.sub - local.get $3 - local.get $0 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.tee $1 local.get $3 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.017 - local.get $1 + local.get $5 + i64.store $0 + local.get $2 i32.const 1 i32.sub - local.set $0 - br $while-continue|018 + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 + local.get $4 i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.019 + i32.shl + i32.add + local.tee $1 + i64.load $0 offset=8 + local.set $5 local.get $1 + i64.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 + i32.add + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_s - select - local.set $0 + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 i64) + (local $8 i64) + (local $9 i32) + (local $10 i32) + local.get $2 + i32.const 1 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $9 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 3 + i32.shl + local.tee $10 + local.get $4 + i32.add local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end + local.get $10 + i32.add + i64.load $0 + i64.store $0 + br $for-loop|0 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 2 + loop $for-loop|1 + local.get $3 + local.get $6 i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 + if + local.get $4 + local.get $9 + local.get $6 + i32.sub + i32.const 3 + i32.shl + i32.add local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load $0 offset=8 + i64.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 - call $~lib/builtins/abort - unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - local.get $2 - i32.load $0 offset=8 - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 + loop $for-loop|2 + local.get $1 + local.get $3 + i32.le_s + if + local.get $4 + local.get $6 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) i32.const 0 - i32.ge_s + i32.lt_s if - local.get $3 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.032 local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $7 + i64.store $0 + local.get $6 i32.const 1 i32.sub - local.set $0 - br $while-continue|033 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 - i32.const 0 - i32.ge_s - if + local.set $6 + else local.get $0 local.get $1 + i32.const 3 + i32.shl i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.035 - local.get $0 + local.get $8 + i64.store $0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 + i32.add + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $0 end + ) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) + local.get $0 + local.get $1 + i64.gt_u + local.get $0 + local.get $1 + i64.lt_u + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) local.get $0 + local.get $1 + i64.lt_u + local.get $0 + local.get $1 + i64.gt_u + i32.sub + ) + (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) + (local $5 f32) + (local $6 f32) + (local $7 i32) + (local $8 f32) + local.get $1 + local.get $3 + local.get $2 + local.get $1 + i32.sub i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $2 - i32.load $0 offset=8 - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 + i32.add + local.tee $7 + local.get $3 + i32.sub + i32.const 1 + i32.and + i32.sub + local.get $7 + i32.const 1 + i32.and + local.get $3 + select + i32.add + local.set $7 + loop $for-loop|0 local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 + local.get $7 + i32.ge_s + if local.get $0 + local.get $7 + i32.const 2 + i32.shl + i32.add + local.tee $3 + f32.load $0 offset=4 + local.tee $8 + local.set $6 + local.get $3 + f32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $8 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) i32.const 0 - i32.ge_s + i32.le_s if - local.get $0 + local.get $5 + local.set $6 + local.get $8 + local.set $5 + end + local.get $7 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 local.get $1 - i32.add - i32.load8_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 + local.get $3 + i32.le_s + if + block $while-break|1 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $8 + local.get $5 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|1 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store $0 offset=8 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|1 + end + end end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 local.get $0 local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.041 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store $0 offset=8 + loop $while-continue|2 local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 + local.get $3 + i32.le_s + if + block $while-break|2 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $6 + local.get $4 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.le_s + br_if $while-break|2 + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $5 + f32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.sub + local.set $3 + br $while-continue|2 + end + end end + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + local.get $6 + f32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.add + local.set $7 + br $for-loop|0 end - i32.const -1 - local.set $1 end + ) + (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (local $4 i32) + (local $5 f32) + (local $6 i32) + (local $7 f32) local.get $1 - i32.const -1 - i32.ne + local.get $2 + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $1 + return end + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $5 + local.get $0 + local.get $1 + i32.const 1 + i32.add + local.tee $4 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + i32.gt_s + if + loop $while-continue|0 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.044 - local.get $1 - i32.const 1 + local.get $4 + i32.const 2 + i32.shl i32.add - local.set $0 - br $while-continue|045 + local.tee $6 + f32.load $0 offset=4 + local.set $5 + local.get $6 + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 31 + i32.shr_u + else + i32.const 0 end - end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.047 - local.get $1 + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|048 + local.set $4 + br $while-continue|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 local.get $4 - i32.load $0 offset=4 local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 + loop $while-continue|1 + local.get $1 + local.get $2 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.050 local.get $1 - i32.const 1 + i32.const 2 + i32.shl i32.add - local.set $0 - br $while-continue|051 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + local.tee $3 + f32.load $0 + local.set $5 + local.get $3 local.get $0 - local.tee $1 + local.get $2 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.053 + local.tee $3 + f32.load $0 + f32.store $0 local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|054 + local.set $1 + local.get $3 + local.get $5 + f32.store $0 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|1 end end - i32.const -1 - local.set $1 - end - local.get $1 - 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 $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 0 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + else + loop $while-continue|2 + local.get $2 + local.get $4 + i32.gt_s + if (result i32) local.get $0 - local.tee $1 + local.get $4 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.056 + local.tee $1 + f32.load $0 offset=4 + local.set $5 local.get $1 + f32.load $0 + local.set $7 + i32.const 2 + global.set $~argumentsLength + local.get $5 + local.get $7 + local.get $3 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.ge_s + else + i32.const 0 + end + if + local.get $4 i32.const 1 i32.add - local.set $0 - br $while-continue|057 + local.set $4 + br $while-continue|2 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable end + local.get $4 + ) + (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) + (local $6 i32) + (local $7 f32) + (local $8 f32) + (local $9 i32) + (local $10 i32) + local.get $2 i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz - local.get $3 - i32.const 1 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 + i32.sub + local.tee $6 + local.get $3 + i32.add + local.set $9 + local.get $6 + i32.const 1 + i32.add + local.set $2 + loop $for-loop|0 + local.get $1 + local.get $2 + i32.lt_s + if + local.get $2 + i32.const 1 + i32.sub + local.tee $2 + i32.const 2 + i32.shl + local.tee $10 + local.get $4 + i32.add local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end + local.get $10 + i32.add + f32.load $0 + f32.store $0 + br $for-loop|0 end - i32.const -1 - local.set $1 end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable + loop $for-loop|1 + local.get $3 + local.get $6 + i32.gt_s + if + local.get $4 + local.get $9 + local.get $6 + i32.sub + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load $0 offset=4 + f32.store $0 + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|1 + end end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 - i32.load $0 offset=8 - local.tee $3 - i32.eqz + loop $for-loop|2 + local.get $1 local.get $3 - i32.const 2 i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 + if + local.get $4 + local.get $6 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $7 + local.get $4 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $8 + i32.const 2 + global.set $~argumentsLength + local.get $7 + local.get $8 + local.get $5 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 i32.lt_s if - local.get $2 local.get $0 - local.tee $1 + local.get $1 + i32.const 2 + i32.shl i32.add - i32.load8_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint8Array,u8>|inlined.062 + local.get $7 + f32.store $0 + local.get $6 + i32.const 1 + i32.sub + local.set $6 + else + local.get $0 local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $8 + f32.store $0 + local.get $2 i32.const 1 i32.add - local.set $0 - br $while-continue|063 + local.set $2 end + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|2 end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - 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#lastIndexOf@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - i32.const 1 + local.get $0 + i32.reinterpret_f32 + local.tee $2 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + local.get $2 + i32.xor + local.tee $2 + local.get $1 + i32.reinterpret_f32 + local.tee $3 + i32.const 31 + i32.shr_s + i32.const 1 + i32.shr_u + local.get $3 + i32.xor + local.tee $3 + i32.gt_s + local.get $2 + local.get $3 + i32.lt_s + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) + local.get $0 + local.get $1 + f32.lt + local.get $0 + local.get $1 + f32.gt + i32.sub + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) + local.get $0 + local.get $1 + f64.lt + local.get $0 + local.get $1 + f64.gt + i32.sub + ) + (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) + block $folding-inner3 + block $folding-inner2 + block $folding-inner1 + block $folding-inner0 + block $invalid + block $~lib/string/String + block $~lib/arraybuffer/ArrayBuffer + block $~lib/object/Object + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid + end + return + end + return + end + return + end + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - br_table $0of1 $1of1 $outOfRange + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end - unreachable - end - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $3 - end - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - i32.const -1 - local.get $0 - i32.load $0 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 - drop - local.get $1 - local.set $2 - local.get $4 - i32.const 1 - i32.sub - local.get $3 - local.get $3 - local.get $4 - i32.ge_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0 - local.get $1 + 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 16320 + i32.lt_s + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 - i32.ge_s + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 + local.tee $0 if - local.get $1 local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.get $2 - i32.const 65535 - i32.and - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const -1 + local.get $0 + i32.load $0 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~start (type $none_=>_none) + call $start:std/typedarray + ) + (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (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 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -10147,2763 +9408,1639 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 + local.tee $3 i64.const 0 i64.store $0 - local.get $2 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + 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 $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 0 i32.store $0 offset=8 + local.get $1 + i32.const 1073741820 local.get $2 - i32.const 7728 - i32.store $0 + i32.shr_u + i32.gt_u + if + i32.const 1056 + i32.const 1104 + i32.const 19 + i32.const 57 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 local.get $2 - i32.const 7740 - i32.load $0 + i32.shl + local.tee $1 + i32.const 1 + call $~lib/rt/itcms/__new local.tee $2 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $0 + local.get $2 + i32.store $0 + local.get $2 + if + local.get $0 local.get $2 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 7728 - local.get $1 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 - local.set $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 local.get $1 + i32.store $0 offset=8 + local.get $3 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int8Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|02 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.01 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const -1 - i32.ne + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/arraybuffer/ArrayBufferView#get:byteOffset (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 + i32.sub local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|05 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 65535 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.04 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end local.get $1 - i32.const -1 - i32.ne + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int8Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|08 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.07 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|08 - end - end - i32.const -1 - local.set $1 - end local.get $1 - i32.const 3 - i32.ne + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 - local.get $4 - i32.load $0 offset=8 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|011 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.010 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 - local.get $4 - i32.load $0 offset=8 i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|014 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.013 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|017 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const -1 - i32.ne + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8ClampedArray#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|020 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.019 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|020 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const -1 - i32.ne + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 0 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.022 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.022 - local.get $2 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.022 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|023 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 local.get $0 i32.const 1 - i32.ne + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 11 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint16Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const -1 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $4 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - i32.const 4 - local.get $0 i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|024 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 - end - end - i32.const -1 - local.set $1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const 3 - i32.ne + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - local.get $4 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - i32.const 3 - local.get $0 i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|027 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end - end - i32.const -1 - local.set $1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=8 i32.const 3 - i32.ne + i32.shr_u + local.set $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - local.get $4 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - i32.const 2 - local.get $0 i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|030 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end - end - i32.const -1 - local.set $1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 local.get $1 - i32.const -1 - i32.ne + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 2 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + 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 (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $4 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + local.get $0 + i32.const 3 + call $~lib/arraybuffer/ArrayBufferView#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testInstantiate (type $i32_=>_none) (param $0 i32) + (local $1 i32) + global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - i32.const 100 - local.get $0 i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end - end - i32.const -1 - local.set $1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 48 + memory.fill $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 620 + i32.const 32 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.035 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.035 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.const 1 + local.get $1 + i32.load $0 offset=8 i32.ne if i32.const 0 i32.const 1568 - i32.const 621 + i32.const 33 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.038 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int8Array#get:length local.get $0 - i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 622 + i32.const 34 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 9 - call $~lib/typedarray/Int16Array#subarray - local.tee $4 + local.get $0 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.041 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 626 + i32.const 37 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.044 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|045 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 local.get $1 + i32.load $0 offset=8 + i32.ne if i32.const 0 i32.const 1568 - i32.const 627 + i32.const 38 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.047 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 628 + i32.const 39 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.050 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|051 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 629 + i32.const 42 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.load $0 offset=8 i32.ne if i32.const 0 i32.const 1568 - i32.const 630 + i32.const 43 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.056 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|057 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 631 + i32.const 44 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end - end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 47 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 + i32.load $0 offset=8 + local.get $0 i32.const 1 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 632 + i32.const 48 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.062 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 633 + 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 $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (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 + local.get $0 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 52 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 + local.get $1 i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 7728 - 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 $1 - br $for-loop|0 - end - end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 - local.set $1 - end local.get $1 + i32.load $0 offset=8 + local.get $0 + i32.const 1 + i32.shl + i32.ne if i32.const 0 i32.const 1568 - i32.const 603 + i32.const 53 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|02 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.01 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 604 + i32.const 54 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|05 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 65535 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.04 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 605 + i32.const 57 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|08 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.07 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|08 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 + local.get $0 + i32.const 2 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 606 + i32.const 58 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|011 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.010 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 607 + i32.const 59 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|014 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.013 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 - i32.ne + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 608 + i32.const 62 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|017 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 + local.get $0 + i32.const 2 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 609 + i32.const 63 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|020 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.019 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|020 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 610 + i32.const 64 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.022 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.022 - local.get $2 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.022 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|023 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.ne + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 611 + i32.const 67 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 0 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 + local.get $0 + i32.const 3 + i32.shl + i32.ne if i32.const 0 i32.const 1568 - i32.const 613 + i32.const 68 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 11 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 614 + i32.const 69 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const -1 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 615 + i32.const 72 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 3 - call $~lib/typedarray/Int16Array#lastIndexOf@varargs + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 + local.get $0 i32.const 3 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 616 + i32.const 73 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|024 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 617 + i32.const 74 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|027 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 - i32.ne + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 618 + i32.const 77 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|030 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 + local.get $0 + i32.const 2 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 619 + i32.const 78 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_s - select - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 620 + i32.const 79 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.035 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.035 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.ne + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset if i32.const 0 i32.const 1568 - i32.const 621 + i32.const 82 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.038 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=8 local.get $0 - i32.const -1 + i32.const 3 + i32.shl i32.ne if i32.const 0 i32.const 1568 - i32.const 622 + i32.const 83 i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 9 - call $~lib/typedarray/Uint16Array#subarray - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.041 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end - end - i32.const -1 - local.set $1 - end local.get $1 - i32.const -1 + i32.store $0 offset=4 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 626 + i32.const 84 i32.const 3 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $4 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 48 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.044 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|045 - end - end - i32.const -1 - local.set $1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 747 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.047 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const 1 - i32.ne + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.050 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|051 - end - end - i32.const -1 - local.set $1 - end + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 736 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const -1 - i32.ne + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#subarray (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 630 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 - local.set $0 - i32.const -1 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#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 $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 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 local.get $3 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.056 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|057 - end - end - i32.const -1 - local.set $1 + 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.tee $2 local.get $1 - i32.const -1 - i32.ne + local.get $1 + local.get $2 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz local.get $3 - i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end - end - i32.const -1 - local.set $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const 1 - i32.ne + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/typedarray/Float64Array#__set (type $i32_i32_f64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint16Array,u16>|inlined.062 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1457 + i32.const 64 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + f64.store $0 + local.get $3 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer @@ -12929,1569 +11066,1648 @@ i32.const 0 i32.store $0 offset=8 local.get $3 - i32.const 7728 + local.get $0 i32.store $0 local.get $3 - i32.const 7740 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 + local.get $0 i32.store $0 offset=4 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7728 - 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 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0 - end - end - i32.const -1 - local.set $0 - end local.get $0 - if + call $~lib/typedarray/Int64Array#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 $1 i32.const 0 - i32.const 1568 - i32.const 603 - 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 - i32.const 0 local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|02 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.01 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|02 - end - end - i32.const -1 - local.set $0 + 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.tee $2 + local.get $1 + local.get $1 + local.get $2 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 f64) + (local $16 f64) + (local $17 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + f64.load $0 + local.set $9 + local.get $0 + f64.load $0 offset=8 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 + local.get $0 + f64.load $0 offset=16 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $15 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $16 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 offset=8 + local.get $0 + local.get $9 + local.get $16 + local.get $1 + select + f64.store $0 offset=16 + end + local.get $0 + f64.load $0 + local.set $9 + local.get $0 + f64.load $0 offset=8 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f64_f64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f64.store $0 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + f64.store $0 offset=8 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|05 - local.get $1 + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 local.get $4 - i32.lt_s + i32.lt_u if - local.get $2 - local.get $1 - local.tee $0 + local.get $11 + local.get $3 i32.const 2 i32.shl i32.add - i32.load $0 i32.const -1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.04 - local.get $0 + i32.store $0 + local.get $3 i32.const 1 i32.add - local.set $1 - br $while-continue|05 + local.set $3 + br $for-loop|1 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 605 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|08 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 local.get $4 + local.get $10 i32.lt_s if + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - local.tee $0 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $14 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $14 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $17 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $17 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 i32.const 2 i32.shl + local.tee $1 + local.get $11 i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.07 - local.get $0 - i32.const 1 + local.get $3 + i32.store $0 + local.get $1 + local.get $12 i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 local.set $1 - br $while-continue|08 + br $while-continue|2 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|011 + loop $for-loop|4 local.get $1 - local.get $4 - i32.lt_s if - local.get $2 + local.get $11 local.get $1 - local.tee $0 i32.const 2 i32.shl i32.add i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.010 - local.get $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 i32.const 1 - i32.add + i32.sub local.set $1 - br $while-continue|011 + br $for-loop|4 end end - i32.const -1 - local.set $0 + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $0 - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float64Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|014 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.013 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|014 - end - end - i32.const -1 - local.set $0 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 local.get $0 - i32.const 3 - i32.ne + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|017 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.016 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|017 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const -1 - local.set $0 + i32.const 1696 + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 1696 + i32.store $0 end + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + call $~lib/typedarray/Float64Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#__get (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|020 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|020 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1446 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $2 - i32.const 100 - i32.sub - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|023 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.022 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|023 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const 1 - i32.ne + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8ClampedArray#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|00 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|00 - end - end - i32.const -1 - end + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 320 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.const 255 + local.get $2 + i32.sub + i32.const 31 + i32.shr_s + local.get $2 + i32.or + local.get $2 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 $0 local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 - drop - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8ClampedArray#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|06 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.05 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|06 - end - end - i32.const -1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 309 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|012 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const -1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.011 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|012 - end - end - i32.const -1 - end - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int8Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|018 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.017 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|018 - end - end - i32.const -1 - end - i32.const 3 - i32.ne + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 36 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - i32.const 4 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 4 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|024 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.019 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|024 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 3 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + local.get $2 + i32.store8 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#fill (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - i32.const 3 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 3 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|027 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.026 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|027 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 local.get $0 - i32.const 3 - i32.ne + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.tee $0 + local.get $2 + i32.add + local.get $2 + local.get $0 + local.get $0 + local.get $2 + i32.gt_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.tee $2 + local.get $0 + local.get $3 + i32.add + local.get $3 + local.get $0 + local.get $0 + local.get $3 + i32.gt_s + select + local.get $3 + i32.const 0 + i32.lt_s + select + local.tee $0 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - i32.const 2 + local.get $2 + local.get $4 + i32.add local.get $1 - i32.const 1 + local.get $0 + local.get $2 i32.sub - local.get $1 - i32.const 2 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|030 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.029 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|030 - end - end - i32.const -1 - local.set $0 + memory.fill $0 end - local.get $0 - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#get:length (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=12 local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - i32.const 100 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 100 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|033 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.032 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|033 - end - end - i32.const -1 - local.set $0 - end + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.ne + ) + (func $~lib/typedarray/Int8Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $0 - i32.const 10 - i32.sub - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|036 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.035 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|036 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 25 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $0 - i32.const 11 - i32.sub - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|039 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/isInt8ArrayEqual (type $i32_i32_=>_i32) (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.038 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|039 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.ne + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Int8Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 + i32.load $0 offset=12 + i32.ge_u + if + i32.const 1360 + i32.const 1760 + i32.const 114 + i32.const 42 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.set $6 + local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $6 + i32.ne + br_if $folding-inner1 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/typedarray/Int8Array#fill@varargs (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - i32.const -1 - local.set $1 + i32.const 2147483647 + local.set $3 end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 local.get $1 - i32.const -1 - i32.ne + local.get $2 + local.get $3 + call $~lib/typedarray/Int8Array#fill + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 local.get $3 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Int32Array#subarray - local.tee $4 + i32.const 0 i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#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 $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 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + local.get $2 + local.get $3 + i32.add local.tee $2 - i32.eqz + i32.const 0 local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 + 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.tee $2 + local.get $1 + local.get $1 + local.get $2 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if + local.get $3 local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|042 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.041 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|042 - end - end - i32.const -1 - local.set $0 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 local.get $0 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $3 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $2 + local.get $1 + i32.sub + i32.store $0 offset=8 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/typedarray/Int32Array#fill (type $i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 0 - local.set $1 - i32.const -1 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $5 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $0 + i32.add + local.get $2 + local.get $0 + local.get $0 + local.get $2 + i32.gt_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + local.get $0 + local.get $3 + i32.add + local.get $3 + local.get $0 + local.get $0 + local.get $3 + i32.gt_s + select + local.get $3 + i32.const 0 + i32.lt_s + select local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 + block $__inlined_func$~lib/util/bytes/FILL + local.get $1 i32.eqz + local.get $1 + i32.const -1 + i32.eq i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|045 - local.get $1 + if + local.get $0 local.get $2 - i32.lt_s + i32.gt_s if - local.get $3 - local.get $1 - local.tee $0 + local.get $5 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.044 + local.get $1 local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|045 + local.get $2 + i32.sub + i32.const 2 + i32.shl + memory.fill $0 end + br $__inlined_func$~lib/util/bytes/FILL end - i32.const -1 - local.set $0 - end - local.get $0 - if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|048 - local.get $1 + loop $for-loop|0 + local.get $0 local.get $2 - i32.lt_s + i32.gt_s if - local.get $3 - local.get $1 - local.tee $0 + local.get $5 + local.get $2 i32.const 2 i32.shl i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.047 - local.get $0 + local.get $1 + i32.store $0 + local.get $2 i32.const 1 i32.add - local.set $1 - br $while-continue|048 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $0 end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|051 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.050 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|051 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/array/Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|054 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.053 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|054 - end - end - i32.const -1 - local.set $0 - end + i32.store $0 + local.get $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=12 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 630 - i32.const 3 + i32.const 1360 + i32.const 1760 + i32.const 114 + i32.const 42 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|057 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.056 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|057 - end - end - i32.const -1 - local.set $0 - end + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + ) + (func $std/typedarray/isInt32ArrayEqual (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 - local.get $4 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + block $folding-inner0 + local.get $1 + call $~lib/array/Array#get:length + local.get $3 + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length local.set $3 - loop $while-continue|060 - local.get $1 + loop $for-loop|0 local.get $2 + local.get $3 i32.lt_s if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.059 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 local.get $0 + local.get $2 + call $~lib/typedarray/Int32Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 $1 - br $while-continue|060 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return end - local.get $0 - i32.const 1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + ) + (func $~lib/typedarray/Int32Array#fill@varargs (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|063 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.062 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|063 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - i32.const -1 - local.set $0 + i32.const 2147483647 + local.set $3 end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int32Array#fill global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (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.sub @@ -14515,1570 +12731,1106 @@ i32.const 0 i32.store $0 offset=8 local.get $3 - i32.const 7728 + local.get $0 i32.store $0 local.get $3 - i32.const 7740 - i32.load $0 - local.tee $2 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 + local.get $0 i32.store $0 offset=4 - loop $for-loop|0 - local.get $0 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $0 - i32.const 7728 - 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 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|0 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|0 - end - end - i32.const -1 - local.set $0 - end local.get $0 - if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + call $~lib/typedarray/Int32Array#get:length + local.set $3 + local.get $1 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 + i32.lt_s + if (result i32) + local.get $1 local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|02 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.01 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|02 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if + i32.add + local.tee $1 i32.const 0 - i32.const 1568 - i32.const 604 - 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 - i32.const 0 local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 + 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.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 + 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 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|05 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const -1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.04 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|05 - end - end - i32.const -1 - local.set $0 + 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 + call $~lib/typedarray/Int32Array#constructor + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.load $0 offset=4 + local.set $5 + local.get $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $2 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/typedarray/Int32Array#slice@varargs (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|08 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.07 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|08 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + br_table $1of2 $1of2 $2of2 $outOfRange end + unreachable end - i32.const -1 - local.set $0 + i32.const 2147483647 + local.set $1 end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $1 - i32.const -1 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int32Array#slice local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|011 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.010 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|011 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 3 - i32.ne + ) + (func $~lib/typedarray/Int32Array#copyWithin (type $i32_i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $4 + local.get $3 + local.get $4 + i32.lt_s + select + local.set $5 + local.get $0 + i32.load $0 offset=4 + local.tee $3 + local.get $1 + i32.const 0 + i32.lt_s + if (result i32) + local.get $1 local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|014 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.013 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|014 - end - end - i32.const -1 - local.set $0 + 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.get $0 - i32.const 3 - i32.ne - if + local.tee $1 + i32.const 2 + i32.shl + i32.add + local.get $3 + 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 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 - i32.const 4 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz + local.tee $2 + i32.const 2 + i32.shl + i32.add + local.get $5 + i32.const 0 + i32.lt_s + if (result i32) local.get $4 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 + local.get $5 + i32.add + local.tee $3 + i32.const 0 local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|017 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.016 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|017 - end - end - i32.const -1 - local.set $0 + 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 $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 + i32.const 2 + i32.shl + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + ) + (func $~lib/typedarray/Int32Array#copyWithin@varargs (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|020 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $2 - local.get $1 - local.tee $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|020 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const -1 - local.set $0 + i32.const 2147483647 + local.set $3 end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + local.get $3 + call $~lib/typedarray/Int32Array#copyWithin + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const -100 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $2 - i32.const 100 - i32.sub - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|023 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.022 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $while-continue|023 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 178 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + local.get $2 + i32.store8 $0 local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $0 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#reduce (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.sub - local.get $2 - local.get $0 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $5 + loop $for-loop|0 local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|00 + local.get $5 + i32.lt_s + if + local.get $2 + local.get $4 + i32.add + i32.load8_u $0 + local.set $6 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|00 - end + i32.store $0 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 $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|0 end - i32.const -1 end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $~lib/typedarray/Int16Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|06 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.05 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|06 - end - end - i32.const -1 - end - i32.const -1 - i32.ne + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 463 + i32.const 64 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 1 - global.set $~argumentsLength + i32.shl + i32.add + local.get $2 + i32.store16 $0 local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|012 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const -1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.011 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|012 - end - end - i32.const -1 - end - i32.const -1 - i32.ne + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=8 - i32.const 2 + i32.const 1 i32.shr_u - local.set $2 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 (result i32) - i32.const -1 - local.get $3 - local.tee $1 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 - drop - local.get $0 - i32.const 1 - i32.sub - local.get $2 - local.get $0 - local.get $2 - i32.le_s - select - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|018 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.017 - drop - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|018 - end - end - i32.const -1 - end - i32.const 3 - i32.ne + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 605 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - i32.const 4 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 4 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|024 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.019 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|024 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 3 - i32.ne + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#__set (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - i32.const 3 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 3 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|027 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.026 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|027 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.const 3 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 889 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - i32.const 2 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.sub - local.get $1 - i32.const 2 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|030 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.029 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|030 - end - end - i32.const -1 - local.set $0 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1031 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - i32.const 100 - local.get $1 - i32.const 1 - i32.sub - local.get $1 - i32.const 100 - i32.gt_s - select - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|033 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.032 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|033 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 1 - i32.ne + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#__set (type $i32_i32_i64_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $0 - i32.const 10 - i32.sub - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|036 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.035 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|036 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1173 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $0 - i32.const 11 - i32.sub - local.set $1 - local.get $3 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|039 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.038 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|039 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const -1 - i32.ne + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#__set (type $i32_i32_f32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $3 - i32.const 9 - call $~lib/typedarray/Uint32Array#subarray - local.tee $4 - i32.store $0 offset=8 + local.tee $3 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|042 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 3 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.041 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|042 - end - end - i32.const -1 - local.set $0 - end + i32.store $0 + local.get $3 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1315 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|045 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 4 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.044 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|045 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store $0 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|048 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.047 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|048 - end - end - i32.const -1 - local.set $0 - end + i32.store $0 + local.get $2 local.get $0 - i32.const 1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 48 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|051 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 9 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.050 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|051 - end - end - i32.const -1 - local.set $0 - end + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const -1 - i32.ne + ) + (func $~lib/typedarray/Uint8Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $1 - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|054 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 10 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.053 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|054 - end - end - i32.const -1 - local.set $0 - end + i32.store $0 + local.get $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 630 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 190 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.eqz - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|057 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 11 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.056 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|057 - end - end - i32.const -1 - local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8ClampedArray#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 332 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 1 - local.set $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|060 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.059 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|060 - end - end - i32.const -1 - local.set $0 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $1 local.get $0 + i32.load $0 offset=8 i32.const 1 - i32.ne + i32.shr_u + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 475 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $1 - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - local.get $2 - i32.const 2 - i32.le_s - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|063 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 5 - i32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.062 - local.get $0 - i32.const 1 - i32.add - local.set $1 - br $while-continue|063 - end - end - i32.const -1 - local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint16Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 local.get $0 - i32.const -1 - i32.ne + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 617 + i32.const 33 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 12 + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $0 + local.get $2 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (local $0 i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#at (type $i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -16094,1550 +13846,2240 @@ end global.get $~lib/memory/__stack_pointer local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 i32.store $0 local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Int64Array#constructor + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 7728 - 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 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 - local.set $1 - end + i32.const 0 local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 759 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.01 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const -1 - i32.ne + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#at (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const -1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.04 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.tee $2 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $2 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 901 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.07 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|08 - end - end - i32.const -1 - local.set $1 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#at (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + (local $3 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=8 i32.const 3 - i32.ne + i32.shr_u + local.tee $3 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $3 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1043 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.010 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 i32.const 3 - i32.ne + i32.shl + i32.add + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint64Array#at (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.013 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=8 i32.const 3 - i32.ne + i32.shr_u + local.tee $3 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $3 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1185 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|017 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 - i32.const -1 - i32.ne + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float32Array#at (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|020 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + local.tee $3 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $3 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1327 + i32.const 33 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 - local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.022 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|023 - end - end - i32.const -1 - local.set $0 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 local.get $0 - i32.const 1 - i32.ne + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Float64Array#at (type $i32_i32_=>_f64) (param $0 i32) (param $1 i32) (result f64) + (local $2 f64) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=8 i32.const 3 i32.shr_u - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - 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 $0 - i64.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 - end - end - i32.const -1 - local.set $1 + local.tee $3 + i32.const 0 + local.get $1 + i32.const 0 + i32.lt_s + select + i32.add + local.tee $1 + local.get $3 + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1469 + i32.const 33 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#reduceRight (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub + i32.sub + local.set $2 + loop $for-loop|0 local.get $2 i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 + i32.ge_s + if + local.get $2 + local.get $4 + i32.add + i32.load8_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $5 + local.get $2 + local.get $0 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 $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.05 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 - end + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $3 + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $for-loop|0 end - i32.const -1 - local.set $1 end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 614 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $0 - i32.load $0 offset=8 + call $~lib/typedarray/Int8Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 i32.const 3 - i32.shr_u + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3600 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $2 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $2 - i32.add + local.get $6 + i32.store $0 local.get $2 - i32.const 1 - i32.sub + i32.const 3600 + i32.store $0 offset=4 local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 i32.load $0 offset=4 local.set $2 - loop $while-continue|012 - local.get $1 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=16 + loop $for-loop|0 + local.get $0 + local.get $7 + i32.lt_s if + local.get $0 local.get $2 - local.get $1 + i32.add + i32.load8_s $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $0 + local.get $5 i32.add - i64.load $0 - i64.const -1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.011 - local.get $1 + local.get $3 + local.get $0 + local.get $6 + i32.const 3600 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 + local.get $0 i32.const 1 - i32.sub - local.set $1 - br $while-continue|012 + i32.add + local.set $0 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $3 - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $1 - local.get $3 + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add + global.set $~lib/memory/__stack_pointer local.get $1 - i32.const 1 - i32.sub - local.get $3 - local.get $1 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.017 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|018 - end - end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 3 - i32.ne - if + local.get $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - i32.const 4 - local.get $0 + call $~lib/typedarray/Int8Array#__get i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.019 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 - end + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - i32.const 3 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 - local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.const 4 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end + i32.const 1568 + i32.const 389 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 i32.const 2 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 - local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.const 9 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end + i32.const 1568 + i32.const 390 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 - i32.const -1 - i32.ne + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint8Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 167 + i32.const 45 call $~lib/builtins/abort unreachable end - i32.const -1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_u $0 local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 + i64.const 0 + i64.store $0 local.get $1 - i32.const 10 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3632 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - local.set $0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $6 + i32.store $0 + local.get $2 + i32.const 3632 + i32.store $0 offset=4 local.get $2 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - i32.const 0 - i32.ge_s + local.get $7 + i32.lt_s if - local.get $1 local.get $0 + local.get $2 + i32.add + i32.load8_u $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $0 + local.get $5 i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.035 + local.get $3 + local.get $0 + local.get $6 + i32.const 3632 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $while-continue|036 + br $for-loop|0 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + 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 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + 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 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 + i64.const 0 + i64.store $0 local.get $1 - i32.const 11 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3664 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - local.set $0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $6 + i32.store $0 local.get $2 + i32.const 3664 + i32.store $0 offset=4 + local.get $2 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - i32.const 0 - i32.ge_s + local.get $7 + i32.lt_s if - local.get $1 local.get $0 + local.get $2 + i32.add + i32.load8_u $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $0 + local.get $5 i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.038 + local.get $3 + local.get $0 + local.get $6 + i32.const 3664 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store8 $0 local.get $0 i32.const 1 - i32.sub + i32.add local.set $0 - br $while-continue|039 + br $for-loop|0 end end - i32.const -1 - local.set $0 + local.get $4 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $4 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $4 + local.get $5 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $4 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__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 $4 + i32.store $0 offset=4 + local.get $4 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__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 $4 + i32.store $0 offset=4 + local.get $4 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $0 - i32.const -1 - i32.ne + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int16Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9 - call $~lib/typedarray/Int64Array#subarray - local.tee $4 - i32.store $0 offset=8 + local.tee $2 i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.041 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end - end - i32.const -1 - local.set $1 - end + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 1 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 452 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $4 - i32.load $0 offset=8 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $4 + call $~lib/typedarray/Int16Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3696 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $8 + i32.store $0 + local.get $2 + i32.const 3696 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int16Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 local.set $2 - loop $while-continue|045 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $3 + local.get $9 i32.lt_s if local.get $2 local.get $0 - local.tee $1 - i32.const 3 + i32.const 1 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 4 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.044 - local.get $1 + i32.load16_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3696 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|045 + br $for-loop|0 end end - i32.const -1 - local.set $1 + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint16Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.047 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 - end - end - i32.const -1 - local.set $1 - end + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 + local.get $0 + i32.load $0 offset=8 i32.const 1 - i32.ne + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 594 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $4 - i32.load $0 offset=8 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $4 + call $~lib/typedarray/Uint16Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3728 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $8 + i32.store $0 + local.get $2 + i32.const 3728 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int16Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 local.set $2 - loop $while-continue|051 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 1 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $3 + local.get $9 i32.lt_s if local.get $2 local.get $0 - local.tee $1 - i32.const 3 + i32.const 1 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 9 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.050 - local.get $1 + i32.load16_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3728 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store16 $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|051 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Uint16Array#__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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + call $~lib/typedarray/Uint16Array#__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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint16Array#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $4 - i32.load $0 offset=8 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $4 + call $~lib/typedarray/Int32Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3760 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $8 + i32.store $0 + local.get $2 + i32.const 3760 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int32Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 local.set $2 - loop $while-continue|054 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 2 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $3 + local.get $9 i32.lt_s if local.get $2 local.get $0 - local.tee $1 - i32.const 3 + i32.const 2 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 10 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - 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 $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $4 + local.get $7 i32.add - i64.load $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.056 - local.get $1 + local.get $5 + local.get $0 + local.get $8 + i32.const 3760 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|057 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Int32Array#__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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + call $~lib/typedarray/Int32Array#__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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + call $~lib/typedarray/Int32Array#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 49120 + i32.const 49168 i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint32Array#__get (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end - end - i32.const -1 - local.set $1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 local.get $1 - i32.const 1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 878 + i32.const 64 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 i32.const 2 + i32.shl + i32.add + i32.load $0 local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 - local.get $4 - i32.load $0 offset=8 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 - local.get $4 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3792 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $8 + i32.store $0 + local.get $2 + i32.const 3792 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int32Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 local.set $2 - loop $while-continue|063 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 2 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $3 + local.get $9 i32.lt_s if local.get $2 local.get $0 - local.tee $1 - i32.const 3 + i32.const 2 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.062 - local.get $1 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3792 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.store $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|063 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Uint32Array#__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 $6 + i32.store $0 offset=4 + local.get $6 + 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 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + call $~lib/typedarray/Uint32Array#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) (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 global.get $~lib/memory/__stack_pointer @@ -17652,4893 +16094,6182 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + local.tee $3 i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $1 + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u + if + i32.const 1360 + i32.const 1632 + i32.const 1020 + i32.const 64 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 7728 - 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 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - i32.load $0 offset=8 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $0 i32) + (local $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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 + call $~lib/typedarray/Int64Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer local.set $1 - end - local.get $1 - if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3824 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 + i32.const 24 + memory.fill $0 local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 + local.get $8 + i32.store $0 local.get $2 + i32.const 3824 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int64Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 3 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $4 + local.get $9 i32.lt_s if - local.get $3 + local.get $2 local.get $0 - local.tee $1 i32.const 3 i32.shl + local.tee $4 i32.add i64.load $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.01 - local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3824 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|02 + br $for-loop|0 end end - i32.const -1 - local.set $1 + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 - i32.const -1 - i32.ne + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint64Array#__get (type $i32_i32_=>_i64) (param $0 i32) (param $1 i32) (result i64) + (local $2 i64) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const -1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.04 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const -1 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 3 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1162 + i32.const 64 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 - local.get $2 - i32.load $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $2 + local.get $3 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $0 i32) + (local $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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 + call $~lib/typedarray/Uint64Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3856 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $8 + i32.store $0 local.get $2 + i32.const 3856 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int64Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 3 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $4 + local.get $9 i32.lt_s if - local.get $3 + local.get $2 local.get $0 - local.tee $1 i32.const 3 i32.shl + local.tee $4 i32.add i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.07 - local.get $1 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3856 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i64) + i64.store $0 + local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|08 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/typedarray/Uint64Array#__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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + call $~lib/typedarray/Uint64Array#__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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.010 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end + call $~lib/typedarray/Uint64Array#__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 - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 - i32.const 3 - i32.ne + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Float32Array#__get (type $i32_i32_=>_f32) (param $0 i32) (param $1 i32) (result f32) + (local $2 f32) + (local $3 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 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.013 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end - end - i32.const -1 - local.set $1 - end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $1 - i32.const 3 - i32.ne + local.get $0 + i32.load $0 offset=8 + i32.const 2 + i32.shr_u + i32.ge_u if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 1360 + i32.const 1632 + i32.const 1304 + i32.const 64 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $2 + local.get $3 i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $2 - i32.load $0 offset=8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $0 i32) + (local $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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|017 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 + call $~lib/typedarray/Float32Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3888 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 + i32.const 24 + memory.fill $0 local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 + local.get $8 + i32.store $0 local.get $2 + i32.const 3888 + i32.store $0 offset=4 + local.get $2 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int32Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 2 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 local.get $0 - local.get $4 + local.get $9 i32.lt_s if - local.get $3 + local.get $2 local.get $0 - local.tee $1 - i32.const 3 + i32.const 2 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|020 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 - local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 - local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 + f32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 i32.const 3 - i32.shl + global.set $~argumentsLength + local.get $4 + local.get $7 i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.022 + local.get $5 + local.get $0 + local.get $8 + i32.const 3888 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_f32) + f32.store $0 local.get $0 i32.const 1 i32.add local.set $0 - br $while-continue|023 + br $for-loop|0 end end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $2 + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 - end + i32.const 1568 + i32.const 388 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 49120 + i32.const 49168 i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $0 - i32.load $0 offset=8 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayMap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $0 i32) + (local $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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 i32.const 3 - i32.shr_u + call $~lib/typedarray/Float64Array#constructor + local.tee $8 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3920 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $2 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $2 - i32.add + local.get $8 + i32.store $0 local.get $2 - i32.const 1 - i32.sub + i32.const 3920 + i32.store $0 offset=4 local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 + local.get $8 + i32.store $0 offset=8 + local.get $8 + call $~lib/typedarray/Int64Array#get:length + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=8 + local.get $8 i32.load $0 offset=4 local.set $2 - loop $while-continue|06 - local.get $1 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $9 + i32.const 3 + i32.shl + local.tee $3 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $7 + i32.store $0 offset=16 + loop $for-loop|0 + local.get $0 + local.get $9 + i32.lt_s if local.get $2 - local.get $1 + local.get $0 i32.const 3 i32.shl + local.tee $4 i32.add - i64.load $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.05 - local.get $1 + f64.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $7 + i32.add + local.get $5 + local.get $0 + local.get $8 + i32.const 3920 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_f64) + f64.store $0 + local.get $0 i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 + i32.add + local.set $0 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + local.get $6 + local.get $7 + i32.store $0 + local.get $7 + if + local.get $6 + local.get $7 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $7 + i32.store $0 offset=4 + local.get $6 + local.get $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 - call $~lib/builtins/abort - unreachable + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 9 + f64.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 49120 + i32.const 49168 i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 - local.get $2 + i64.const 0 + i64.store $0 local.get $2 - i32.add + i64.const 0 + i64.store $0 offset=8 local.get $2 + i32.const 6 + call $~lib/typedarray/Int8Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3952 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - local.get $2 - i32.const 0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - select - local.set $1 - local.get $0 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $7 + i32.store $0 + local.get $2 + i32.const 3952 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $2 - loop $while-continue|012 + local.set $5 + loop $for-loop|0 local.get $1 - i32.const 0 - i32.ge_s + local.get $8 + i32.lt_s if - local.get $2 local.get $1 - i32.const 3 - i32.shl + local.get $5 i32.add - i64.load $0 - i64.const -1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.011 + i32.load8_s $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $7 + i32.const 3952 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $0 + local.get $2 + i32.add + local.get $3 + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 - i32.sub + i32.add local.set $1 - br $while-continue|012 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $3 - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 + local.get $6 local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + local.get $0 + call $~lib/rt/itcms/__renew local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $1 - local.get $3 - i32.add - local.get $1 - i32.const 1 - i32.sub - local.get $3 + i32.store $0 local.get $1 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 + if + local.get $6 local.get $1 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.017 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|018 - end + call $byn-split-outlined-A$~lib/rt/itcms/__link end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub + local.get $6 local.get $0 - i32.const 4 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.019 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 - end + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length i32.const 3 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $2 - i32.load $0 offset=8 + call $~lib/typedarray/Int8Array#__get i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - i32.const 2 - local.get $0 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 1 - i32.sub - local.get $0 + 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 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 2 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 - local.get $0 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.029 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 - end + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 - i32.const -1 - i32.ne - if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.const 6 + call $~lib/typedarray/Uint8Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1568 - i32.const 619 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - local.get $2 - i32.load $0 offset=8 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3984 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - local.get $0 - i32.const 100 - i32.gt_u - select - local.set $0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $7 + i32.store $0 + local.get $2 + i32.const 3984 + i32.store $0 offset=4 local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s + local.set $5 + loop $for-loop|0 + local.get $1 + local.get $8 + i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl + local.get $1 + local.get $5 i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.032 + i32.load8_u $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $7 + i32.const 3984 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $0 + local.get $2 + i32.add + local.get $3 + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 + i32.add + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 + local.get $6 local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + local.get $0 + call $~lib/rt/itcms/__renew local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 + i32.store $0 local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 + if + local.get $6 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.035 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 - end + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 621 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 1 - i64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 - end + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 9 - call $~lib/typedarray/Uint64Array#subarray - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $4 - i32.load $0 offset=8 + call $~lib/typedarray/Uint8Array#__get i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 3 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.041 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 4 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.044 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|045 - end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.047 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 - end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + 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 - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.ne - if + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1568 - i32.const 628 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 - local.get $4 - i32.load $0 offset=8 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 - local.get $4 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4016 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + local.get $7 + i32.store $0 + local.get $2 + i32.const 4016 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 + local.set $5 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl + local.get $1 + local.get $5 i32.add - i64.load $0 - i64.const 9 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.050 + i32.load8_u $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $7 + i32.const 4016 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $0 + local.get $2 + i32.add + local.get $3 + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|051 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 + local.get $6 + local.get $2 + local.get $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $6 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $6 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer local.get $4 - i32.load $0 offset=8 + local.get $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 10 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 0 - i32.const 1568 - i32.const 630 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $4 - i32.load $0 offset=8 + call $~lib/typedarray/Uint8ClampedArray#__get i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 11 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.056 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|057 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end + 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 - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.const 5 - i64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.062 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 - end + call $~lib/typedarray/Uint8ClampedArray#__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 - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int16Array,i16> (type $none_=>_none) (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $3 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - if - local.get $2 - local.get $1 - i32.const 7728 - 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 - end - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + i64.const 0 + i64.store $0 offset=8 local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 0 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - if + i32.const 6 + call $~lib/typedarray/Int16Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1568 - i32.const 603 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $2 - i32.load $0 offset=8 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $2 - i32.load $0 offset=4 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer local.set $3 - loop $while-continue|02 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 11 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.01 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|02 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4048 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 + i32.const 24 + memory.fill $0 local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 + local.get $7 + i32.store $0 + local.get $2 + i32.const 4048 + i32.store $0 offset=4 local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|05 - local.get $0 - local.get $4 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const -1 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.04 + local.get $4 local.get $1 i32.const 1 - i32.add - local.set $0 - br $while-continue|05 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - 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.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|08 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 i32.shl i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.07 + i32.load16_s $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4048 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|08 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 606 + local.get $5 + local.get $6 + local.get $0 + i32.const 1 + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int16Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|011 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.010 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|011 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - i32.const 1568 - i32.const 607 + call $~lib/typedarray/Int16Array#__get i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $2 - i32.load $0 offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|014 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.013 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|014 - end + 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 - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - i32.load $0 offset=8 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.const 6 + call $~lib/typedarray/Uint16Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 - local.get $2 - i32.load $0 offset=4 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer local.set $3 - loop $while-continue|017 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.016 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|017 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4080 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 + i32.const 24 + memory.fill $0 local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.eqz - local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 + local.get $7 + i32.store $0 + local.get $2 + i32.const 4080 + i32.store $0 offset=4 local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int16Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 1 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|020 - local.get $0 - local.get $4 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 + local.get $4 + local.get $1 + i32.const 1 i32.shl i32.add - f32.load $0 - f32.const 1 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 + i32.load16_u $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4080 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $2 + i32.store16 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|020 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 - local.get $3 - i32.const 100 - i32.sub + local.get $5 + local.get $6 + local.get $0 + i32.const 1 + i32.shl local.tee $0 - i32.const 0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 1 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.022 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|023 - end + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 611 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int16Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 0 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 - end + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - i32.const 1568 - i32.const 613 + call $~lib/typedarray/Uint16Array#__get i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + call $~lib/typedarray/Uint16Array#__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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 49120 + i32.const 49168 i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $2 + i64.const 0 + i64.store $0 local.get $2 - i32.add + i64.const 0 + i64.store $0 offset=8 local.get $2 + i32.const 6 + call $~lib/typedarray/Int32Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4112 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - local.get $2 - i32.const 0 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - select - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 - 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 $0 - f32.const 11 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.05 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $2 + local.get $7 + i32.store $0 local.get $2 - i32.add + i32.const 4112 + i32.store $0 offset=4 local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 9 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 2 + i32.shl i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $0 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $2 - loop $while-continue|012 + local.set $4 + loop $for-loop|0 local.get $1 - i32.const 0 - i32.ge_s + local.get $8 + i32.lt_s if - local.get $2 + local.get $4 local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - f32.const -1 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.011 + i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4112 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 - i32.sub + i32.add local.set $1 - br $while-continue|012 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - global.set $~argumentsLength - local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $2 - i32.load $0 offset=8 + local.get $5 + local.get $6 + local.get $0 i32.const 2 - i32.shr_u + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $1 - local.get $3 - i32.add + i32.store $0 local.get $1 - i32.const 1 - i32.sub - local.get $3 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $1 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $1 - local.tee $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.017 - local.get $0 - i32.const 1 - i32.sub - local.set $1 - br $while-continue|018 - end + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 3 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int32Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - i32.const 1568 - i32.const 616 + call $~lib/typedarray/Int32Array#__get i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - i32.const 4 - local.get $0 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 - i32.sub - local.get $0 + call $~lib/typedarray/Int32Array#__get i32.const 4 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.019 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 - end + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - i32.load $0 offset=8 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + i32.const 6 + call $~lib/typedarray/Uint32Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 + i32.const 4 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer local.set $3 - loop $while-continue|027 - local.get $0 - i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.026 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 3 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4144 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 + i32.const 24 + memory.fill $0 local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 + local.get $7 + i32.store $0 + local.get $2 + i32.const 4144 + i32.store $0 offset=4 + local.get $2 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 i32.const 2 - local.get $0 + i32.shl i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_u - select - local.set $0 - local.get $2 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 - local.get $0 - i32.const 0 - i32.ge_s + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 + i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 + local.get $4 + local.get $1 i32.const 2 i32.shl i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.029 + i32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4144 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $2 + i32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 + i32.add + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $2 - i32.load $0 offset=8 + local.get $5 + local.get $6 + local.get $0 i32.const 2 - i32.shr_u + i32.shl local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 local.get $0 - i32.const 100 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if i32.const 0 - i32.ge_s - if - local.get $3 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 1 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.032 - local.get $1 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 - end + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 620 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int32Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 1 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.035 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 - end + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const 1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - i32.const 1568 - i32.const 621 + call $~lib/typedarray/Uint32Array#__get i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $2 - i32.load $0 offset=8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 2 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 + call $~lib/typedarray/Uint32Array#__get + i32.const 5 + i32.ne + if i32.const 0 - i32.ge_s - if - local.get $1 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 1 - f32.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.038 - local.get $0 - i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 - end + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $0 - end - local.get $0 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i64) + (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 $2 - i32.const 9 - call $~lib/typedarray/Float32Array#subarray - local.tee $4 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 3 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.041 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 6 + call $~lib/typedarray/Int64Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1568 - i32.const 626 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4176 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 + local.get $7 + i32.store $0 + local.get $4 + i32.const 4176 + i32.store $0 offset=4 local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 + local.get $4 + local.get $1 + i32.const 3 i32.shl i32.add - f32.load $0 - f32.const 4 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.044 + i64.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4176 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|045 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 627 + local.get $5 + local.get $6 + local.get $0 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $4 - i32.load $0 offset=8 + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 5 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.047 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|048 - end + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.ne - if + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 6 + call $~lib/typedarray/Uint64Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 0 - i32.const 1568 - i32.const 628 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4208 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 + local.get $7 + i32.store $0 + local.get $4 + i32.const 4208 + i32.store $0 offset=4 local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 + local.get $4 + local.get $1 + i32.const 3 i32.shl i32.add - f32.load $0 - f32.const 9 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.050 + i64.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4208 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $2 + i64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|051 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 629 + local.get $5 + local.get $6 + local.get $0 i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 10 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 630 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int64Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 11 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.056 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|057 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + call $~lib/typedarray/Uint64Array#__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 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 5 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.059 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|060 - end + call $~lib/typedarray/Uint64Array#__get + i64.const 4 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const 5 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.062 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|063 - end + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 417 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 i32) + (local $2 f32) (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.const 16 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 7728 - i32.store $0 - local.get $2 - i32.const 7740 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|0 - local.get $1 - local.get $3 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - if - local.get $2 - local.get $1 - i32.const 7728 - 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 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - i32.load $0 offset=8 + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 6 + call $~lib/typedarray/Float32Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + f32.const 2 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - i32.shr_u + f32.const 4 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4240 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + local.get $7 + i32.store $0 + local.get $4 + i32.const 4240 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + 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 $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $4 + local.get $1 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 0 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + f32.load $0 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4240 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $2 + f32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|0 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 - end - local.get $1 - if - i32.const 0 - i32.const 1568 - i32.const 603 + local.get $5 + local.get $6 + local.get $0 + i32.const 2 + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int32Array#get:length i32.const 3 - call $~lib/builtins/abort - unreachable + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 4 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $2 - i32.load $0 offset=8 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 f64) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i64.const 0 + i64.store $0 offset=8 + local.get $3 + i32.const 6 + call $~lib/typedarray/Float64Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 i32.const 3 - i32.shr_u + f64.const 4 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 5 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4272 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 - local.get $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $4 + local.get $7 + i32.store $0 + local.get $4 + i32.const 4272 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int64Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.const 3 + i32.shl + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=8 + local.get $7 i32.load $0 offset=4 - local.set $3 - loop $while-continue|02 - local.get $0 - local.get $4 + local.set $4 + loop $for-loop|0 + local.get $1 + local.get $8 i32.lt_s if - local.get $3 - local.get $0 - local.tee $1 + local.get $4 + local.get $1 i32.const 3 i32.shl i32.add f64.load $0 - f64.const 11 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.01 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + i32.const 3 + global.set $~argumentsLength + local.get $2 + local.get $1 + local.get $7 + i32.const 4272 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $2 + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + end local.get $1 i32.const 1 i32.add - local.set $0 - br $while-continue|02 + local.set $1 + br $for-loop|0 end end - i32.const -1 - local.set $1 + local.get $5 + local.get $6 + local.get $0 + i32.const 3 + i32.shl + local.tee $0 + call $~lib/rt/itcms/__renew + local.tee $1 + i32.store $0 + local.get $1 + if + local.get $5 + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $5 + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $5 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 413 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 414 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 415 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 416 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.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 16 + i32.add + global.set $~lib/memory/__stack_pointer + return end - local.get $1 - i32.const -1 - i32.ne + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int8Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 604 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|05 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + 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 $0 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const -1 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.04 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|05 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint8Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 605 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|08 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + 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 $0 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.07 + global.set $~argumentsLength + i32.const 1 + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|08 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const 3 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 606 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) local.get $4 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 - local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|011 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 local.get $4 i32.lt_s if local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 1 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.010 + i32.load16_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 $0 - br $while-continue|011 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const 3 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint16Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 607 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 3 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) local.get $4 - i32.const 3 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 - local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|014 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 local.get $4 i32.lt_s if local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 1 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.013 + i32.load16_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 $0 - br $while-continue|014 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const 3 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int32Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 608 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 4 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $4 - i32.const 4 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 - local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|017 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 local.get $4 i32.lt_s if local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.016 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 $0 - br $while-continue|017 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#some (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 609 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 10 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.eqz + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $4 - i32.const 10 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $2 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 i32.load $0 offset=4 local.set $3 - loop $while-continue|020 - local.get $0 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 local.get $4 i32.lt_s if local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 1 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 $0 - br $while-continue|020 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#some (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 610 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 - local.get $3 - i32.const 100 - i32.sub - local.tee $0 - i32.const 0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 local.get $0 - i32.const 0 - i32.gt_s - select - local.set $0 - local.get $2 i32.load $0 offset=4 - local.set $1 - loop $while-continue|023 - local.get $0 - local.get $3 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if - local.get $1 - local.get $0 + local.get $3 + local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 - f64.const 1 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.022 + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $4 + local.get $2 local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|023 + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $0 + i32.const 0 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.const 1 - i32.ne + ) + (func $~lib/typedarray/Uint64Array#some (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 611 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - local.get $2 - local.tee $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $3 - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $2 - local.get $3 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $3 - local.get $2 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.set $2 - loop $while-continue|00 - local.get $1 - i32.const 0 - i32.ge_s + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s if + local.get $3 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add - f64.load $0 - f64.const 0 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 i32.const 1 - i32.sub - local.set $1 - br $while-continue|00 + i32.add + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float32Array#some (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 613 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $5 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.set $2 - loop $while-continue|06 - local.get $1 - i32.const 0 - i32.ge_s + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s if + local.get $3 local.get $2 - local.get $1 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 11 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.05 + f32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 i32.const 1 - i32.sub - local.set $1 - br $while-continue|06 + i32.add + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#some (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 614 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $5 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 - local.get $2 - local.get $2 - i32.add - local.get $2 - i32.const 1 - i32.sub - local.get $2 - i32.const 0 - i32.lt_s - select - local.set $1 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.set $2 - loop $while-continue|012 - local.get $1 - i32.const 0 - i32.ge_s + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s if + local.get $3 local.get $2 - local.get $1 i32.const 3 i32.shl i32.add f64.load $0 - f64.const -1 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.011 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 1 + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 i32.const 1 - i32.sub - local.set $1 - br $while-continue|012 + i32.add + local.set $2 + br $for-loop|0 end end - i32.const -1 - local.set $1 + i32.const 0 end - local.get $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int8Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 615 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 local.get $0 - local.tee $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 local.set $3 - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 - local.get $1 - local.get $3 - i32.add - local.get $1 - i32.const 1 - i32.sub - local.get $3 - local.get $1 - local.get $3 - i32.le_s - select - local.get $3 - i32.const 0 - i32.lt_s - select - local.set $1 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|018 - local.get $1 - i32.const 0 - i32.ge_s + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + 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 - local.get $1 - local.tee $0 - i32.const 3 - i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.017 + i32.load8_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $1 - br $while-continue|018 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $0 + local.set $2 end - local.get $0 - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 616 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 - i32.const 4 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 4 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|024 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + 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 $0 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.019 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|024 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const 3 - i32.ne + 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 (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 617 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 - i32.const 3 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 3 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|027 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + 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 $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 1 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.026 + i32.load16_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|027 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const 3 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint16Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 618 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 - i32.const 2 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 2 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|030 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + 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.lt_s if local.get $3 - local.get $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 1 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.029 + i32.load16_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|030 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int32Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 619 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $1 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $0 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 - i32.const 100 - local.get $0 - i32.const 1 - i32.sub - local.get $0 - i32.const 100 - i32.gt_u - select - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $3 - loop $while-continue|033 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + 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 $0 - local.tee $1 - i32.const 3 + local.get $2 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 1 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.032 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|033 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const 1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint32Array#findIndex (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 620 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 - local.get $1 - i32.const 10 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|036 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + 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 $1 - local.get $0 - i32.const 3 + local.get $3 + local.get $2 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 1 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.035 + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $2 local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|036 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $0 + local.set $2 end - local.get $0 - i32.const 1 - i32.ne + 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 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 621 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const -1 - local.set $0 - block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.eqz - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 - local.get $1 - i32.const 11 - i32.sub - local.set $0 - local.get $2 - i32.load $0 offset=4 - local.set $1 - loop $while-continue|039 - local.get $0 - i32.const 0 - i32.ge_s + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s if - local.get $1 - local.get $0 + local.get $3 + local.get $2 i32.const 3 i32.shl i32.add - f64.load $0 - f64.const 1 - f64.eq - br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.038 + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 i32.const 1 - i32.sub - local.set $0 - br $while-continue|039 + i32.add + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $0 + local.set $2 end - local.get $0 - i32.const -1 - i32.ne + 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 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 i64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 622 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 4 - i32.const 9 - call $~lib/typedarray/Float64Array#subarray - local.tee $4 + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 i32.store $0 offset=8 - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if + local.get $3 local.get $2 - local.get $0 - local.tee $1 i32.const 3 i32.shl i32.add - f64.load $0 - f64.const 3 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.041 + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|042 + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const -1 - i32.ne + 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 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 626 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $5 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if + local.get $3 local.get $2 - local.get $0 - local.tee $1 - i32.const 3 + i32.const 2 i32.shl i32.add - f64.load $0 - f64.const 4 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.044 + f32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|045 + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 + 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 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 627 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|048 - local.get $0 - local.get $3 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if + local.get $3 local.get $2 - local.get $0 - local.tee $1 i32.const 3 i32.shl i32.add f64.load $0 - f64.const 5 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.047 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (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 $0 - br $while-continue|048 + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const 1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int8Array#findLastIndex (type $i32_i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 628 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|051 - local.get $0 - local.get $3 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s if local.get $2 + local.get $3 + i32.add + i32.load8_s $0 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 9 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.050 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $0 - br $while-continue|051 + i32.sub + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Uint8Array#findLastIndex (type $i32_i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 629 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|054 - local.get $0 - local.get $3 - i32.lt_s + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s if local.get $2 + local.get $3 + i32.add + i32.load8_u $0 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 10 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.053 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|054 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - 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 $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|057 - local.get $0 - local.get $3 - i32.lt_s - if + global.set $~argumentsLength + local.get $4 local.get $2 local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 11 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.056 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $0 - br $while-continue|057 + i32.sub + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 + local.set $2 end - local.get $1 - i32.const -1 - i32.ne + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + ) + (func $~lib/typedarray/Int16Array#findLastIndex (type $i32_i32_=>_i32) (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 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 0 - i32.const 1568 - i32.const 631 - i32.const 3 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length i32.const 1 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 1 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|060 - local.get $0 - local.get $3 - i32.lt_s + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s if + local.get $3 local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 5 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.059 - local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $while-continue|060 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 632 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 2 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - local.get $3 - i32.const 2 - i32.le_u - i32.or - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|063 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 + i32.load16_s $0 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - local.tee $1 + i32.store $0 offset=12 i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const 5 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.062 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $0 - br $while-continue|063 + i32.sub + local.set $2 + br $for-loop|0 end end i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 633 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.set $2 end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 16 i32.add global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint16Array#findLastIndex (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - if - local.get $1 - i32.const 10000 - i32.rem_u - local.set $3 - local.get $1 - i32.const 10000 - i32.div_u - local.set $1 - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i32.load $0 - i32.store $0 - local.get $1 - i32.const 100 - i32.div_u - local.set $1 - end - local.get $1 - i32.const 10 - i32.ge_u + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i32.load $0 - i32.store $0 - else - local.get $0 - local.get $2 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.sub i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 48 - i32.add - i32.store16 $0 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.extend8_s - i32.const 0 - i32.lt_s + global.get $~lib/memory/__stack_pointer local.tee $2 - if - local.get $1 - i32.const 255 - i32.and - i32.const 128 - i32.eq - if - local.get $0 - i64.const 15762813447372845 - i64.store $0 - i32.const 4 - return - end - local.get $0 - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $1 - i32.sub - local.set $1 - end + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $0 + i32.store $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.set $3 - local.get $1 - i32.extend8_s - i32.const 10 - i32.lt_u - if - local.get $3 - local.get $1 - i32.extend8_s - i32.const 48 - i32.or - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - return - end - local.get $1 - i32.extend8_s - local.tee $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $0 - local.get $3 local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $0 - call $~lib/util/number/utoa32_dec_lut + i32.store $0 offset=8 local.get $0 + i32.load $0 offset=4 + local.set $3 local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 + local.get $2 + i32.const 1 + i32.sub + 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 $2 ) - (func $~lib/typedarray/Int8Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int32Array#findLastIndex (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22553,302 +22284,166 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load8_s $0 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 - i32.add - local.get $6 - i32.mul - i32.const 11 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + i32.const 0 + i32.ge_s if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add local.get $3 - local.get $5 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 + local.get $2 + i32.const 2 + i32.shl i32.add - local.set $1 + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $3 + i32.sub + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.add - i32.load8_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $2 end - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint32Array#findLastIndex (type $i32_i32_=>_i32) (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 - i32.eq + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if + i32.const 49120 + i32.const 49168 i32.const 1 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 local.get $1 - i32.eqz + i32.store $0 offset=4 + local.get $2 local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end + i32.store $0 offset=8 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 + loop $for-loop|0 local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq + i32.const 0 + i32.ge_s if + local.get $3 local.get $2 - i32.const 8 - i32.add - local.set $2 - local.get $1 - i32.const 8 + i32.const 2 + i32.shl i32.add - local.set $1 + i32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 4 - i32.sub - local.tee $0 - i32.const 4 - i32.ge_u - br_if $do-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 local.get $2 - i32.load16_u $0 - local.tee $5 + local.get $0 local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 local.get $2 - i32.const 2 - i32.add + i32.const 1 + i32.sub local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 + br $for-loop|0 end end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (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 $0 - i32.const 1 - return + i32.const -1 + local.set $2 end - local.get $1 - i32.const 255 - i32.and - local.set $2 - i32.const 3 - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add + global.set $~lib/memory/__stack_pointer local.get $2 - i32.const 100 - i32.ge_u - select - local.set $1 - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - local.get $1 ) - (func $~lib/typedarray/Uint8Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int64Array#findLastIndex (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - local.set $0 + (local $4 i64) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -22863,259 +22458,166 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load8_u $0 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - local.get $6 - i32.mul - i32.const 10 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + i32.const 0 + i32.ge_s if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add local.get $3 - local.get $5 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 + local.get $2 + i32.const 3 + i32.shl i32.add - local.set $1 + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $3 + i32.sub + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.add - i32.load8_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $2 end - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Uint64Array#findLastIndex (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $1 - i32.extend16_s - i32.const 0 + (local $4 i64) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - local.tee $2 if - local.get $1 - i32.const 65535 - i32.and - i32.const 32768 - i32.eq - if - local.get $0 - i64.const 15481338470793261 - i64.store $0 - local.get $0 - i32.const 3670070 - i32.store $0 offset=8 - i32.const 6 - return - end - local.get $0 - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $1 - i32.sub - local.set $1 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $0 + i32.store $0 local.get $2 - i32.const 1 - i32.shl - i32.add - local.set $3 - local.get $1 - i32.extend16_s - i32.const 10 - i32.lt_u - if - local.get $3 - local.get $1 - i32.extend16_s - i32.const 48 - i32.or - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - return - end - local.get $1 - i32.extend16_s - local.tee $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $0 - local.get $3 local.get $1 + i32.store $0 offset=4 + local.get $2 local.get $0 - call $~lib/util/number/utoa32_dec_lut + i32.store $0 offset=8 local.get $0 + i32.load $0 offset=4 + local.set $3 local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 + local.get $2 + i32.const 1 + i32.sub + 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 $2 ) - (func $~lib/typedarray/Int16Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#findLastIndex (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $0 + (local $4 f32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23130,201 +22632,167 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load16_s $0 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 - i32.add - local.get $6 - i32.mul - i32.const 11 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + local.get $2 + i32.const 0 + i32.ge_s if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 local.get $3 - i32.const 1 + local.get $2 + i32.const 2 i32.shl i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 + f32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 + local.get $2 i32.const 1 - i32.add - local.set $3 + i32.sub + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const -1 + local.set $2 end - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Float64Array#findLastIndex (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - local.get $1 - i32.const 65535 - i32.and - i32.const 10 - i32.lt_u + (local $3 i32) + (local $4 f64) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $0 - local.get $1 - i32.const 65535 - i32.and - i32.const 48 - i32.or - i32.store16 $0 + i32.const 49120 + i32.const 49168 i32.const 1 - return - end - local.get $1 - i32.const 65535 - i32.and - local.set $2 - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add + call $~lib/builtins/abort + unreachable end - local.set $1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i64.const 0 + i64.store $0 offset=8 + local.get $2 local.get $0 + i32.store $0 local.get $2 local.get $1 - call $~lib/util/number/utoa32_dec_lut - local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $2 + block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + loop $for-loop|0 + local.get $2 + i32.const 0 + i32.ge_s + if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_i32) + br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 + local.get $2 + i32.const 1 + i32.sub + 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 $2 ) - (func $~lib/typedarray/Uint16Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int8Array#every (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23339,241 +22807,79 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $4 local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load16_u $0 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - local.get $6 - i32.mul - i32.const 10 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $4 loop $for-loop|0 - local.get $3 - local.get $6 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 + local.get $2 local.get $3 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + i32.load8_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 $3 + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - local.get $1 - i32.const 0 - i32.lt_s - local.tee $2 - if - local.get $0 - i32.const 45 - i32.store16 $0 - i32.const 0 - local.get $1 - i32.sub - local.set $1 - end - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add local.set $0 - local.get $1 - i32.const 10 - i32.lt_u - if - local.get $0 - local.get $1 - i32.const 48 - i32.or - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - return - end - local.get $0 - local.get $1 - local.get $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $0 - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int32Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Uint8Array#every (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23588,217 +22894,79 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) + local.get $4 local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load $0 - call $~lib/util/number/itoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 11 - i32.add - local.get $6 - i32.mul - i32.const 11 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $4 loop $for-loop|0 - local.get $3 - local.get $6 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 + local.get $2 local.get $3 - i32.const 2 - i32.shl i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + i32.load8_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 local.get $1 - i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + i32.load $0 + call_indirect $0 (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 $3 + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $0 - ) - (func $~lib/util/number/itoa_buffered (type $i32_i32_=>_i32) (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 $0 i32.const 1 - return - end - local.get $0 - local.get $1 - local.get $1 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 100 - i32.lt_u - if (result i32) - local.get $1 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $1 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $1 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $1 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $1 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $1 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $1 - i32.const 100000000 - i32.ge_u - i32.add - end end - local.tee $0 - call $~lib/util/number/utoa32_dec_lut + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/typedarray/Uint32Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int16Array#every (type $i32_i32_=>_i32) (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 $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -23813,2292 +22981,1127 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $4 local.get $0 - i32.const 1 - i32.sub - local.tee $6 - 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - local.get $5 - i32.load $0 - call $~lib/util/number/utoa32 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 10 - i32.add - local.get $6 - i32.mul - i32.const 10 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 i32.store $0 + local.get $4 + local.get $1 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 loop $for-loop|0 - local.get $3 - local.get $6 + local.get $2 + local.get $4 i32.lt_s if - local.get $0 - local.get $1 + local.get $3 + local.get $2 i32.const 1 i32.shl i32.add + i32.load16_s $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 local.get $5 - local.get $3 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered + local.get $2 + local.get $0 local.get $1 - i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + i32.load $0 + call_indirect $0 (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 $3 + local.set $2 br $for-loop|0 end end - local.get $2 - local.get $0 - local.get $1 i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/util/number/utoa64_dec_lut (type $i32_i64_i32_=>_none) (param $0 i32) (param $1 i64) (param $2 i32) + (func $~lib/typedarray/Uint16Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - loop $while-continue|0 + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) + local.get $4 + local.get $0 + i32.store $0 + local.get $4 local.get $1 - i64.const 100000000 - i64.ge_u - if - local.get $0 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + loop $for-loop|0 local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i64.const 100000000 - i64.div_u - local.tee $1 - i64.const 100000000 - i64.mul - i64.sub - i32.wrap_i64 - local.tee $3 - i32.const 10000 - i32.rem_u - local.tee $4 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 local.get $4 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 10000 - i32.div_u - local.tee $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 8012 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 + i32.lt_s + if + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 + call_indirect $0 (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 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer 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 (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/typedarray/Int32Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) (local $4 i32) - local.get $1 - i64.const 0 - i64.lt_s - local.tee $3 - if - local.get $0 - i32.const 45 - i32.store16 $0 - i64.const 0 - local.get $1 - i64.sub - local.set $1 - end - local.get $0 - local.get $3 - i32.const 1 - i32.shl - i32.add - local.set $4 - local.get $1 - i64.const 10 - i64.lt_u + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $4 - local.get $1 - i64.const 48 - i64.or - i64.store16 $0 - local.get $3 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.add - return + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $1 - i64.const 4294967295 - i64.le_u - if + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $4 + local.get $0 + i32.store $0 + local.get $4 local.get $1 - i32.wrap_i64 - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + loop $for-loop|0 local.get $2 - i32.const 100 - i32.lt_u - if (result i32) + local.get $4 + i32.lt_s + if + local.get $3 local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 + i32.const 2 + i32.shl i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u + i32.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else + global.set $~argumentsLength + i32.const 0 + local.get $5 local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_i32) + i32.eqz + br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 + drop local.get $2 - i32.const 100000000 - i32.ge_u + i32.const 1 i32.add + local.set $2 + br $for-loop|0 end end - local.set $0 + i32.const 1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#every (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) local.get $4 - local.get $2 local.get $0 - call $~lib/util/number/utoa32_dec_lut - else + i32.store $0 local.get $4 local.get $1 - local.get $1 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $1 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $1 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + 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 $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $5 + local.get $2 + local.get $0 local.get $1 - i64.const 1000000000000000000 - i64.ge_u + i32.load $0 + call_indirect $0 (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.tee $0 - call $~lib/util/number/utoa64_dec_lut + i32.const 1 end - local.get $0 - local.get $3 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int64Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i64) + (func $~lib/typedarray/Int64Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 i64) (local $5 i32) - (local $6 i32) - (local $7 i32) - local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $5 + local.get $0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 - i32.const 0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + local.get $2 + i32.const 3 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $6 - i32.eqz - if - block $__inlined_func$~lib/util/number/itoa64 (result i32) - local.get $5 - i64.load $0 - i64.extend32_s - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $2 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8000 - br $__inlined_func$~lib/util/number/itoa64 - end - i64.const 0 - local.get $2 - i64.sub - local.get $2 - local.get $2 - i64.const 63 - i64.shr_u - i32.wrap_i64 - i32.const 1 - i32.shl - local.tee $0 - select - local.tee $2 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.wrap_i64 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $4 - i32.const 1 - i32.shl - local.get $0 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $0 - local.get $1 - i32.add - local.get $3 - local.get $4 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $2 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $2 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $2 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $2 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $2 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $2 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $2 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $2 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $3 - i32.const 1 - i32.shl - local.get $0 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $0 - local.get $1 - i32.add - local.get $2 - local.get $3 - call $~lib/util/number/utoa64_dec_lut - end - local.get $0 - if - local.get $1 - i32.const 45 - i32.store16 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - end - local.set $0 + i64.load $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $7 - i32.const 21 - i32.add - local.get $6 - i32.mul - i32.const 21 - i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $7 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $7 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $7 - 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 $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - local.get $4 - i32.lt_s - if + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $4 + local.get $2 local.get $0 local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.load $0 + call_indirect $0 (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 - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 - return + i32.const 1 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/number/itoa_buffered (type $i32_i64_=>_i32) (param $0 i32) (param $1 i64) (result i32) + (func $~lib/typedarray/Uint64Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $0 - local.set $2 - local.get $1 - i64.const 10 - i64.lt_u + (local $4 i64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $2 - local.get $1 - i64.const 48 - i64.or - i64.store16 $0 + i32.const 49120 + i32.const 49168 i32.const 1 - return + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $1 - i64.const 4294967295 - i64.le_u - if + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $5 + local.get $0 + i32.store $0 + local.get $5 local.get $1 - i32.wrap_i64 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if local.get $3 - i32.const 10000 - i32.ge_u + local.get $2 i32.const 3 + i32.shl i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.set $0 - local.get $2 - local.get $3 - local.get $0 - call $~lib/util/number/utoa32_dec_lut - else - local.get $2 - local.get $1 - local.get $1 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $1 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $1 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $1 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $1 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $1 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $1 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add + i64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $4 + local.get $2 + local.get $0 local.get $1 - i64.const 1000000000000000000 - i64.ge_u + i32.load $0 + call_indirect $0 (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.tee $0 - call $~lib/util/number/utoa64_dec_lut + i32.const 1 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/typedarray/Uint64Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - (local $4 i32) + (local $4 f32) (local $5 i32) - (local $6 i32) - (local $7 i64) - local.get $0 - i32.load $0 offset=4 - local.set $2 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 16 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $5 + local.get $0 i32.store $0 - block $__inlined_func$~lib/util/string/joinIntegerArray - local.get $0 - i32.const 1 - i32.sub - local.tee $3 - i32.const 0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $5 + loop $for-loop|0 + local.get $2 + local.get $5 i32.lt_s if - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + local.get $2 + i32.const 2 + i32.shl i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinIntegerArray - end - local.get $3 - i32.eqz - if - block $__inlined_func$~lib/util/number/utoa64 (result i32) - local.get $2 - i64.load $0 - local.set $7 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $7 - i64.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 8000 - br $__inlined_func$~lib/util/number/utoa64 - end - local.get $7 - i64.const 4294967295 - i64.le_u - if - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.wrap_i64 - local.tee $2 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 100 - i32.lt_u - if (result i32) - local.get $2 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $2 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $2 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $2 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $2 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $2 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $2 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $2 - local.get $1 - call $~lib/util/number/utoa32_dec_lut - else - global.get $~lib/memory/__stack_pointer - local.get $7 - i64.const 1000000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 1000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 100000000000 - i64.ge_u - i32.const 10 - i32.add - local.get $7 - i64.const 10000000000 - i64.ge_u - i32.add - else - local.get $7 - i64.const 100000000000000 - i64.ge_u - i32.const 13 - i32.add - local.get $7 - i64.const 10000000000000 - i64.ge_u - i32.add - end - else - local.get $7 - i64.const 100000000000000000 - i64.lt_u - if (result i32) - local.get $7 - i64.const 10000000000000000 - i64.ge_u - i32.const 16 - i32.add - else - local.get $7 - i64.const -8446744073709551616 - i64.ge_u - i32.const 18 - i32.add - local.get $7 - i64.const 1000000000000000000 - i64.ge_u - i32.add - end - end - local.tee $1 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $7 - local.get $1 - call $~lib/util/number/utoa64_dec_lut - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - end - local.set $0 + f32.load $0 + local.set $4 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $4 + local.get $2 + local.get $0 + local.get $1 + i32.load $0 + call_indirect $0 (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 - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $6 - i32.const 20 - i32.add - local.get $3 - i32.mul - i32.const 20 - i32.add - local.tee $4 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $5 - i32.gt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $2 - local.get $5 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $6 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $6 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $6 - i32.add - local.set $1 - end - local.get $5 - i32.const 1 - i32.add - local.set $5 - br $for-loop|0 - end + local.set $2 + br $for-loop|0 end - local.get $4 - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add + end + i32.const 1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#every (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) + (local $3 i32) + (local $4 f64) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i64.const 0 + i64.store $0 offset=8 + block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $5 + local.get $0 + i32.store $0 + local.get $5 + local.get $1 + i32.store $0 offset=4 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $5 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + loop $for-loop|0 local.get $2 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - call $~lib/util/number/itoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s + local.get $5 + i32.lt_s if + local.get $3 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + i32.const 0 + local.get $4 + local.get $2 local.get $0 local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.load $0 + call_indirect $0 (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 - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinIntegerArray + local.set $2 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 - return + i32.const 1 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/number/genDigits (type $i32_i64_i64_i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (param $2 i64) (param $3 i32) (param $4 i64) (param $5 i32) (result i32) - (local $6 i32) - (local $7 i32) - (local $8 i64) - (local $9 i64) - (local $10 i32) - (local $11 i64) - (local $12 i64) - local.get $2 - local.get $1 - i64.sub - local.set $9 - i64.const 1 + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 + i32.store $0 local.get $3 - i32.sub - local.tee $10 - i64.extend_i32_s - local.tee $1 - i64.shl - local.tee $12 - i64.const 1 - i64.sub - local.tee $11 - local.get $2 - i64.and - local.set $8 - local.get $2 + i32.const 7152 + i32.store $0 + local.get $0 + i32.const 255 + i32.and + i32.const 7152 local.get $1 - i64.shr_u - i32.wrap_i64 - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end + call $~lib/array/Array#__get + i32.const 255 + i32.and + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.set $7 - loop $while-continue|0 - local.get $7 + global.get $std/typedarray/forEachCallCount + local.get $1 + i32.ne + if 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 $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 $3 - i32.const 1000000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 100000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 10000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 1000000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100000 - i32.div_u - local.set $6 - local.get $3 - i32.const 100000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10000 - i32.div_u - local.set $6 - local.get $3 - i32.const 10000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 1000 - i32.div_u - local.set $6 - local.get $3 - i32.const 1000 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 100 - i32.div_u - local.set $6 - local.get $3 - i32.const 100 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - i32.const 10 - i32.div_u - local.set $6 - local.get $3 - i32.const 10 - i32.rem_u - local.set $3 - br $break|1 - end - local.get $3 - local.set $6 - i32.const 0 - local.set $3 - br $break|1 - end - i32.const 0 - local.set $6 - end - local.get $5 - local.get $6 - i32.or - if - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $6 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 $0 - 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 $3 - i64.extend_i32_u - local.get $10 - i64.extend_i32_s - i64.shl - local.get $8 - i64.add - local.tee $1 - i64.ge_u - if - global.get $~lib/util/number/_K - local.get $7 - i32.add - global.set $~lib/util/number/_K - local.get $7 - i32.const 2 - i32.shl - i32.const 10736 - i32.add - i64.load32_u $0 - local.get $10 - i64.extend_i32_s - i64.shl - local.set $2 - local.get $0 - local.get $5 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.load16_u $0 - local.set $7 - loop $while-continue|3 - local.get $1 - local.get $9 - i64.lt_u - local.get $4 - local.get $1 - i64.sub - local.get $2 - i64.ge_u - i32.and - if (result i32) - local.get $9 - local.get $1 - local.get $2 - i64.add - local.tee $8 - i64.gt_u - local.get $9 - local.get $1 - i64.sub - local.get $8 - local.get $9 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $1 - local.get $2 - i64.add - local.set $1 - br $while-continue|3 - end - end - local.get $0 - local.get $7 - i32.store16 $0 - local.get $5 - return - end - br $while-continue|0 - end + i32.const 1568 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable end - loop $while-continue|4 - local.get $4 - i64.const 10 - i64.mul - local.set $4 - local.get $8 - i64.const 10 - i64.mul - local.tee $1 - local.get $10 - i64.extend_i32_s - i64.shr_u - local.tee $2 - local.get $5 - i64.extend_i32_s - i64.or - i64.const 0 - i64.ne - if - local.get $0 - local.get $5 - i32.const 1 - i32.shl - i32.add - local.get $2 - i32.wrap_i64 - i32.const 65535 - i32.and - i32.const 48 - i32.add - i32.store16 $0 - 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 $1 - local.get $11 - i64.and - local.tee $8 - local.get $4 - i64.ge_u - br_if $while-continue|4 + local.get $2 + global.get $std/typedarray/forEachSelf + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 538 + i32.const 5 + call $~lib/builtins/abort + unreachable end - global.get $~lib/util/number/_K - local.get $7 - i32.add - global.set $~lib/util/number/_K - local.get $9 - i32.const 0 - local.get $7 - i32.sub - i32.const 2 - i32.shl - i32.const 10736 - i32.add - i64.load32_u $0 - i64.mul - local.set $1 - local.get $0 - local.get $5 - i32.const 1 - i32.sub + global.get $std/typedarray/forEachCallCount i32.const 1 - i32.shl i32.add - local.tee $0 - i32.load16_u $0 - local.set $7 - loop $while-continue|6 - local.get $1 - local.get $8 - i64.gt_u - local.get $4 - local.get $8 - i64.sub - local.get $12 - i64.ge_u - i32.and - if (result i32) - local.get $1 - local.get $8 - local.get $12 - i64.add - local.tee $2 - i64.gt_u - local.get $1 - local.get $8 - i64.sub - local.get $2 - local.get $1 - i64.sub - i64.gt_u - i32.or - else - i32.const 0 - end - if - local.get $7 - i32.const 1 - i32.sub - local.set $7 - local.get $8 - local.get $12 - i64.add - local.set $8 - br $while-continue|6 - end - end - local.get $0 - local.get $7 - i32.store16 $0 - local.get $5 + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer ) - (func $~lib/util/number/prettify (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8Array#forEach (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) (local $3 i32) (local $4 i32) - local.get $2 - i32.eqz + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $0 - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shl - i32.add - i32.const 3145774 - i32.store $0 - local.get $1 - i32.const 2 - i32.add - return + i32.const 1 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + local.get $4 + local.get $0 + i32.store $0 + local.get $4 local.get $1 - local.get $2 - i32.add - local.tee $3 - i32.const 21 - i32.le_s - local.get $1 - local.get $3 - i32.le_s - i32.and - 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 $0 - 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 $0 - local.get $3 - i32.const 2 - i32.add - else - local.get $3 - i32.const 21 - i32.le_s - local.get $3 - i32.const 0 - i32.gt_s - i32.and - if (result i32) - local.get $0 + i32.store $0 offset=4 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $4 + loop $for-loop|0 + local.get $2 + local.get $4 + i32.lt_s + if + local.get $2 local.get $3 - i32.const 1 - i32.shl - i32.add - local.tee $0 - i32.const 2 i32.add + i32.load8_u $0 + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 local.get $2 - i32.sub - i32.const 1 - i32.shl - memory.copy $0 $0 local.get $0 - i32.const 46 - i32.store16 $0 local.get $1 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $2 i32.const 1 i32.add - else - local.get $3 - i32.const 0 - i32.le_s - local.get $3 - i32.const -6 - i32.gt_s - i32.and - 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 - memory.copy $0 $0 - local.get $0 - i32.const 3014704 - i32.store $0 - 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 $0 - 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 - local.get $0 - i32.const 101 - i32.store16 $0 offset=2 - local.get $0 - i32.const 4 - i32.add - local.tee $2 - 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 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end - end - i32.const 1 - i32.add - local.tee $1 - call $~lib/util/number/utoa32_dec_lut - local.get $2 - i32.const 45 - i32.const 43 - local.get $3 - select - i32.store16 $0 - 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 - memory.copy $0 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - local.get $2 - i32.add - local.tee $0 - i32.const 101 - i32.store16 $0 offset=2 - local.get $0 - i32.const 4 - i32.add - local.tee $4 - 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 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 100 - i32.lt_u - if (result i32) - local.get $0 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - 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 - end - else - local.get $0 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $0 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - 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 - end - end - i32.const 1 - i32.add - local.tee $0 - call $~lib/util/number/utoa32_dec_lut - local.get $4 - i32.const 45 - i32.const 43 - local.get $2 - select - i32.store16 $0 - local.get $0 - local.get $1 - i32.add - local.set $1 - end - local.get $1 - i32.const 2 - i32.add - end + 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 ) - (func $~lib/util/number/dtoa_core (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) - (local $2 i64) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i64) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 i64) - (local $11 i64) - (local $12 i64) - (local $13 i64) - (local $14 i64) - (local $15 i64) - local.get $1 - f64.const 0 - f64.lt + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.tee $3 - if (result f64) - local.get $0 - i32.const 45 - i32.store16 $0 - local.get $1 - f64.neg - else - local.get $1 + i32.const 0 + i32.store $0 + local.get $3 + i32.const 7152 + i32.store $0 + local.get $0 + i32.const 65535 + i32.and + i32.const 7152 + local.get $1 + call $~lib/array/Array#__get + i32.const 65535 + i32.and + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable end - i64.reinterpret_f64 - local.tee $2 - i64.const 9218868437227405312 - i64.and - i64.const 52 - i64.shr_u - i32.wrap_i64 - local.tee $7 - i32.const 1 - local.get $7 - select - i32.const 1075 - i32.sub - local.tee $8 + global.get $std/typedarray/forEachCallCount + local.get $1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 537 + 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 538 + 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>~anonymous|0 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - local.get $2 - i64.const 4503599627370495 - i64.and - local.get $7 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 + i32.store $0 + local.get $3 + i32.const 7152 + i32.store $0 + i32.const 7152 + local.get $1 + call $~lib/array/Array#__get + local.get $0 i32.ne - i64.extend_i32_u - i64.const 52 - i64.shl - i64.add - local.tee $2 - i64.const 1 - i64.shl - i64.const 1 - i64.add - local.tee $4 - i64.clz - i32.wrap_i64 - local.tee $7 - i32.sub - local.set $9 - local.get $4 - local.get $7 - i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_plus - local.get $2 + if + i32.const 0 + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount + local.get $1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $2 - i64.const 4503599627370496 - i64.eq + global.get $std/typedarray/forEachSelf + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 538 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount i32.const 1 i32.add - local.tee $7 - i64.extend_i32_s - i64.shl - i64.const 1 - i64.sub - local.get $8 - local.get $7 - i32.sub - local.get $9 + 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 (type $i64_i32_i32_=>_none) (param $0 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + i32.const 7152 + i32.store $0 + i32.const 7152 + local.get $1 + call $~lib/array/Array#__get i64.extend_i32_s - i64.shl - global.set $~lib/util/number/_frc_minus - local.get $9 - global.set $~lib/util/number/_exp - i32.const 348 - i32.const -61 - global.get $~lib/util/number/_exp - local.tee $7 - i32.sub - f64.convert_i32_s - f64.const 0.30102999566398114 - f64.mul - f64.const 347 - f64.add - local.tee $1 - i32.trunc_sat_f64_s - local.tee $8 - local.get $8 - f64.convert_i32_s + local.get $0 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount local.get $1 - f64.ne - i32.add - i32.const 3 - i32.shr_s - i32.const 1 - i32.add - local.tee $8 - i32.const 3 - i32.shl - local.tee $9 - i32.sub - global.set $~lib/util/number/_K - local.get $9 - i32.const 9864 - i32.add - i64.load $0 - global.set $~lib/util/number/_frc_pow - local.get $8 - i32.const 1 - i32.shl - i32.const 10560 - i32.add - i32.load16_s $0 - global.set $~lib/util/number/_exp_pow - local.get $2 - local.get $2 - i64.clz - i64.shl - local.tee $2 - i64.const 4294967295 - i64.and - local.set $5 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $4 - global.get $~lib/util/number/_frc_pow - local.tee $10 - i64.const 4294967295 - i64.and - local.tee $11 - i64.mul - local.get $5 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $12 - global.get $~lib/util/number/_frc_plus - local.tee $2 - i64.const 4294967295 - i64.and - local.set $13 - local.get $11 - local.get $2 - i64.const 32 - i64.shr_u - local.tee $6 - i64.mul - local.get $11 - local.get $13 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $14 - global.get $~lib/util/number/_frc_minus - local.tee $15 - i64.const 4294967295 - i64.and - local.set $2 - local.get $11 - local.get $15 - i64.const 32 - i64.shr_u - local.tee $15 - i64.mul + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort + unreachable + end local.get $2 - local.get $11 - i64.mul - i64.const 32 - i64.shr_u - i64.add - local.set $11 - local.get $10 - i64.const 32 - i64.shr_u - local.tee $10 - local.get $6 - i64.mul - local.get $14 - i64.const 32 - i64.shr_u - i64.add - local.get $10 - local.get $13 - i64.mul - local.get $14 - 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 $6 - local.get $0 - local.get $3 + global.get $std/typedarray/forEachSelf + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 538 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $std/typedarray/forEachCallCount i32.const 1 - i32.shl i32.add - local.get $0 - local.get $4 - local.get $10 - i64.mul - local.get $12 - i64.const 32 - i64.shr_u - i64.add - local.get $5 - local.get $10 - i64.mul - local.get $12 - i64.const 4294967295 - i64.and - i64.add - i64.const 2147483647 - i64.add - i64.const 32 - i64.shr_u - i64.add - local.get $6 - local.get $7 - global.get $~lib/util/number/_exp_pow + global.set $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - i32.const -64 - i32.sub - local.get $6 - local.get $10 - local.get $15 - i64.mul - local.get $11 - i64.const 32 - i64.shr_u - i64.add - local.get $2 - local.get $10 - i64.mul - local.get $11 - 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 $3 - call $~lib/util/number/genDigits - local.get $3 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_i32_i32_=>_none) (param $0 f32) (param $1 i32) (param $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.sub - global.get $~lib/util/number/_K - call $~lib/util/number/prettify + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 local.get $3 - i32.add - ) - (func $~lib/util/number/dtoa_buffered (type $i32_f64_=>_i32) (param $0 i32) (param $1 f64) (result i32) - (local $2 i32) + i32.const 7152 + i32.store $0 + i32.const 7152 local.get $1 - f64.const 0 - f64.eq + call $~lib/array/Array#__get + f32.convert_i32_s + local.get $0 + f32.ne if - local.get $0 - i32.const 48 - i32.store16 $0 - local.get $0 - i32.const 46 - i32.store16 $0 offset=2 - local.get $0 - i32.const 48 - i32.store16 $0 offset=4 - i32.const 3 - return + i32.const 0 + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable end + global.get $std/typedarray/forEachCallCount local.get $1 - local.get $1 - f64.sub - f64.const 0 - f64.ne + i32.ne if - local.get $1 - local.get $1 - f64.ne - if - local.get $0 - i32.const 78 - i32.store16 $0 - local.get $0 - i32.const 97 - i32.store16 $0 offset=2 - local.get $0 - i32.const 78 - i32.store16 $0 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 $0 - local.get $0 - i32.const 2 - i32.add - local.set $0 - end - local.get $0 - i64.const 29555310648492105 - i64.store $0 - local.get $0 - i64.const 34058970405077102 - i64.store $0 offset=8 - local.get $2 - i32.const 8 - i32.add - return - end + i32.const 0 + i32.const 1568 + i32.const 537 + i32.const 5 + call $~lib/builtins/abort unreachable end - local.get $0 - local.get $1 - call $~lib/util/number/dtoa_core + local.get $2 + global.get $std/typedarray/forEachSelf + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 538 + 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/Float32Array#join (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - (local $2 i32) + (func $std/typedarray/testArrayForEach<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_i32_i32_=>_none) (param $0 f64) (param $1 i32) (param $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26115,153 +24118,66 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 - i32.const 1 - i32.sub - local.tee $6 + local.get $3 + i32.const 7152 + i32.store $0 + i32.const 7152 + local.get $1 + call $~lib/array/Array#__get + f64.convert_i32_s + local.get $0 + f64.ne + if 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 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray - end - local.get $6 - i32.eqz - if - local.get $5 - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - local.get $6 - i32.mul - i32.const 28 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.set $1 - local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - 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 $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f64.promote_f32 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s - if - local.get $0 - local.get $1 - call $~lib/string/String#substring - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 1568 + i32.const 536 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $std/typedarray/forEachCallCount + local.get $1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 537 + 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 538 + 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/Float64Array#join (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) - (local $3 i32) + (local $3 i64) (local $4 i32) (local $5 i32) (local $6 i32) - local.get $0 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 + (local $7 i32) + (local $8 i64) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -26278,157 +24194,376 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 0 i32.store $0 - block $__inlined_func$~lib/util/string/joinFloatArray - local.get $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.tee $4 + i32.const 1 + i32.gt_u + if + local.get $4 i32.const 1 + i32.shr_u + local.set $5 + local.get $4 + i32.const 8 i32.sub - local.tee $6 - i32.const 0 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.set $6 + loop $while-continue|0 + local.get $1 + i32.const 7 i32.add - global.set $~lib/memory/__stack_pointer - i32.const 7776 - local.set $0 - br $__inlined_func$~lib/util/string/joinFloatArray - end - local.get $6 - i32.eqz - if local.get $5 - f64.load $0 - call $~lib/util/number/dtoa - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray - end - global.get $~lib/memory/__stack_pointer - i32.const 9580 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 28 - i32.add - local.get $6 - i32.mul - i32.const 28 - i32.add - local.tee $2 - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - loop $for-loop|0 - local.get $3 - local.get $6 - i32.lt_s + i32.lt_u if - local.get $0 local.get $1 - i32.const 1 - i32.shl + local.get $2 i32.add - local.get $5 + local.tee $7 + i64.load $0 + local.tee $3 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and local.get $3 - i32.const 3 - i32.shl + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.set $3 + local.get $7 + local.get $2 + local.get $6 i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered local.get $1 + i32.sub + local.tee $7 + i64.load $0 + local.tee $8 + i64.const 8 + i64.shr_u + i64.const 71777214294589695 + i64.and + local.get $8 + i64.const 71777214294589695 + i64.and + i64.const 8 + i64.shl + i64.or + local.tee $8 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $8 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + i64.store $0 + local.get $7 + local.get $3 + i64.const 16 + i64.shr_u + i64.const 281470681808895 + i64.and + local.get $3 + i64.const 281470681808895 + i64.and + i64.const 16 + i64.shl + i64.or + i64.const 32 + i64.rotr + i64.store $0 + local.get $1 + i32.const 8 i32.add local.set $1 + br $while-continue|0 + end + end + local.get $4 + i32.const 1 + i32.sub + local.set $4 + loop $while-continue|1 + local.get $1 + local.get $5 + i32.lt_u + if + local.get $1 + local.get $2 + i32.add + local.tee $6 + i32.load8_u $0 + local.set $7 + local.get $6 + local.get $2 local.get $4 - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.const 9584 - local.get $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $1 - local.get $4 - i32.add - local.set $1 - end - local.get $3 + local.get $1 + i32.sub + i32.add + local.tee $6 + i32.load8_u $0 + i32.store8 $0 + local.get $6 + local.get $7 + i32.store8 $0 + local.get $1 i32.const 1 i32.add - local.set $3 - br $for-loop|0 + local.set $1 + br $while-continue|1 end end - local.get $2 - local.get $0 - local.get $1 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i32.shl - i32.add - local.get $5 - local.get $6 - i32.const 3 - i32.shl - i32.add - f64.load $0 - call $~lib/util/number/dtoa_buffered - local.get $1 - i32.add - local.tee $1 - i32.gt_s + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store $0 offset=12 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 + local.get $0 + i32.const 7616 local.get $0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer local.get $1 - call $~lib/string/String#substring - local.set $0 + i32.store $0 offset=4 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + local.get $0 + i32.const 1 i32.add - global.set $~lib/memory/__stack_pointer - br $__inlined_func$~lib/util/string/joinFloatArray + local.set $0 + br $for-loop|0 end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer end - local.get $0 - ) - (func $~lib/typedarray/Uint8Array.wrap@varargs (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) - block $2of2 - block $1of2 - block $0of2 - block $outOfRange - global.get $~argumentsLength - i32.const 1 - i32.sub - br_table $0of2 $1of2 $2of2 $outOfRange - end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + 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 $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/typedarray/Int8Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + local.get $3 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.extend8_s + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort unreachable end - i32.const 0 - local.set $1 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end - i32.const -1 - local.set $2 end global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=16 + local.get $1 i32.const 4 + i32.const 8 + call $~lib/typedarray/Int8Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/Uint8Array#subarray (type $i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -26443,11715 +24578,9800 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 + local.get $2 local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 local.get $1 - i32.lt_u - if - i32.const 1360 - i32.const 1632 - i32.const 1860 - 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 1869 - i32.const 7 - call $~lib/builtins/abort - unreachable - end - local.set $2 - else + if (result i32) local.get $1 - local.get $2 - i32.add local.get $3 + i32.add + local.tee $1 + i32.const 0 + local.get $1 + i32.const 0 i32.gt_s - if - i32.const 1056 - i32.const 1632 - i32.const 1874 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + select + else + local.get $1 + local.get $3 + local.get $1 + local.get $3 + i32.lt_s + select end + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + local.set $1 global.get $~lib/memory/__stack_pointer i32.const 12 i32.const 5 call $~lib/rt/itcms/__new local.tee $3 - i32.store $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $3 local.get $0 + i32.load $0 + local.tee $4 i32.store $0 - local.get $0 + local.get $4 if local.get $3 - local.get $0 + local.get $4 call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 local.get $3 local.get $2 - i32.store $0 offset=8 - local.get $3 local.get $0 - local.get $1 + i32.load $0 offset=4 i32.add i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.store $0 offset=8 + local.get $4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 11020 - i32.load $0 - local.tee $2 - local.get $0 - i32.load $0 offset=8 - i32.gt_s + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load $0 offset=4 - local.set $0 - i32.const 11012 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store $0 offset=12 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.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 local.get $0 + i32.const 7616 + 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 $1 - i32.add - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store8 $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 local.get $1 + local.get $0 + i32.const 7616 + 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 $1 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.load $0 offset=8 - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.const 6 - i32.add - i32.lt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - i32.const 6 - i32.add + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop + i32.const 0 local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 + loop $for-loop|1 + local.get $0 local.get $3 i32.lt_s if - local.get $0 - local.get $2 - i32.add - local.get $1 + global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store8 $0 + i32.store $0 offset=4 local.get $2 + local.get $0 + call $~lib/typedarray/Uint8Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + local.get $3 + 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $2 - br $for-loop|0 + local.set $0 + br $for-loop|1 end end - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - i32.load $0 offset=8 - local.tee $2 + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Uint8Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - i32.gt_s + local.get $1 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#__get + i32.const 8 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.get $1 - i32.load $0 offset=4 - local.get $2 - memory.copy $0 $0 - ) - (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - local.get $1 - i32.load $0 offset=8 i32.const 1 - i32.shr_u - local.tee $3 - i32.const 4 - i32.add - i32.lt_s + call $~lib/typedarray/Uint8Array#__get + i32.const 7 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.const 4 - i32.add - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.add - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - i32.store8 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end - ) - (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) - (local $1 i32) + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - i32.const 11276 - i32.load $0 - local.tee $1 - i32.const 7 - i32.add - i32.lt_s + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 6 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.const 7 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - i32.const 11268 - i32.load $0 - local.get $1 - memory.copy $0 $0 + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (func $~lib/typedarray/Uint8ClampedArray#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $4 + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 + local.get $1 i32.const 0 i32.lt_s if (result i32) - i32.const 1 - else - local.get $0 - i32.load $0 offset=8 - local.get $2 - local.get $4 + 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 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $2 local.get $0 i32.load $0 offset=4 + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $1 local.get $2 + i32.sub + i32.store $0 offset=8 + local.get $4 + i32.const 12 i32.add - local.set $0 + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 local.get $1 - i32.load $0 offset=4 - local.set $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store $0 offset=12 loop $for-loop|0 + local.get $0 local.get $3 - local.get $4 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 local.get $0 - local.get $3 - i32.add + i32.const 7616 + 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 $1 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.tee $5 - i32.wrap_i64 - local.tee $2 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i64.extend_i32_s + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get i32.const 255 - local.get $2 - i32.sub - i32.const 31 - i32.shr_s - i64.extend_i32_s - local.get $5 - i64.or - i64.and - i64.store8 $0 - local.get $3 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $0 i32.const 1 i32.add - local.set $3 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - (local $4 i32) - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 + call $~lib/typedarray/Int8Array#reverse + drop i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else + local.set $0 + loop $for-loop|1 local.get $0 - i32.load $0 offset=8 - local.get $2 - local.get $4 - i32.add - i32.lt_s - end - if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.add - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $3 - local.get $4 + local.get $3 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $3 - i32.add - local.get $1 + call $~lib/typedarray/Uint8ClampedArray#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 local.get $3 i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.tee $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 + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.const 255 i32.and - i32.store8 $0 - local.get $3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $3 - br $for-loop|0 + local.set $0 + br $for-loop|1 end end - ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 11020 - i32.load $0 - local.tee $2 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int8Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 i32.const 1 - i32.shr_u - i32.gt_s + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 7 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.set $0 - i32.const 11012 - i32.load $0 - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.store16 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 578 + 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/Int16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.const 6 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - i32.const 12 - i32.add - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.tee $3 + i32.const 1 + i32.gt_u + if local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add + i32.const 1 + i32.shr_u + local.set $4 + local.get $3 + i32.const 2 + i32.sub + local.set $5 + loop $while-continue|0 local.get $1 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store16 $0 - local.get $2 i32.const 1 i32.add - local.set $2 - br $for-loop|0 + local.get $4 + i32.lt_u + if + local.get $2 + local.get $5 + local.get $1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $6 + i32.load $0 + i32.const 16 + i32.rotr + local.set $7 + local.get $6 + local.get $2 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $6 + i32.load $0 + i32.const 16 + i32.rotr + i32.store $0 + local.get $6 + local.get $7 + i32.store $0 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|0 + end + end + local.get $3 + i32.const 1 + i32.sub + local.set $3 + loop $while-continue|1 + local.get $1 + local.get $4 + i32.lt_u + if + local.get $2 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.tee $5 + i32.load16_u $0 + local.set $6 + local.get $5 + local.get $2 + local.get $3 + local.get $1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.tee $5 + i32.load16_u $0 + i32.store16 $0 + local.get $5 + local.get $6 + i32.store16 $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|1 + end end end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int16Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $1 - i32.load $0 offset=8 - local.tee $3 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s + (local $4 i32) + 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 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 + 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 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + select end - ) - (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + local.tee $1 + local.get $2 local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $2 - i32.const 4 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u + local.get $2 i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 7 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 local.get $0 i32.load $0 offset=4 - i32.const 8 + local.get $2 + i32.const 1 + i32.shl i32.add + i32.store $0 offset=4 + local.get $3 local.get $1 - i32.load $0 offset=4 local.get $2 + i32.sub i32.const 1 i32.shl - memory.copy $0 $0 + i32.store $0 offset=8 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 11276 - i32.load $0 - local.tee $2 - i32.const 7 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load $0 offset=4 - i32.const 14 - i32.add - local.set $0 - i32.const 11268 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store $0 offset=12 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.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - i32.store16 $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 local.get $1 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + i32.extend16_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 - ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - local.get $1 - i32.load $0 offset=12 - local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop i32.const 0 - i32.lt_s - if (result i32) - i32.const 1 - else - local.get $2 - local.get $3 - i32.add + local.set $0 + loop $for-loop|1 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/typedarray/Int16Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + local.get $3 + i32.const 1 + i32.sub + local.get $0 + i32.sub + call $~lib/array/Array#__get + i32.extend16_s + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + 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.tee $0 + local.get $1 + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Int16Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#__get + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 7 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - i32.load $0 offset=4 - local.get $3 - i32.const 2 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.const 6 - i32.add + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 i32.const 2 - i32.shr_u - i32.gt_s + call $~lib/typedarray/Int16Array#__get + i32.const 6 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer i32.const 24 i32.add - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - i64.store32 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Uint16Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) (local $3 i32) - local.get $1 - i32.load $0 offset=8 - local.tee $3 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + (local $4 i32) + 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 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 local.get $0 - i32.load $0 offset=4 - local.set $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 + 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 - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + select end - ) - (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) + local.tee $1 + local.get $2 local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u + local.get $2 + i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new local.tee $3 - i32.const 4 - i32.add + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 local.get $0 i32.load $0 offset=4 - i32.const 16 + local.get $2 + i32.const 1 + i32.shl i32.add - local.set $0 + i32.store $0 offset=4 + local.get $3 local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end - end + local.get $2 + i32.sub + i32.const 1 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 11276 - i32.load $0 - local.tee $2 - i32.const 7 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load $0 offset=4 - i32.const 28 - i32.add - local.set $0 - i32.const 11268 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store $0 offset=12 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.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 local.get $0 + i32.const 7616 + 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 $1 - i32.const 2 - i32.shl - i32.add - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - i32.store $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 local.get $1 + local.get $0 + i32.const 7616 + 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 $1 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - i32.const 11020 - i32.load $0 - local.tee $2 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - local.get $0 - i32.load $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int16Array#reverse + drop + i32.const 0 local.set $0 - i32.const 11012 - i32.load $0 - local.set $3 - loop $for-loop|0 - local.get $1 - local.get $2 + loop $for-loop|1 + local.get $0 + local.get $3 i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add + call $~lib/typedarray/Uint16Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i64.load32_s $0 - i64.store $0 - 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $1 - br $for-loop|0 + local.set $0 + br $for-loop|1 end end - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.const 6 - i32.add + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Uint16Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s + local.get $1 + call $~lib/typedarray/Int16Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 8 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - i32.const 48 - i32.add - local.get $1 - i32.load $0 offset=4 - local.get $2 - i32.const 3 - i32.shl - memory.copy $0 $0 - ) - (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - local.get $1 - i32.load $0 offset=8 - local.tee $3 + i32.store $0 offset=4 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 7 + i32.ne if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.get $1 - local.get $2 - i32.add - i64.load8_u $0 - i64.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 - end + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/Int64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) - local.get $1 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + (local $4 i32) + (local $5 i32) + (local $6 i32) + global.get $~lib/memory/__stack_pointer i32.const 4 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 - i32.const 32 - i32.add - local.set $0 - local.get $1 - i32.load $0 offset=4 - local.set $1 - loop $for-loop|0 - local.get $2 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.const 1 + i32.gt_u + if local.get $3 - i32.lt_s - if - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add + i32.const 1 + i32.shr_u + local.set $4 + local.get $3 + i32.const 1 + i32.sub + local.set $5 + loop $while-continue|0 local.get $1 - local.get $2 - i32.const 1 - i32.shl - i32.add - i64.load16_s $0 - i64.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + local.get $4 + i32.lt_u + if + local.get $2 + local.get $1 + i32.const 2 + i32.shl + i32.add + local.tee $6 + i32.load $0 + local.set $3 + local.get $6 + local.get $2 + local.get $5 + local.get $1 + i32.sub + i32.const 2 + i32.shl + i32.add + local.tee $6 + i32.load $0 + i32.store $0 + local.get $6 + local.get $3 + i32.store $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $while-continue|0 + end end end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_=>_none) (param $0 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - i32.const 11276 - i32.load $0 - local.tee $2 - i32.const 7 - i32.add - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s + (local $4 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable end - local.get $0 - i32.load $0 offset=4 - i32.const 56 - i32.add - local.set $0 - i32.const 11268 - i32.load $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int32Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store $0 offset=12 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.tee $4 + local.get $2 + i32.store $0 offset=4 + local.get $4 + i32.const 7616 + i32.store $0 offset=16 + local.get $2 local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $1 - local.get $3 - i32.add - i64.load8_s $0 - i64.store $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 local.get $1 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 i32.const 1 i32.add - local.set $1 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 + global.get $~lib/memory/__stack_pointer local.get $2 - local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $5 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int32Array#reverse + drop + 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 $2 + i32.store $0 offset=4 + local.get $2 local.get $0 - local.get $7 - i32.add - local.tee $3 - i32.load8_s $0 offset=1 - local.tee $6 - local.set $5 - local.get $3 - i32.load8_s $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength + call $~lib/typedarray/Int32Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 i32.const 1 i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.add - i32.load8_s $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.add - local.get $8 - i32.store8 $0 offset=2 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end + local.get $0 + i32.sub + call $~lib/array/Array#__get + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $0 - local.get $6 + i32.const 1 i32.add - local.get $3 - i32.store8 $0 offset=2 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.add - i32.load8_s $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.add - local.get $3 - i32.store8 $0 offset=1 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end - local.get $0 - local.get $6 - i32.add - local.get $5 - i32.store8 $0 offset=1 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 + local.set $0 + br $for-loop|1 end end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=16 + local.get $1 + i32.const 4 + i32.const 8 + call $~lib/typedarray/Int32Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#__get + i32.const 8 + i32.ne if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 - local.get $1 - i32.add - i32.load8_s $0 - local.set $5 - local.get $1 i32.const 1 - i32.add - local.tee $4 + call $~lib/typedarray/Int32Array#__get + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 - i32.add - i32.load8_s $0 - local.set $6 i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 + call $~lib/typedarray/Int32Array#__get + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#__get + i32.const 5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/Uint32Array#subarray (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 4 + i32.gt_s + select + local.set $2 + 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 + local.get $2 + local.get $1 + local.get $2 i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 10 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.add - local.tee $5 - i32.load8_s $0 offset=1 - local.set $6 - local.get $5 - i32.load8_s $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end + local.get $3 local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.add - local.tee $3 - i32.load8_s $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.add - local.tee $3 - i32.load8_s $0 - i32.store8 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store8 $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.add - local.tee $1 - i32.load8_s $0 offset=1 - local.set $5 - local.get $1 - i32.load8_s $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end + call $byn-split-outlined-A$~lib/rt/itcms/__link end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 local.get $4 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (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 - local.tee $6 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store $0 offset=12 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.tee $4 local.get $2 - i32.const 1 - i32.sub - local.tee $2 + i32.store $0 offset=4 local.get $4 - i32.add - local.get $0 + i32.const 7616 + i32.store $0 offset=16 local.get $2 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + local.get $0 + i32.const 1 i32.add - i32.load8_s $0 - i32.store8 $0 + local.set $0 br $for-loop|0 end end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/typedarray/Int32Array#reverse + drop + i32.const 0 + local.set $0 loop $for-loop|1 + local.get $0 local.get $3 - local.get $6 - i32.gt_s + i32.lt_s if - local.get $4 - local.get $7 - local.get $6 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + local.get $3 + i32.const 1 i32.sub - i32.add local.get $0 - local.get $6 - i32.add - i32.load8_s $0 offset=1 - i32.store8 $0 - local.get $6 + i32.sub + call $~lib/array/Array#__get + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|1 end end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.add - i32.load8_s $0 - local.set $8 - local.get $2 - local.get $4 - i32.add - i32.load8_s $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $7 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.add - local.get $8 - i32.store8 $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.add - local.get $7 - i32.store8 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Uint32Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int32Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 7 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 6 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 578 + 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/util/sort/SORT (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $~lib/typedarray/Int64Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (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 i32) - (local $12 i32) - (local $13 i64) - local.get $1 - i32.const 48 - i32.le_s + 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 16320 + i32.lt_s if - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $4 + i32.const 1 + i32.gt_u + if + local.get $4 + i32.const 1 + i32.shr_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + loop $while-continue|0 + local.get $1 + local.get $5 + i32.lt_u + if + local.get $2 local.get $1 i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load8_s $0 - local.set $5 - local.get $0 - i32.load8_s $0 offset=1 + i32.shl + i32.add + local.tee $6 + i64.load $0 local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $5 - local.get $5 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i32.store8 $0 - local.get $0 - i32.load8_s $0 offset=2 - local.set $4 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $3 - local.get $1 - select - local.tee $3 - local.get $4 + local.get $6 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 local.get $4 - local.get $3 local.get $1 - select - i32.store8 $0 offset=1 - local.get $0 + i32.sub + i32.const 3 + i32.shl + i32.add + local.tee $6 + i64.load $0 + i64.store $0 + local.get $6 local.get $3 - local.get $4 + i64.store $0 local.get $1 - select - i32.store8 $0 offset=2 + i32.const 1 + i32.add + local.set $1 + br $while-continue|0 end - local.get $0 - i32.load8_s $0 - local.set $4 - local.get $0 - i32.load8_s $0 offset=1 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $4 - local.get $4 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i32.store8 $0 - local.get $0 - local.get $4 - local.get $3 - local.get $1 - select - i32.store8 $0 offset=1 - return end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return end - i32.const 33 - local.get $1 - i32.clz + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#subarray (type $i32_i32_=>_i32) (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 - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - call $~lib/rt/tlsf/initialize + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 + 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 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + local.tee $1 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 11 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 if - call $~lib/rt/tlsf/initialize + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 + global.get $~lib/memory/__stack_pointer + local.tee $4 local.get $0 - i32.const 0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 local.get $1 - i32.const 1 - i32.sub - local.tee $9 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - i32.const 1 + i32.sub + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 i32.add - local.tee $1 - i32.const 32 + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s if - local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $7 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - loop $while-continue|2 - local.get $7 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Int64Array#constructor + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 offset=12 + loop $for-loop|0 + local.get $0 + local.get $5 i32.lt_s if - local.get $0 - local.get $7 - i32.const 1 - i32.add - local.tee $5 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $4 + i32.store $0 offset=4 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - local.get $5 - i32.sub + i32.const 7616 + i32.store $0 offset=16 + local.get $4 + local.get $0 + i32.const 7616 + 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 $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + 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.tee $8 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $5 - local.get $9 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $6 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $5 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $7 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $7 - i32.store $0 - local.get $5 - local.set $3 - local.get $6 - local.set $7 - local.get $1 - local.set $4 - br $while-continue|2 + local.set $0 + br $for-loop|0 end end - loop $for-loop|4 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/typedarray/Int64Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $5 + i32.lt_s if - local.get $10 + global.get $~lib/memory/__stack_pointer local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end + i32.store $0 offset=4 local.get $4 + local.get $0 + call $~lib/typedarray/Int64Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $3 + i32.const 7616 + local.get $5 i32.const 1 i32.sub - local.set $4 - br $for-loop|4 + 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 570 + 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 $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.extend8_s + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - i32.extend8_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + i32.store $0 offset=16 local.get $1 - i32.extend8_s - local.tee $1 + i32.const 8 + call $~lib/typedarray/Int64Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.extend8_s + local.get $1 + call $~lib/typedarray/Int64Array#reverse local.tee $0 - i32.gt_s + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.gt_s - i32.sub + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 8 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 7 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#__get + i64.const 5 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + (func $~lib/typedarray/Uint64Array#subarray (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 + 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 + local.get $2 local.get $1 + local.get $2 + i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 offset=4 local.get $2 + i32.const 3 + i32.shl + i32.add + i32.store $0 offset=4 + local.get $3 local.get $1 + local.get $2 i32.sub - i32.const 1 + i32.const 3 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 i32.add - local.tee $5 + global.set $~lib/memory/__stack_pointer local.get $3 + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 i32) + (local $5 i32) + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.sub - i32.const 1 - i32.and - i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer local.get $5 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 + call $~lib/typedarray/Uint64Array#constructor + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store $0 offset=12 loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s + local.get $0 + local.get $5 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $4 + i32.store $0 offset=4 + local.get $2 + i32.const 7616 + i32.store $0 offset=16 + local.get $4 local.get $0 - local.get $7 + i32.const 7616 + 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 $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + 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.tee $3 - i32.load8_u $0 offset=1 - local.tee $6 - local.set $5 - local.get $3 - i32.load8_u $0 + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/typedarray/Int64Array#reverse + drop + i32.const 0 + local.set $0 + loop $for-loop|1 + local.get $0 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Uint64Array#__get local.set $3 - i32.const 2 - global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 + i32.const 7616 + local.get $5 i32.const 1 i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.add - i32.load8_u $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.add - local.get $8 - i32.store8 $0 offset=2 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end local.get $0 - local.get $6 - i32.add - local.get $3 - i32.store8 $0 offset=2 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.add - i32.load8_u $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.add - local.get $3 - i32.store8 $0 offset=1 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end + i32.sub + call $~lib/array/Array#__get + i64.extend_i32_s + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable end local.get $0 - local.get $6 - i32.add - local.get $5 - i32.store8 $0 offset=1 - local.get $7 - i32.const 2 + i32.const 1 i32.add - local.set $7 - br $for-loop|0 + local.set $0 + br $for-loop|1 end end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Uint64Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Int64Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 8 + i64.ne if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 - local.get $1 - i32.add - i32.load8_u $0 - local.set $5 - local.get $1 i32.const 1 - i32.add - local.tee $4 + call $~lib/typedarray/Uint64Array#__get + i64.const 7 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 - i32.add - i32.load8_u $0 - local.set $6 i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + call $~lib/typedarray/Uint64Array#__get + i64.const 6 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#__get + i64.const 5 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/Float32Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 i32.const 0 - i32.gt_s + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $4 + i32.const 1 + i32.gt_u if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.add - local.tee $5 - i32.load8_u $0 offset=1 - local.set $6 - local.get $5 - i32.load8_u $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end local.get $4 - local.set $2 - loop $while-continue|1 + i32.const 1 + i32.shr_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + loop $while-continue|0 local.get $1 - local.get $2 - i32.lt_s + local.get $5 + i32.lt_u if - local.get $0 - local.get $1 - i32.add - local.tee $3 - i32.load8_u $0 - local.set $5 - local.get $3 - local.get $0 local.get $2 - i32.add - local.tee $3 - i32.load8_u $0 - i32.store8 $0 local.get $1 - i32.const 1 + i32.const 2 + i32.shl i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store8 $0 + local.tee $6 + f32.load $0 + local.set $3 + local.get $6 local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 local.get $4 - i32.add - local.tee $1 - i32.load8_u $0 offset=1 - local.set $5 local.get $1 - i32.load8_u $0 - local.set $1 + i32.sub i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 + i32.shl + i32.add + local.tee $6 + f32.load $0 + f32.store $0 + local.get $6 local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 + f32.store $0 + local.get $1 i32.const 1 i32.add - local.set $4 - br $while-continue|2 + local.set $1 + br $while-continue|0 end end end - local.get $4 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 + (func $~lib/typedarray/Float32Array#subarray (type $i32_i32_=>_i32) (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 - local.tee $6 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + i32.const 4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + local.get $3 + i32.const 4 + i32.gt_s + select + local.set $2 + 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 + local.get $2 + local.get $1 + local.get $2 + i32.gt_s + select + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 13 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if + local.get $3 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=4 local.get $3 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl i32.add - local.set $7 - local.get $6 - i32.const 1 + i32.store $0 offset=4 + local.get $3 + local.get $1 + local.get $2 + i32.sub + i32.const 2 + i32.shl + i32.store $0 offset=8 + local.get $4 + i32.const 12 i32.add - local.set $2 + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Float32Array#constructor + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store $0 offset=12 loop $for-loop|0 - local.get $1 - local.get $2 + local.get $0 + local.get $5 i32.lt_s if - local.get $2 - i32.const 1 - i32.sub + global.get $~lib/memory/__stack_pointer local.tee $2 local.get $4 - i32.add - local.get $0 + i32.store $0 offset=4 local.get $2 + i32.const 7616 + i32.store $0 offset=16 + local.get $4 + local.get $0 + i32.const 7616 + 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 $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + 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 - i32.load8_u $0 - i32.store8 $0 + local.set $0 br $for-loop|0 end end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/typedarray/Float32Array#reverse + drop + i32.const 0 + local.set $0 loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s + local.get $0 + local.get $5 + i32.lt_s if + global.get $~lib/memory/__stack_pointer local.get $4 - local.get $7 - local.get $6 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Float32Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $3 + i32.const 7616 + local.get $5 + i32.const 1 i32.sub - i32.add local.get $0 - local.get $6 - i32.add - i32.load8_u $0 offset=1 - i32.store8 $0 - local.get $6 + i32.sub + call $~lib/array/Array#__get + f32.convert_i32_s + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $6 + local.set $0 br $for-loop|1 end end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.add - i32.load8_u $0 - local.set $8 - local.get $2 - local.get $4 - i32.add - i32.load8_u $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $7 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=16 + local.get $1 + i32.const 8 + call $~lib/typedarray/Float32Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + call $~lib/typedarray/Float32Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 575 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 7 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 6 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#__get + f32.const 5 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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/Float64Array#reverse (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) + (local $2 i32) + (local $3 f64) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $4 + i32.const 1 + i32.gt_u + if + local.get $4 + i32.const 1 + i32.shr_u + local.set $5 + local.get $4 + i32.const 1 + i32.sub + local.set $4 + loop $while-continue|0 + local.get $1 local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s + i32.lt_u if - local.get $0 + local.get $2 local.get $1 + i32.const 3 + i32.shl i32.add - local.get $8 - i32.store8 $0 + local.tee $6 + f64.load $0 + local.set $3 local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 + local.get $2 + local.get $4 local.get $1 + i32.sub + i32.const 3 + i32.shl i32.add - local.get $7 - i32.store8 $0 - local.get $2 + local.tee $6 + f64.load $0 + f64.store $0 + local.get $6 + local.get $3 + f64.store $0 + local.get $1 i32.const 1 i32.add - local.set $2 + local.set $1 + br $while-continue|0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) + (func $std/typedarray/testArrayReverse<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (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 i32) - (local $12 i32) - (local $13 i64) - local.get $1 - i32.const 48 - i32.le_s + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.le_s + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 7616 + i32.store $0 + local.get $1 + i32.const 7616 + i32.store $0 offset=4 + i32.const 7616 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Float64Array#constructor + local.tee $4 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store $0 offset=12 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load8_u $0 - local.set $5 - local.get $0 - i32.load8_u $0 offset=1 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $5 - local.get $5 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i32.store8 $0 - local.get $0 - i32.load8_u $0 offset=2 - local.set $4 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $3 - local.get $1 - select - local.tee $3 - local.get $4 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $4 - local.get $3 - local.get $1 - select - i32.store8 $0 offset=1 - local.get $0 - local.get $3 - local.get $4 - local.get $1 - select - i32.store8 $0 offset=2 - end - local.get $0 - i32.load8_u $0 - local.set $4 - local.get $0 - i32.load8_u $0 offset=1 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $4 - local.get $3 + i32.store $0 offset=4 local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i32.store8 $0 - local.get $0 + i32.const 7616 + i32.store $0 offset=16 local.get $4 - local.get $3 + local.get $0 + i32.const 7616 + 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 $1 - select - i32.store8 $0 offset=1 - return + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=16 + local.get $1 + local.get $0 + i32.const 7616 + 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 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return - end - i32.const 33 - local.get $1 - i32.clz - i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + call $~lib/typedarray/Float64Array#reverse + drop + i32.const 0 + local.set $0 loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u + local.get $0 + local.get $5 + i32.lt_s if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Float64Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 7616 + i32.store $0 offset=4 + local.get $3 + i32.const 7616 + local.get $5 + 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 570 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + local.get $0 i32.const 1 i32.add - local.set $8 + local.set $0 br $for-loop|1 end end - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=16 local.get $1 - call $~lib/rt/tlsf/allocateBlock i32.const 4 - i32.add - local.set $12 + i32.const 8 + call $~lib/typedarray/Float64Array#subarray + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $0 - i32.const 0 local.get $1 - i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + call $~lib/typedarray/Float64Array#reverse + local.tee $0 + i32.store $0 offset=20 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 8 + f64.ne if - local.get $0 i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $7 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 1568 + i32.const 575 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $while-continue|2 - local.get $7 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 7 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 576 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 6 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 577 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#__get + f64.const 5 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 578 + 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 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $2 + i32.const 0 i32.lt_s if - local.get $0 - local.get $7 - i32.const 1 - i32.add - local.tee $5 - local.get $9 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - local.get $5 - i32.sub - i32.const 1 + local.get $3 i32.add - local.tee $8 - i32.const 32 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $0 - local.get $5 - local.get $9 - local.get $5 - i32.const 31 + local.get $2 i32.add - local.tee $1 + i32.load8_u $0 local.get $1 - local.get $9 - i32.gt_s - select - local.tee $6 - local.get $8 + i32.const 255 + i32.and + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + drop local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $5 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $7 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $7 - i32.store $0 - local.get $5 - local.set $3 - local.get $6 - local.set $7 - local.get $1 - local.set $4 - br $while-continue|2 end + i32.const -1 end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int8Array#lastIndexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s if + local.get $2 local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 + local.get $2 i32.add - local.get $9 - local.get $12 + i32.load8_u $0 + local.get $1 + i32.const 255 + i32.and + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int8Array,i8>|inlined.0 + drop local.get $2 - call $~lib/util/sort/mergeRuns + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 end + i32.const -1 end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (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.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.lt_u - i32.sub ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 255 - i32.and - local.tee $1 + (func $~lib/typedarray/Int8Array#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $2 + end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 255 - i32.and - local.tee $0 - i32.gt_u + i32.store $0 local.get $0 local.get $1 - i32.gt_u - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 local.get $2 - local.get $1 - i32.sub - i32.const 1 + call $~lib/typedarray/Int8Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 i32.add - local.tee $5 - local.get $3 - i32.sub - i32.const 1 - i32.and + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.sub - local.get $5 - i32.const 1 - i32.and + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - select - i32.add - local.set $7 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store $0 offset=8 loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s + local.get $0 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + local.get $0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set local.get $0 - local.get $7 i32.const 1 - i32.shl i32.add - local.tee $3 - i32.load16_s $0 offset=2 - local.tee $6 - local.set $5 - local.get $3 - i32.load16_s $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.store16 $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.store16 $0 offset=4 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.store16 $0 offset=2 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $5 - i32.store16 $0 offset=2 - local.get $7 - i32.const 2 - i32.add - local.set $7 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + 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 $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $5 - local.get $0 + i32.const 10 + call $~lib/typedarray/Int8Array#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 + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.add - local.tee $4 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $6 - i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + local.get $1 i32.const 0 - i32.gt_s + call $~lib/typedarray/Int8Array#lastIndexOf@varargs if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.tee $5 - i32.load16_s $0 offset=2 - local.set $6 - local.get $5 - i32.load16_s $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_s $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_s $0 - i32.store16 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store16 $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.tee $1 - i32.load16_s $0 offset=2 - local.set $5 - local.get $1 - i32.load16_s $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $7 - local.get $6 + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.tee $8 - local.get $4 - i32.add - local.get $0 - local.get $8 - i32.add - i32.load16_s $0 - i32.store16 $0 - br $for-loop|0 - end + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 offset=2 - i32.store16 $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.store16 $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end - end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load16_s $0 - local.set $1 - local.get $0 - i32.load16_s $0 offset=2 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store16 $0 - local.get $0 - i32.load16_s $0 offset=4 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store16 $0 offset=2 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store16 $0 offset=4 - end - local.get $0 - i32.load16_s $0 - local.set $1 - local.get $0 - i32.load16_s $0 offset=2 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store16 $0 - local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store16 $0 offset=2 - return - end - local.get $0 i32.const 0 - local.get $1 - i32.const 1 - i32.sub + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $5 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 621 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.shl - call $~lib/rt/tlsf/allocateBlock + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 i32.const 4 - i32.add - local.set $12 + i32.const 9 + call $~lib/typedarray/Int8Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 i32.const 0 - local.get $1 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int8Array#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 $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 i32.const 1 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.tee $1 - i32.const 32 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s if - local.get $0 - i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - loop $while-continue|2 - local.get $5 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $3 i32.lt_s if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 + local.set $0 + br $for-loop|0 end end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 - i32.extend16_s + global.get $~lib/memory/__stack_pointer local.get $1 - i32.extend16_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + i32.store $0 offset=4 local.get $1 - i32.extend16_s - local.tee $1 - local.get $0 - i32.extend16_s - local.tee $0 - i32.gt_s - 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.gt_s - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + i32.store $0 offset=4 local.get $1 - local.get $3 - local.get $2 + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + 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 $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 - i32.sub i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub + i32.const 10 + call $~lib/typedarray/Int8Array#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 + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 - i32.and - i32.sub - local.get $5 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_u $0 offset=2 - local.tee $6 - local.set $5 - local.get $3 - i32.load16_u $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.store16 $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.store16 $0 offset=4 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $3 - i32.store16 $0 offset=2 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - local.get $5 - i32.store16 $0 offset=2 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $5 - local.get $0 + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.add - local.tee $4 + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $6 - i32.const 2 global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s + local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.tee $5 - i32.load16_u $0 offset=2 - local.set $6 - local.get $5 - i32.load16_u $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_u $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.tee $3 - i32.load16_u $0 - i32.store16 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store16 $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 1 - i32.shl - i32.add - local.tee $1 - i32.load16_u $0 offset=2 - local.set $5 - local.get $1 - i32.load16_u $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - local.tee $8 - local.get $4 - i32.add - local.get $0 - local.get $8 - i32.add - i32.load16_u $0 - i32.store16 $0 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 offset=2 - i32.store16 $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $7 - i32.store16 $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 1 - i32.shl - i32.add - local.get $8 - i32.store16 $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load16_u $0 - local.set $1 - local.get $0 - i32.load16_u $0 offset=2 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store16 $0 - local.get $0 - i32.load16_u $0 offset=4 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store16 $0 offset=2 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store16 $0 offset=4 - end - local.get $0 - i32.load16_u $0 - local.set $1 - local.get $0 - i32.load16_u $0 offset=2 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store16 $0 - local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store16 $0 offset=2 - return - end - local.get $0 i32.const 0 - local.get $1 - i32.const 1 - i32.sub + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 3 + i32.ne + if i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $5 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 621 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.shl - call $~lib/rt/tlsf/allocateBlock + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Uint8Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.const 4 - i32.add - local.set $12 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 local.get $0 + i32.const 5 i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + i32.ne if - local.get $0 i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 1568 + i32.const 628 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int8Array#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 - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 65535 - i32.and - local.tee $0 - local.get $1 - i32.const 65535 - i32.and - local.tee $1 - i32.gt_u + i32.store $0 offset=4 local.get $0 - local.get $1 - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $1 - i32.const 65535 - i32.and - local.tee $1 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 65535 - i32.and - local.tee $0 - i32.gt_u + i32.store $0 offset=4 local.get $0 - local.get $1 - i32.gt_u - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - i32.sub + i32.const 5 i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - i32.and + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + 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/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.sub - local.get $5 - i32.const 1 - i32.and + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - select - i32.add - local.set $7 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store $0 offset=8 loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s + local.get $0 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 - local.get $3 - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end + i32.const 7728 local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 + i32.const 1 i32.add - local.set $7 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - local.get $0 + i32.store $0 offset=4 local.get $1 - i32.const 1 - i32.add - local.tee $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const 11 i32.const 0 - i32.gt_s + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - i32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=4 - local.set $5 - local.get $1 - i32.load $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - local.get $2 - i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 2 - i32.shl - local.tee $8 - local.get $4 - i32.add - local.get $0 - local.get $8 - i32.add - i32.load $0 - i32.store $0 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store $0 offset=4 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store $0 offset=8 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store $0 - local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store $0 offset=4 - return - end - local.get $0 i32.const 0 - local.get $1 - i32.const 1 - i32.sub + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne + if i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $5 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + call $~lib/typedarray/Int8Array#indexOf + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + call $~lib/typedarray/Int8Array#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/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 10 + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 - local.get $0 - i32.const 0 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 + i32.const -100 + call $~lib/typedarray/Int8Array#indexOf i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + i32.ne if - local.get $0 i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 - end + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $1 - i32.lt_s - 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 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.gt_s - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $1 - local.get $3 - local.get $2 + i32.const -1 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.sub + i32.store $0 offset=4 i32.const 1 - i32.add - local.tee $5 - local.get $3 - i32.sub + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 - i32.and - i32.sub - local.get $5 + i32.const 100 + call $~lib/typedarray/Int8Array#lastIndexOf i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 offset=4 - local.tee $6 - local.set $5 - local.get $3 - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $3 - local.set $5 - local.get $6 - local.set $3 - end - local.get $7 - i32.const 1 - i32.sub - local.set $6 - loop $while-continue|1 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $3 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 offset=8 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|1 - end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $6 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $3 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $3 - i32.store $0 offset=4 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - br $while-continue|2 - end - end - end - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - local.get $5 - i32.store $0 offset=4 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 620 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const -10 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const 1 + i32.ne if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 621 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $5 - local.get $0 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.add - local.tee $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $6 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) + i32.const -11 + call $~lib/typedarray/Int8Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Uint8ClampedArray#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 i32.const 0 - i32.gt_s + call $~lib/typedarray/Int8Array#indexOf + i32.const -1 + i32.ne if - loop $while-continue|0 + i32.const 0 + i32.const 1568 + i32.const 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int8Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int8Array#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 $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int8Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $2 + i32.const 0 + i32.lt_s + if local.get $2 - local.get $4 + local.get $3 + i32.add + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 i32.gt_s - if (result i32) + select + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $2 local.get $0 - local.get $4 - i32.const 2 + local.get $2 + i32.const 1 i32.shl i32.add - local.tee $5 - i32.load $0 offset=4 - local.set $6 - local.get $5 - i32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $6 - local.get $5 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 + i32.load16_u $0 + local.get $1 + i32.const 65535 + i32.and + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $2 i32.const 1 i32.add - local.set $4 + local.set $2 br $while-continue|0 end end - local.get $4 + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#lastIndexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select local.set $2 - loop $while-continue|1 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 local.get $2 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - i32.load $0 - local.set $5 - local.get $3 + local.get $2 local.get $0 local.get $2 - i32.const 2 + i32.const 1 i32.shl i32.add - local.tee $3 - i32.load $0 - i32.store $0 + i32.load16_u $0 local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i32.store $0 + i32.const 65535 + i32.and + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int16Array,i16>|inlined.0 + drop local.get $2 i32.const 1 i32.sub local.set $2 - br $while-continue|1 + br $while-continue|0 end end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 offset=4 - local.set $5 - local.get $1 - i32.load $0 - local.set $1 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $1 - local.get $3 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int16Array#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $4 - br $while-continue|2 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $2 end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 local.get $2 - i32.const 1 + call $~lib/typedarray/Int16Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i32) + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.sub - local.tee $6 + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer local.get $3 - i32.add - local.set $7 - local.get $6 - i32.const 1 - i32.add - local.set $2 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store $0 offset=8 loop $for-loop|0 - local.get $1 - local.get $2 + local.get $0 + local.get $3 i32.lt_s if - local.get $2 - i32.const 1 - i32.sub + global.get $~lib/memory/__stack_pointer local.tee $2 - i32.const 2 - i32.shl - local.tee $8 - local.get $4 - i32.add + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 local.get $0 - local.get $8 - i32.add - i32.load $0 - i32.store $0 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $7 - local.get $6 - i32.sub - i32.const 2 - i32.shl - i32.add + i32.const 7728 + local.get $0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 offset=4 - i32.store $0 - local.get $6 i32.const 1 i32.add - local.set $6 - br $for-loop|1 + local.set $0 + br $for-loop|0 end end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - i32.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $8 - i32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + local.get $1 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $4 - select - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $1 - local.get $3 - local.get $4 - select - local.tee $1 - local.get $5 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.set $3 - local.get $0 - local.get $5 - local.get $1 - local.get $3 - select - i32.store $0 offset=4 - local.get $0 - local.get $1 - local.get $5 - local.get $3 - select - i32.store $0 offset=8 - end - local.get $0 - i32.load $0 - local.set $1 - local.get $0 - i32.load $0 offset=4 - local.set $3 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $3 - local.get $1 - local.get $1 - local.get $3 - local.get $2 - i32.load $0 - call_indirect $0 (type $i32_i32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $2 - select - i32.store $0 - local.get $0 - local.get $1 - local.get $3 - local.get $2 - select - i32.store $0 offset=4 - return - end - local.get $0 i32.const 0 - local.get $1 - i32.const 1 - i32.sub + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $5 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + 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 $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 2 - i32.shl - local.tee $6 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + 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 $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 - i32.shl - local.set $7 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + i32.const 10 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $7 - call $~lib/rt/tlsf/allocateBlock + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 4 - i32.add - local.tee $10 - i32.add - local.set $11 - loop $for-loop|1 - local.get $5 - local.get $8 - i32.gt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 + i32.const 3 i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $12 - local.get $0 - i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.sub - local.tee $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $5 + i32.const 100 + call $~lib/typedarray/Int16Array#lastIndexOf i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + i32.ne if - local.get $0 i32.const 0 - i32.const 31 - local.get $9 - local.get $9 - i32.const 31 - i32.ge_s - select - local.tee $5 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort + i32.const 1568 + i32.const 620 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $while-continue|2 - local.get $5 - local.get $9 - i32.lt_s - if - local.get $0 - local.get $5 - i32.const 1 - i32.add - local.tee $6 - local.get $9 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $1 - local.get $6 - i32.sub - i32.const 1 - i32.add - local.tee $7 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $6 - local.get $9 - local.get $6 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $9 - i32.gt_s - select - local.tee $1 - local.get $7 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $6 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $13 - i64.div_u - local.get $1 - local.get $6 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $13 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $7 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $7 - local.get $8 - i32.lt_u - if - local.get $10 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $11 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $5 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $10 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $7 - i32.const 2 - i32.shl - local.tee $4 - local.get $10 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $11 - i32.add - local.get $5 - i32.store $0 - local.get $6 - local.set $3 - local.get $1 - local.set $5 - local.get $7 - local.set $4 - br $while-continue|2 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|4 - local.get $4 - if - local.get $10 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $11 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $9 - local.get $12 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $12 - call $~lib/rt/tlsf/__free - local.get $10 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $0 local.get $1 - i32.gt_u + i32.store $0 offset=4 local.get $0 local.get $1 - i32.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32>~anonymous|0 (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + i32.const 9 + call $~lib/typedarray/Int16Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 - local.get $1 - i32.lt_u + i32.store $0 offset=4 local.get $0 - local.get $1 - i32.gt_u - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i64) - local.get $1 - local.get $3 - local.get $2 - local.get $1 - 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 i32.const 1 - i32.and - i32.sub - local.get $7 + call $~lib/typedarray/Int16Array#indexOf i32.const 1 - i32.and - local.get $3 - select + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.set $7 + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store $0 offset=8 loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s + local.get $0 + local.get $3 + i32.lt_s if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i64.load $0 offset=8 - local.tee $8 - local.set $6 - local.get $3 - i64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $8 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $6 - local.get $8 - local.set $5 - end - local.get $7 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $8 - i64.store $0 offset=16 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - end + i32.const 7728 local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - i64.store $0 offset=16 - loop $while-continue|2 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - i64.store $0 offset=8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - end + call $~lib/array/Array#__get + i32.const 65535 + i32.and + call $~lib/typedarray/Uint16Array#__set local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $6 - i64.store $0 offset=8 - local.get $7 - i32.const 2 + i32.const 1 i32.add - local.set $7 + local.set $0 br $for-loop|0 end end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $5 - local.get $0 + i32.store $0 offset=4 local.get $1 - i32.const 1 - i32.add - local.tee $4 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) + i32.const 11 i32.const 0 - i32.gt_s + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i64.load $0 offset=8 - local.set $5 - local.get $6 - i64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i64.load $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i64.load $0 - i64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i64.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 offset=8 - local.set $5 - local.get $1 - i64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end - end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i64) - (local $8 i64) - (local $9 i32) - (local $10 i32) - local.get $2 - i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $9 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 3 - i32.shl - local.tee $10 - local.get $4 - i32.add - local.get $0 - local.get $10 - i32.add - i64.load $0 - i64.store $0 - br $for-loop|0 - end - end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $9 - local.get $6 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - i64.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $7 - i64.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $8 - i64.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + i32.const 0 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) - (local $10 i64) - (local $11 i32) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i32) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i64.load $0 - local.set $13 - local.get $0 - i64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - i64.load $0 offset=16 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - i64.store $0 offset=8 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - i64.store $0 offset=16 - end - local.get $0 - i64.load $0 - local.set $10 - local.get $0 - i64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - i64.store $0 offset=8 - return - end - local.get $0 i32.const 0 - local.get $1 - i32.const 1 - i32.sub + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.ne + if i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 606 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $7 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.tee $12 - i32.add - local.set $14 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int16Array#indexOf + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 608 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 3 - i32.shl - call $~lib/rt/tlsf/allocateBlock i32.const 4 - i32.add - local.set $15 - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - i32.const 1 - i32.add - local.tee $1 - i32.const 32 - i32.lt_s + call $~lib/typedarray/Int16Array#indexOf + i32.const -1 + i32.ne if - local.get $0 i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 - i32.ge_s - select - local.tee $6 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 - i32.lt_s - if - local.get $0 - local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 - i32.add - local.tee $8 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $9 - i64.div_u - local.get $5 - local.get $7 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $14 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $12 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $14 - i32.add - local.get $6 - i32.store $0 - local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i64.gt_s - local.get $0 + i32.store $0 offset=4 local.get $1 - i64.lt_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64>~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) - 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i64.lt_s - local.get $0 + i32.store $0 offset=4 local.get $1 - i64.gt_s - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 i64) - (local $6 i64) - (local $7 i32) - (local $8 i64) + 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 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $3 - local.get $2 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $1 - i32.sub + i32.const 0 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.and - i32.sub - local.get $7 + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i64.load $0 offset=8 - local.tee $8 - local.set $6 - local.get $3 - i64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $8 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $6 - local.get $8 - local.set $5 - end - local.get $7 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $8 - i64.store $0 offset=16 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - i64.store $0 offset=16 - loop $while-continue|2 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $5 - i64.store $0 offset=8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - end - local.get $0 - local.get $3 - i32.const 3 - i32.shl - i32.add - local.get $6 - i64.store $0 offset=8 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 - end + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 i64) - (local $6 i32) - (local $7 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $5 - local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 - i32.const 1 - i32.add - local.tee $4 i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $7 i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s + call $~lib/typedarray/Int16Array#lastIndexOf + i32.const -1 + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $6 - i64.load $0 offset=8 - local.set $5 - local.get $6 - i64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Uint16Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + i32.const 1 + call $~lib/typedarray/Int16Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + 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 (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + 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 $4 - local.set $2 - loop $while-continue|1 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 local.get $2 + local.get $3 i32.lt_s if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.tee $3 - i64.load $0 - local.set $5 - local.get $3 + local.get $2 local.get $0 local.get $2 - i32.const 3 + i32.const 2 i32.shl i32.add - local.tee $3 - i64.load $0 - i64.store $0 + i32.load $0 local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - i64.store $0 + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + drop local.get $2 i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 offset=8 - local.set $5 - local.get $1 - i64.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 i32.add - local.set $4 - br $while-continue|2 + local.set $2 + br $while-continue|0 end end + i32.const -1 end - local.get $4 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 i64) - (local $8 i64) - (local $9 i32) - (local $10 i32) - local.get $2 - i32.const 1 + (func $~lib/typedarray/Int32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (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 - local.tee $6 - local.get $3 - i32.add - local.set $9 - local.get $6 - i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 3 - i32.shl - local.tee $10 - local.get $4 - i32.add - local.get $0 - local.get $10 - i32.add - i64.load $0 - i64.store $0 - br $for-loop|0 - end + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - loop $for-loop|1 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $9 - local.get $6 - i32.sub - i32.const 3 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 offset=8 - i64.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end - end - loop $for-loop|2 - local.get $1 + local.get $0 + i32.store $0 local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $7 - local.get $4 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 local.get $2 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) i32.const 0 - i32.lt_s + i32.ge_s if + local.get $2 local.get $0 - local.get $1 - i32.const 3 + local.get $2 + i32.const 2 i32.shl i32.add - local.get $7 - i64.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 + i32.load $0 local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $8 - i64.store $0 + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int32Array,i32>|inlined.0 + drop local.get $2 i32.const 1 - i32.add + i32.sub local.set $2 + br $while-continue|0 end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 end + i32.const -1 end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) - (local $10 i64) - (local $11 i32) - (local $12 i32) - (local $13 i64) - (local $14 i32) - (local $15 i32) - local.get $1 - i32.const 48 - i32.le_s + (func $~lib/typedarray/Int32Array#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - local.get $1 + i32.const 49120 + i32.const 49168 i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - i64.load $0 - local.set $13 - local.get $0 - i64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - i64.load $0 offset=16 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - i64.store $0 offset=8 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - i64.store $0 offset=16 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $0 - i64.load $0 - local.set $10 - local.get $0 - i64.load $0 offset=8 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $i64_i64_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - i64.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - i64.store $0 offset=8 - return + unreachable end + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub - i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 end - i32.const 33 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 local.get $1 - i32.clz - i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 - i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz - if - call $~lib/rt/tlsf/initialize - end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock + local.get $2 + call $~lib/typedarray/Int32Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add - local.tee $12 - i32.add - local.set $14 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end - end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s if - call $~lib/rt/tlsf/initialize + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - local.get $1 - i32.const 3 - i32.shl - call $~lib/rt/tlsf/allocateBlock - i32.const 4 - i32.add - local.set $15 - local.get $0 + global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 + i32.const 20 + memory.fill $0 local.get $1 - i32.const 1 - i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 - i32.const 1 - i32.add + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int32Array#constructor local.tee $1 - i32.const 32 - i32.lt_s - if + i32.store $0 offset=8 + loop $for-loop|0 local.get $0 - i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 - i32.ge_s - select - local.tee $6 - local.get $1 - local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 + local.get $3 i32.lt_s if - local.get $0 - local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 - i32.add - local.tee $8 - i32.const 32 - i32.lt_s - if - local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 - i32.add - local.tee $1 - local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 - local.get $2 - call $~lib/util/sort/insertionSort - end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $9 - i64.div_u - local.get $5 - local.get $7 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $9 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $14 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end + i32.const 7728 + i32.store $0 offset=12 local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $12 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $14 + local.get $0 + i32.const 7728 + local.get $0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + local.get $0 + i32.const 1 i32.add - local.get $6 - i32.store $0 - local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 + local.set $0 + br $for-loop|0 end end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 603 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i64.gt_u - local.get $0 + i32.store $0 offset=4 local.get $1 - i64.lt_u - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64>~anonymous|0 (type $i64_i64_=>_i32) (param $0 i64) (param $1 i64) (result i32) - local.get $0 + 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 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i64.lt_u - local.get $0 + i32.store $0 offset=4 local.get $1 - i64.gt_u - i32.sub - ) - (func $~lib/util/sort/insertionSort (type $i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) - (local $5 f32) - (local $6 f32) - (local $7 i32) - (local $8 f32) + 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 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $3 - local.get $2 + i32.store $0 offset=4 local.get $1 - i32.sub - i32.const 1 - i32.add - local.tee $7 - local.get $3 - i32.sub - i32.const 1 - i32.and - i32.sub - local.get $7 - i32.const 1 - i32.and - local.get $3 - select - i32.add - local.set $7 - loop $for-loop|0 - local.get $2 - local.get $7 - i32.ge_s - if - local.get $0 - local.get $7 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load $0 offset=4 - local.tee $8 - local.set $6 - local.get $3 - f32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $8 - local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.le_s - if - local.get $5 - local.set $6 - local.get $8 - local.set $5 - end - local.get $7 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|1 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|1 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $8 - local.get $5 - local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|1 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $8 - f32.store $0 offset=8 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|1 - end - end - end - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $5 - f32.store $0 offset=8 - loop $while-continue|2 - local.get $1 - local.get $3 - i32.le_s - if - block $while-break|2 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $5 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $6 - local.get $4 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.le_s - br_if $while-break|2 - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $5 - f32.store $0 offset=4 - local.get $3 - i32.const 1 - i32.sub - local.set $3 - br $while-continue|2 - end - end - end - local.get $0 - local.get $3 - i32.const 2 - i32.shl - i32.add - local.get $6 - f32.store $0 offset=4 - local.get $7 - i32.const 2 - i32.add - local.set $7 - br $for-loop|0 - end + 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 606 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/extendRunRight (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) - (local $4 i32) - (local $5 f32) - (local $6 i32) - (local $7 f32) + global.get $~lib/memory/__stack_pointer local.get $1 - local.get $2 - i32.eq + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 2 + call $~lib/typedarray/Int32Array#indexOf + i32.const 3 + i32.ne if - local.get $1 - return + i32.const 0 + i32.const 1568 + i32.const 607 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $0 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $5 - local.get $0 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 i32.const 1 - i32.add - local.tee $4 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s + i32.const 10 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne if - loop $while-continue|0 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $6 - f32.load $0 offset=4 - local.set $5 - local.get $6 - f32.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 31 - i32.shr_u - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|0 - end - end - local.get $4 - local.set $2 - loop $while-continue|1 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load $0 - local.set $5 - local.get $3 - local.get $0 - local.get $2 - i32.const 2 - i32.shl - i32.add - local.tee $3 - f32.load $0 - f32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - local.get $3 - local.get $5 - f32.store $0 - local.get $2 - i32.const 1 - i32.sub - local.set $2 - br $while-continue|1 - end - end - else - loop $while-continue|2 - local.get $2 - local.get $4 - i32.gt_s - if (result i32) - local.get $0 - local.get $4 - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load $0 offset=4 - local.set $5 - local.get $1 - f32.load $0 - local.set $7 - i32.const 2 - global.set $~argumentsLength - local.get $5 - local.get $7 - local.get $3 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.ge_s - else - i32.const 0 - end - if - local.get $4 - i32.const 1 - i32.add - local.set $4 - br $while-continue|2 - end - end + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $4 - ) - (func $~lib/util/sort/mergeRuns (type $i32_i32_i32_i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (param $4 i32) (param $5 i32) - (local $6 i32) - (local $7 f32) - (local $8 f32) - (local $9 i32) - (local $10 i32) - local.get $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 - i32.sub - local.tee $6 - local.get $3 - i32.add - local.set $9 - local.get $6 + i32.const -100 + call $~lib/typedarray/Int32Array#indexOf i32.const 1 - i32.add - local.set $2 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $2 - i32.const 1 - i32.sub - local.tee $2 - i32.const 2 - i32.shl - local.tee $10 - local.get $4 - i32.add - local.get $0 - local.get $10 - i32.add - f32.load $0 - f32.store $0 - br $for-loop|0 - end + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|1 - local.get $3 - local.get $6 - i32.gt_s - if - local.get $4 - local.get $9 - local.get $6 - i32.sub - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load $0 offset=4 - f32.store $0 - local.get $6 - i32.const 1 - i32.add - local.set $6 - br $for-loop|1 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable end - loop $for-loop|2 - local.get $1 - local.get $3 - i32.le_s - if - local.get $4 - local.get $6 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $7 - local.get $4 - local.get $2 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $8 - i32.const 2 - global.set $~argumentsLength - local.get $7 - local.get $8 - local.get $5 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.lt_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $7 - f32.store $0 - local.get $6 - i32.const 1 - i32.sub - local.set $6 - else - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $8 - f32.store $0 - local.get $2 - i32.const 1 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|2 - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable end - ) - (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) - (local $13 f32) - (local $14 i32) - (local $15 i32) - (local $16 i64) + global.get $~lib/memory/__stack_pointer local.get $1 - i32.const 48 - i32.le_s + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const -1 + i32.ne if - local.get $1 - i32.const 1 - i32.le_s - if - return - end - block $break|0 - block $case1|0 - local.get $1 - i32.const 3 - i32.ne - if - local.get $1 - i32.const 2 - i32.eq - br_if $case1|0 - br $break|0 - end - local.get $0 - f32.load $0 - local.set $13 - local.get $0 - f32.load $0 offset=4 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $13 - local.get $13 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - f32.load $0 offset=8 - local.set $10 - i32.const 2 - global.set $~argumentsLength - local.get $13 - local.get $9 - local.get $1 - select - local.tee $9 - local.get $10 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.set $1 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f32.store $0 offset=4 - local.get $0 - local.get $9 - local.get $10 - local.get $1 - select - f32.store $0 offset=8 - end - local.get $0 - f32.load $0 - local.set $10 - local.get $0 - f32.load $0 offset=4 - local.set $9 - i32.const 2 - global.set $~argumentsLength - local.get $0 - local.get $9 - local.get $10 - local.get $10 - local.get $9 - local.get $2 - i32.load $0 - call_indirect $0 (type $f32_f32_=>_i32) - i32.const 0 - i32.gt_s - local.tee $1 - select - f32.store $0 - local.get $0 - local.get $10 - local.get $9 - local.get $1 - select - f32.store $0 offset=4 - return - end - local.get $0 - i32.const 0 - local.get $1 - i32.const 1 - i32.sub i32.const 0 - local.get $2 - call $~lib/util/sort/insertionSort - return + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 33 + global.get $~lib/memory/__stack_pointer local.get $1 - i32.clz - i32.sub - local.tee $7 - i32.const 2 - i32.shl - local.tee $6 + i32.store $0 offset=4 i32.const 1 - i32.shl - local.set $5 - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Int32Array#lastIndexOf@varargs + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $6 - global.get $~lib/rt/tlsf/ROOT - local.get $5 - call $~lib/rt/tlsf/allocateBlock + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 i32.const 4 - i32.add - local.tee $12 - i32.add - local.set $14 - loop $for-loop|1 - local.get $7 - local.get $8 - i32.gt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.const -1 - i32.store $0 - local.get $8 - i32.const 1 - i32.add - local.set $8 - br $for-loop|1 - end + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT - i32.eqz + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 3 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 3 + i32.ne if - call $~lib/rt/tlsf/initialize + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable end - global.get $~lib/rt/tlsf/ROOT + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 + i32.const 3 i32.const 2 - i32.shl - call $~lib/rt/tlsf/allocateBlock + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int32Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 i32.const 4 - i32.add - local.set $15 + i32.const 9 + call $~lib/typedarray/Int32Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 3 i32.const 0 - local.get $1 + call $~lib/typedarray/Int32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 + i32.const 0 + call $~lib/typedarray/Int32Array#indexOf i32.const 1 - i32.sub - local.tee $11 - local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $6 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 10 + i32.const 0 + call $~lib/typedarray/Int32Array#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 $0 offset=4 + local.get $0 + 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 5 i32.const 1 + call $~lib/typedarray/Int32Array#indexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 633 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 i32.add - local.tee $1 - i32.const 32 + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#indexOf (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $3 local.get $0 - i32.const 0 - i32.const 31 - local.get $11 - local.get $11 - i32.const 31 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 i32.ge_s - select - local.tee $6 - local.get $1 + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop local.get $2 - call $~lib/util/sort/insertionSort - end - loop $while-continue|2 - local.get $6 - local.get $11 + i32.const 0 i32.lt_s if - local.get $0 - local.get $6 - i32.const 1 - i32.add - local.tee $5 - local.get $11 local.get $2 - call $~lib/util/sort/extendRunRight - local.tee $7 - local.get $5 - i32.sub - i32.const 1 + local.get $3 i32.add - local.tee $8 - i32.const 32 + local.tee $2 + i32.const 0 + local.get $2 + i32.const 0 + i32.gt_s + select + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 i32.lt_s if + local.get $2 local.get $0 - local.get $5 - local.get $11 - local.get $5 - i32.const 31 + local.get $2 + i32.const 2 + i32.shl i32.add - local.tee $1 + i32.load $0 local.get $1 - local.get $11 - i32.gt_s - select - local.tee $7 - local.get $8 + i32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop local.get $2 - call $~lib/util/sort/insertionSort + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end - local.get $3 - local.get $5 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $11 - i32.const 1 - i32.add - i64.extend_i32_u - local.tee $16 - i64.div_u - local.get $5 - local.get $7 - i32.add - i32.const 1 - i32.add - i64.extend_i32_u - i64.const 30 - i64.shl - local.get $16 - i64.div_u - i64.xor - i32.wrap_i64 - i32.clz - local.set $1 - local.get $4 - local.set $8 - loop $for-loop|3 - local.get $1 - local.get $8 - i32.lt_u - if - local.get $12 - local.get $8 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.const -1 - i32.ne - if - local.get $0 - local.get $4 - local.get $8 - i32.const 2 - i32.shl - local.tee $3 - local.get $14 - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $6 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - local.get $3 - local.get $12 - i32.add - i32.const -1 - i32.store $0 - local.get $4 - local.set $3 - end - local.get $8 - i32.const 1 - i32.sub - local.set $8 - br $for-loop|3 - end - end - local.get $1 - i32.const 2 - i32.shl - local.tee $4 - local.get $12 - i32.add - local.get $3 - i32.store $0 - local.get $4 - local.get $14 - i32.add - local.get $6 - i32.store $0 - local.get $5 - local.set $3 - local.get $7 - local.set $6 - local.get $1 - local.set $4 - br $while-continue|2 - end - end - loop $for-loop|4 - local.get $4 - if - local.get $12 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $1 - i32.const -1 - i32.ne - if - local.get $0 - local.get $1 - local.get $14 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.load $0 - i32.const 1 - i32.add - local.get $11 - local.get $15 - local.get $2 - call $~lib/util/sort/mergeRuns - end - local.get $4 - i32.const 1 - i32.sub - local.set $4 - br $for-loop|4 - end - end - local.get $15 - call $~lib/rt/tlsf/__free - local.get $12 - call $~lib/rt/tlsf/__free - ) - (func $~lib/util/sort/COMPARATOR~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) - (local $2 i32) - (local $3 i32) - local.get $0 - i32.reinterpret_f32 - local.tee $2 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - local.get $2 - i32.xor - local.tee $2 - local.get $1 - i32.reinterpret_f32 - local.tee $3 - i32.const 31 - i32.shr_s - i32.const 1 - i32.shr_u - local.get $3 - i32.xor - local.tee $3 - i32.gt_s - local.get $2 - local.get $3 - i32.lt_s - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32>~anonymous|0 (type $f32_f32_=>_i32) (param $0 f32) (param $1 f32) (result i32) - local.get $0 - local.get $1 - f32.lt - local.get $0 - local.get $1 - f32.gt - i32.sub - ) - (func $std/typedarray/testArraySort<~lib/typedarray/Float64Array,f64>~anonymous|0 (type $f64_f64_=>_i32) (param $0 f64) (param $1 f64) (result i32) - local.get $0 - local.get $1 - f64.lt - local.get $0 - local.get $1 - f64.gt - i32.sub - ) - (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) - block $folding-inner2 - block $folding-inner1 - block $folding-inner0 - block $invalid - block $~lib/string/String - block $~lib/arraybuffer/ArrayBuffer - block $~lib/object/Object - local.get $0 - i32.const 8 - i32.sub - i32.load $0 - br_table $~lib/object/Object $~lib/arraybuffer/ArrayBuffer $~lib/string/String $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner2 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner1 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $folding-inner0 $invalid - end - return - end - return - end - return - end - unreachable - end - local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return - end - local.get $0 - i32.load $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit end - return + i32.const -1 end + 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 $0 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end ) - (func $~start (type $none_=>_none) - call $start:std/typedarray - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int8Array,i8> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint32Array#lastIndexOf (type $i32_i32_i32_=>_i32) (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.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $7 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 3952 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 + select local.set $2 - local.get $3 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 + local.get $0 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 + local.set $0 + loop $while-continue|0 local.get $2 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $1 - local.get $6 + local.get $2 + local.get $0 + local.get $2 + i32.const 2 + i32.shl i32.add - i32.load8_s $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 3952 i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $0 - local.get $3 - i32.add - local.get $4 - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end local.get $1 + i32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint32Array,u32>|inlined.0 + drop + local.get $2 i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i32.sub + local.set $2 + br $while-continue|0 end end - local.get $8 - local.get $3 - local.get $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 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 $8 - 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 $8 + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint32Array#lastIndexOf@varargs (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 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 $8 - 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 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint32Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) (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.const 20 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 3984 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - local.set $2 - local.get $3 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $6 - i32.add - i32.load8_u $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 3984 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $0 - local.get $3 - i32.add - local.get $4 - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|0 local.get $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 + local.get $3 + i32.lt_s if - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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 - local.get $8 - i32.load $0 offset=8 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 603 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 $8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 11 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - call $~lib/typedarray/Uint8Array#__get + i32.const 1568 + i32.const 604 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 $8 - 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 $8 - i32.const 2 - 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 - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) - (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const -1 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 - local.get $7 + i32.const 1568 + i32.const 605 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 0 + call $~lib/typedarray/Uint32Array#indexOf + i32.const 3 + i32.ne + if i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 - i32.const 2 + i32.const 1568 + i32.const 606 i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 607 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4016 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - local.set $2 - local.get $3 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $6 - i32.add - i32.load8_u $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4016 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $0 - local.get $3 - i32.add - local.get $4 - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 - local.get $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 608 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 $8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint32Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1568 + i32.const 609 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 $8 - 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 $8 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__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 - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 610 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 i32.const 1 + i32.const -100 + call $~lib/typedarray/Uint32Array#indexOf i32.const 1 - call $~lib/builtins/abort - unreachable + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 0 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 11 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const -1 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint32Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Uint32Array#lastIndexOf + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Uint32Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 633 + 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/testArrayFilter<~lib/typedarray/Int16Array,i16> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#indexOf (type $i32_i64_i32_=>_i32) (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) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Int16Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $7 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4048 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 + i32.eqz + local.get $2 local.get $3 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + drop local.get $2 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 + 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 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 + local.set $0 + loop $while-continue|0 local.get $2 + local.get $3 i32.lt_s if - local.get $6 - local.get $1 - i32.const 1 + local.get $2 + local.get $0 + local.get $2 + i32.const 3 i32.shl i32.add - i32.load16_s $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4048 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.store16 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end + i64.load $0 local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i64.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 end end - local.get $8 - local.get $3 - local.get $0 - i32.const 1 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 - i32.const 1 - 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 $8 - 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 $8 - 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 $8 - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + i32.const -1 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Int64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (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) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Uint16Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $7 i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4080 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 i32.const 1 - i32.shr_u - local.set $2 + i32.sub + local.get $2 + local.get $2 local.get $3 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.ge_s + select local.get $2 - i32.const 1 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 + i32.const 0 + i32.lt_s + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 + local.set $0 + loop $while-continue|0 local.get $2 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $6 - local.get $1 - i32.const 1 + local.get $2 + local.get $0 + local.get $2 + i32.const 3 i32.shl i32.add - i32.load16_u $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4080 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $4 - i32.store16 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end + i64.load $0 local.get $1 + i64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Int64Array,i64>|inlined.0 + drop + local.get $2 i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i32.sub + local.set $2 + br $while-continue|0 end end - local.get $8 - local.get $3 - local.get $0 - i32.const 1 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Int64Array#lastIndexOf@varargs (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - 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 $8 - i32.const 0 - call $~lib/typedarray/Uint16Array#__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 $8 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 $8 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Int64Array,i64> (type $none_=>_none) (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.const 20 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Int32Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $7 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4112 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4112 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|0 local.get $0 - i32.const 2 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 + local.get $3 + i32.lt_s if - local.get $8 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 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 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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 - local.get $8 + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 0 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + if i32.const 0 - call $~lib/typedarray/Int32Array#__get + i32.const 1568 + i32.const 603 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 $8 - 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 $8 - 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 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) - (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Uint32Array#constructor - local.tee $7 - i32.store $0 - local.get $7 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const -1 + i32.const 0 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $7 - i32.const 2 + i32.const 1568 + i32.const 605 i32.const 3 - call $~lib/typedarray/Uint32Array#__set - local.get $7 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 606 i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $7 - i32.const 5 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4144 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4144 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $4 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 - local.get $0 - i32.const 2 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 607 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 $8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Int64Array#indexOf + i32.const 3 + i32.ne + if i32.const 0 - call $~lib/typedarray/Uint32Array#__get + i32.const 1568 + i32.const 608 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 $8 - 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 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 2 - call $~lib/typedarray/Uint32Array#__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 - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Int64Array,i64> (type $none_=>_none) - (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) global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 3 + i32.const 4 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 - local.get $7 + i32.const 1568 + i32.const 609 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 1 + i32.const 10 + call $~lib/typedarray/Int64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $7 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $7 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - local.get $7 + i32.const 1568 + i32.const 610 i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $7 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4176 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 611 i32.const 3 - i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const 0 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 i32.const 3 - i32.shl + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const 11 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const -1 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const 3 + call $~lib/typedarray/Int64Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Int64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Int64Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 633 + 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/Uint64Array#indexOf (type $i32_i64_i32_=>_i32) (param $0 i32) (param $1 i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/rt/itcms/__new + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + 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 + global.get $~lib/memory/__stack_pointer + local.get $0 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 + local.set $0 + loop $while-continue|0 local.get $2 + local.get $3 i32.lt_s if - local.get $6 - local.get $1 + local.get $2 + local.get $0 + local.get $2 i32.const 3 i32.shl i32.add i64.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4176 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $4 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end local.get $1 + i64.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 i32.const 1 i32.add - local.set $1 - br $for-loop|0 + local.set $2 + br $while-continue|0 end end - local.get $8 - local.get $3 - local.get $0 - i32.const 3 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 - i32.const 3 - 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 $8 - 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 $8 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.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 - return + i32.const -1 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) + (func $~lib/typedarray/Uint64Array#lastIndexOf (type $i32_i64_i32_=>_i32) (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) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Uint64Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $7 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $7 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $7 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $7 - i32.const 5 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4208 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + select local.set $2 - local.get $3 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 + local.get $0 i32.store $0 offset=4 - local.get $7 + local.get $0 i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 + local.set $0 + loop $while-continue|0 local.get $2 - i32.lt_s + i32.const 0 + i32.ge_s if - local.get $6 - local.get $1 + local.get $2 + local.get $0 + local.get $2 i32.const 3 i32.shl i32.add i64.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4208 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $4 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end local.get $1 + i64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Uint64Array,u64>|inlined.0 + drop + local.get $2 i32.const 1 - i32.add - local.set $1 - br $for-loop|0 + i32.sub + local.set $2 + br $while-continue|0 end end - local.get $8 - local.get $3 - local.get $0 - i32.const 3 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 - i32.const 3 - 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 $8 - i32.const 0 - call $~lib/typedarray/Uint64Array#__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 $8 + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Uint64Array#lastIndexOf@varargs (type $i32_i64_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne - if - i32.const 0 - i32.const 1568 - i32.const 417 - i32.const 3 - call $~lib/builtins/abort + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - return + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint64Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) (local $0 i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 f32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 + i32.store $0 + local.get $1 + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $3 i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Float32Array#constructor - local.tee $7 - i32.store $0 - local.get $7 + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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.store $0 offset=4 + local.get $1 + i64.const 0 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + if i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - local.get $7 + i32.const 1568 + i32.const 603 i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $7 - i32.const 5 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4240 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4240 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.get $4 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 - local.get $0 - i32.const 2 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 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 $8 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne - if - i32.const 0 - i32.const 1568 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.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 - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayFilter<~lib/typedarray/Float64Array,f64> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 f64) - (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 - block $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 0 - i32.store $0 offset=8 - local.get $2 - i32.const 6 - call $~lib/typedarray/Float64Array#constructor - local.tee $7 - i32.store $0 - local.get $7 + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 11 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $7 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $7 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $7 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $7 - i32.const 5 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 4272 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $3 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $2 - local.get $3 - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $8 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 3 - i32.shl - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 offset=4 - local.get $7 - i32.load $0 offset=4 - local.set $6 - loop $for-loop|0 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $6 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $4 - i32.const 3 - global.set $~argumentsLength - local.get $4 - local.get $1 - local.get $7 - i32.const 4272 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - if - local.get $3 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.get $4 - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - end - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - local.get $8 - local.get $3 - local.get $0 - i32.const 3 - i32.shl - local.tee $0 - call $~lib/rt/itcms/__renew - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $8 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $8 - local.get $0 - i32.store $0 offset=8 - local.get $8 - local.get $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $8 - i32.store $0 offset=8 - local.get $8 - i32.load $0 offset=4 - local.get $8 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 413 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u + i32.const 1568 + i32.const 604 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 $8 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 415 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne - if - i32.const 0 - i32.const 1568 - i32.const 416 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $8 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.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 - return + call $~lib/builtins/abort + unreachable end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/testArrayForEach<~lib/typedarray/Int8Array,i8>~anonymous|0 (type $i32_i32_i32_=>_none) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const -1 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + 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.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - local.get $0 - i32.const 255 - i32.and - i32.const 7152 local.get $1 - call $~lib/array/Array#__get - i32.const 255 - i32.and + i32.store $0 offset=4 + local.get $1 + 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 536 - i32.const 5 + i32.const 606 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 local.get $1 + 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 537 - i32.const 5 + i32.const 607 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 538 - i32.const 5 + i32.const 608 + i32.const 3 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>~anonymous|0 (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 3 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + 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.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - local.get $0 - i32.const 65535 - i32.and - i32.const 7152 local.get $1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and + i32.store $0 offset=4 + local.get $1 + 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 536 - i32.const 5 + i32.const 610 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 537 - i32.const 5 + i32.const 611 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf - i32.ne + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const 0 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs if i32.const 0 i32.const 1568 - i32.const 538 - i32.const 5 + i32.const 613 + i32.const 3 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>~anonymous|0 (type $i32_i32_i32_=>_none) (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 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const 11 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - i32.const 7152 local.get $1 - call $~lib/array/Array#__get - local.get $0 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + i64.const -1 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const -1 i32.ne if i32.const 0 i32.const 1568 - i32.const 536 - i32.const 5 + i32.const 615 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength local.get $1 + i64.const 3 + call $~lib/typedarray/Uint64Array#lastIndexOf@varargs + i32.const 3 i32.ne if i32.const 0 i32.const 1568 - i32.const 537 - i32.const 5 + i32.const 616 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 538 - i32.const 5 + i32.const 617 + i32.const 3 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>~anonymous|0 (type $i64_i32_i32_=>_none) (param $0 i64) (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 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + i64.const 3 + i32.const 3 + call $~lib/typedarray/Uint64Array#lastIndexOf + i32.const 3 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - i32.const 7152 local.get $1 - call $~lib/array/Array#__get - i64.extend_i32_s - local.get $0 - i64.ne + i32.store $0 offset=4 + local.get $1 + 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 536 - i32.const 5 + i32.const 619 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 537 - i32.const 5 + i32.const 620 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 538 - i32.const 5 + i32.const 621 + i32.const 3 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>~anonymous|0 (type $f32_i32_i32_=>_none) (param $0 f32) (param $1 i32) (param $2 i32) - (local $3 i32) + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Uint64Array#subarray + local.tee $0 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.const 3 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 626 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - i32.const 7152 - local.get $1 - call $~lib/array/Array#__get - f32.convert_i32_s local.get $0 - f32.ne + i32.store $0 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 536 - i32.const 5 + i32.const 627 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 537 - i32.const 5 + i32.const 628 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 538 - i32.const 5 + i32.const 629 + i32.const 3 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>~anonymous|0 (type $f64_i32_i32_=>_none) (param $0 f64) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $0 + i32.store $0 offset=4 + local.get $0 + i64.const 10 + i32.const 0 + call $~lib/typedarray/Uint64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + 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.tee $3 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 7152 - i32.store $0 - i32.const 7152 - local.get $1 - call $~lib/array/Array#__get - f64.convert_i32_s local.get $0 - f64.ne + i32.store $0 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 536 - i32.const 5 + i32.const 631 + i32.const 3 call $~lib/builtins/abort unreachable end - global.get $std/typedarray/forEachCallCount - local.get $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 537 - i32.const 5 + i32.const 632 + i32.const 3 call $~lib/builtins/abort unreachable end - local.get $2 - global.get $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 538 - i32.const 5 + i32.const 633 + i32.const 3 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.const 20 i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Float32Array#indexOf (type $i32_f32_i32_=>_i32) (param $0 i32) (param $1 f32) (param $2 i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38166,28 +34386,84 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 9584 - i32.store $0 - local.get $0 - call $~lib/typedarray/Uint8Array#join + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + 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 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 + local.get $2 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $1 + f32.eq + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $while-continue|0 + end + end + i32.const -1 + end local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) + (func $~lib/typedarray/Float32Array#lastIndexOf (type $i32_f32_i32_=>_i32) (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.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38202,87 +34478,81 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.tee $3 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 + local.get $3 + i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 local.get $2 local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 i32.lt_s - if - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load8_s $0 - local.tee $4 + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $0 + loop $while-continue|0 local.get $2 - local.get $1 - i32.load $0 offset=4 - i32.add - i32.load8_s $0 - local.tee $5 - i32.ne + i32.const 0 + i32.ge_s if - global.get $~lib/memory/__stack_pointer - i32.const 11344 - i32.store $0 - i32.const 11344 - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + local.get $0 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.get $1 + f32.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $2 + i32.const 1 + i32.sub + local.set $2 + br $while-continue|0 end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + i32.const -1 end + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (func $~lib/typedarray/Float32Array#lastIndexOf@varargs (type $i32_f32_=>_i32) (param $0 i32) (param $1 f32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38297,274 +34567,46 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 i32.store $0 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $6 - 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 $7 - i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - 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 $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11312 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - local.get $4 - i32.load $0 offset=8 - i32.const 11100 - i32.load $0 - local.tee $8 - i32.const 3 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 3 - i32.add - local.set $5 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $0 - local.get $5 - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $2 - i32.trunc_sat_f32_s - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 $0 - 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 16 - i32.const 11392 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11424 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - local.get $4 - i32.load $0 offset=8 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 2 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $8 - i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $0 - local.get $6 - i32.add - local.get $8 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_s - i32.const 0 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store8 $0 - local.get $0 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength i32.const 1 - i32.add - local.set $0 - br $for-loop|06 + i32.sub + br_table $0of1 $1of1 $outOfRange end + unreachable end - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11456 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 - i32.const 0 - i32.const 16 - i32.const 11488 - call $~lib/rt/__newArray - local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 - local.get $4 + i32.store $0 local.get $0 - 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 + call $~lib/typedarray/Int32Array#get:length + local.set $2 end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float32Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (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 4 + i32.const 20 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -38579,853 +34621,705 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i32.const 0 + i32.const 20 + memory.fill $0 + local.get $1 + i32.const 7728 i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.tee $3 local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + i32.const 7728 + i32.store $0 offset=4 + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store $0 offset=8 loop $for-loop|0 - local.get $2 + local.get $0 local.get $3 i32.lt_s if - local.get $2 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $4 - local.get $2 + global.get $~lib/memory/__stack_pointer + local.tee $2 local.get $1 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11552 - i32.store $0 - i32.const 11552 - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable - end + i32.store $0 offset=4 local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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 $2 + local.set $0 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/Uint8Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) - (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 0 + i32.const 0 + call $~lib/typedarray/Float32Array#indexOf if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + 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.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 - local.get $6 + i32.store $0 offset=4 + local.get $1 + f32.const 11 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + 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 - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 + local.get $1 i32.store $0 offset=4 - local.get $7 + local.get $1 + f32.const -1 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + 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 global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 offset=8 local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 3 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + 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 $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + i32.store $0 offset=4 local.get $1 + f32.const 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 $4 - i32.store $0 offset=12 + call $~lib/typedarray/Float32Array#indexOf + i32.const 3 + 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 - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 11520 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - local.get $4 - i32.load $0 offset=8 - i32.const 11100 - i32.load $0 - local.tee $8 + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 609 i32.const 3 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 610 i32.const 3 - i32.add - local.set $5 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $0 - local.get $5 - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $2 - i32.trunc_sat_f32_u - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 1 + i32.const -100 + call $~lib/typedarray/Float32Array#indexOf + i32.const 1 + i32.ne + if i32.const 0 - i32.const 64 - i32.const 11600 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> - i32.const 10 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const 0 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + if i32.const 0 - i32.const 64 - i32.const 11632 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - local.get $4 - i32.load $0 offset=8 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 2 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $8 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const 11 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $0 - local.get $6 - i32.add - local.get $8 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_u - i32.const 0 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|06 - end - end - i32.const 10 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const -1 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if i32.const 0 - i32.const 64 - i32.const 11664 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int8Array#set<~lib/array/Array> - i32.const 10 + i32.const 1568 + i32.const 615 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f32.const 3 + call $~lib/typedarray/Float32Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if i32.const 0 - i32.const 64 - i32.const 11696 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - 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 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (type $i32_i32_=>_none) (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 $1 + i32.store $0 offset=4 + local.get $1 + f32.const 3 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const 3 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 617 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - local.tee $3 local.get $1 - i32.load $0 offset=12 + i32.store $0 offset=4 + local.get $1 + 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 758 + i32.const 618 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 $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $4 - local.get $2 - local.get $1 - i32.load $0 offset=4 - i32.add - i32.load8_u $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 11760 - i32.store $0 - i32.const 11760 - 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 764 - 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 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 619 + 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/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (type $none_=>_none) - (local $0 i32) - (local $1 f32) - (local $2 f64) - (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 + i32.store $0 offset=4 + local.get $1 + 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 620 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + f32.const 1 + i32.const -11 + call $~lib/typedarray/Float32Array#lastIndexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 622 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $3 + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.const 9 + call $~lib/typedarray/Float32Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + f32.const 3 i32.const 0 - i32.const 20 - memory.fill $0 - local.get $3 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 - local.get $4 + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + f32.const 4 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $4 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $4 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + call $~lib/typedarray/Float32Array#indexOf + if + i32.const 0 + i32.const 1568 + i32.const 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $5 + local.get $0 i32.store $0 offset=4 - local.get $5 + local.get $0 + f32.const 5 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $5 + call $~lib/typedarray/Float32Array#indexOf i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $5 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $5 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $6 - i32.store $0 offset=8 - local.get $6 + local.get $0 + i32.store $0 offset=4 + local.get $0 + f32.const 9 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $6 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $6 - i32.const 2 - i32.const 1002 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Float32Array#indexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11020 - i32.load $0 - local.tee $8 - local.get $7 - i32.load $0 offset=8 - i32.gt_s - br_if $folding-inner0 - local.get $7 - i32.load $0 offset=4 - local.set $9 - i32.const 11012 - i32.load $0 - local.set $10 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $0 - local.get $9 - i32.add - i32.const 255 - local.get $10 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $3 - i32.sub - i32.const 31 - i32.shr_s - local.get $3 - i32.or - local.get $3 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 + local.get $0 + i32.store $0 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 64 - i32.const 11728 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - local.get $7 - i32.load $0 offset=8 - i32.const 11100 - i32.load $0 - local.tee $3 + i32.const 1568 + i32.const 630 i32.const 3 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $7 - i32.load $0 offset=4 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 i32.const 3 - i32.add - local.set $8 - i32.const 11092 - i32.load $0 - local.set $9 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + f32.const 5 + i32.const 1 + call $~lib/typedarray/Float32Array#indexOf + i32.const 1 + i32.ne + if i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $0 - local.get $8 - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $1 - f32.const 255 - f32.min - f32.const 0 - f32.max - i32.trunc_sat_f32_u - i32.const 0 - local.get $1 - local.get $1 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|06 - end - end - i32.const 10 + i32.const 1568 + i32.const 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 64 - i32.const 11824 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.const 1568 + i32.const 633 + 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 (type $i32_f64_i32_=>_i32) (param $0 i32) (param $1 f64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $3 local.get $0 - i32.store $0 offset=16 - local.get $7 + i32.store $0 + local.get $3 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $7 - local.get $4 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - i32.const 10 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.tee $3 + i32.eqz + local.get $2 + local.get $3 + i32.ge_s + i32.or + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 i32.const 0 - i32.const 64 - i32.const 11856 - call $~lib/rt/__newArray - local.set $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 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 - local.get $7 + i32.store $0 offset=4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - local.get $7 - i32.load $0 offset=8 - i32.const 11196 - i32.load $0 - local.tee $3 - i32.const 2 - i32.add - i32.lt_s - br_if $folding-inner0 - local.get $7 i32.load $0 offset=4 - i32.const 2 - i32.add - local.set $4 - i32.const 11188 - i32.load $0 - local.set $8 - i32.const 0 local.set $0 - loop $for-loop|013 - local.get $0 + loop $while-continue|0 + local.get $2 local.get $3 i32.lt_s if + local.get $2 local.get $0 - local.get $4 - i32.add - local.get $8 - local.get $0 + local.get $2 i32.const 3 i32.shl i32.add f64.load $0 - local.tee $2 - f64.const 255 - f64.min - f64.const 0 - f64.max - i32.trunc_sat_f64_u - i32.const 0 - local.get $2 - local.get $2 - f64.sub - f64.const 0 + local.get $1 f64.eq - select - i32.store8 $0 - local.get $0 + br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 i32.const 1 i32.add - local.set $0 - br $for-loop|013 + local.set $2 + br $while-continue|0 end end - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 11888 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.const -1 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/typedarray/Float64Array#lastIndexOf (type $i32_f64_i32_=>_i32) (param $0 i32) (param $1 f64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + block $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $3 local.get $0 - i32.store $0 offset=16 - local.get $7 + i32.store $0 + local.get $3 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - local.get $7 - local.get $5 - call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> - local.get $7 - local.get $6 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $7 - i32.load $0 offset=8 - i32.const 11276 - i32.load $0 + i32.store $0 offset=4 + i32.const -1 + local.get $0 + call $~lib/typedarray/Int64Array#get:length local.tee $3 - i32.const 7 + i32.eqz + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 + local.get $3 i32.add + local.get $3 + i32.const 1 + i32.sub + local.get $2 + local.get $2 + local.get $3 + i32.ge_s + select + local.get $2 + i32.const 0 i32.lt_s - br_if $folding-inner0 - local.get $7 + select + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 - i32.const 7 - i32.add - local.set $4 - i32.const 11268 - i32.load $0 - local.set $5 - i32.const 0 local.set $0 - loop $for-loop|020 - local.get $0 - local.get $3 - i32.lt_s + loop $while-continue|0 + local.get $2 + i32.const 0 + i32.ge_s if + local.get $2 local.get $0 - local.get $4 - i32.add - i32.const 255 - local.get $0 - local.get $5 + local.get $2 + i32.const 3 + i32.shl i32.add - i32.load8_s $0 - local.tee $6 - i32.sub - i32.const 31 - i32.shr_s - local.get $6 - i32.or - local.get $6 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 $0 - local.get $0 + f64.load $0 + local.get $1 + f64.eq + br_if $~lib/typedarray/LAST_INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $2 i32.const 1 - i32.add - local.set $0 - br $for-loop|020 + i32.sub + local.set $2 + br $while-continue|0 end end - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 11920 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - 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 + i32.const -1 end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Float64Array#lastIndexOf@varargs (type $i32_f64_=>_i32) (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 @@ -39444,88 +35338,42 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - 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 - i32.const 1 - i32.shl - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load16_s $0 - local.tee $4 - local.get $1 - i32.load $0 offset=4 - local.get $5 - i32.add - i32.load16_s $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12000 - i32.store $0 - i32.const 12000 - 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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $0of1 $1of1 $outOfRange end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 + unreachable end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $2 end global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array#lastIndexOf + local.set $0 + global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (type $none_=>_none) + (func $std/typedarray/testArrayIndexOfAndLastIndexOf<~lib/typedarray/Float64Array,f64> (type $none_=>_none) (local $0 i32) (local $1 i32) - (local $2 f32) - (local $3 f64) - (local $4 i32) - (local $5 i32) - (local $6 i32) - (local $7 i32) - (local $8 i32) - (local $9 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 20 i32.sub @@ -39547,768 +35395,524 @@ i32.const 20 memory.fill $0 local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 + i32.const 7728 i32.store $0 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $6 - 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 $7 + local.get $1 + i32.const 7728 i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 3 - i32.const 103 - call $~lib/typedarray/Uint8Array#__set + i32.const 7728 + call $~lib/array/Array#get:length + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Int16Array#constructor + local.get $3 + call $~lib/typedarray/Float64Array#constructor local.tee $1 i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + i32.const 7728 + i32.store $0 offset=12 + local.get $1 + local.get $0 + i32.const 7728 + 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 $0 offset=4 + local.get $1 + f64.const 0 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + call $~lib/typedarray/Float64Array#indexOf + 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 $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + i32.store $0 offset=4 local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 11952 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $8 - i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 6 - i32.add - local.set $5 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $2 - i32.trunc_sat_f32_s - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store16 $0 - 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 65 - i32.const 12048 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 12096 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 4 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $8 + f64.const 11 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne + if i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $6 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_s - i32.const 0 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store16 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|06 - end - end - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 12144 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 10 - i32.const 1 - i32.const 65 - i32.const 12192 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - 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 + i32.const 1568 + i32.const 604 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (type $i32_i32_=>_none) (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 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const -1 + i32.const 0 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + 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 $1 + i32.store $0 offset=4 + local.get $1 + f64.const 3 i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 + call $~lib/typedarray/Float64Array#indexOf + i32.const 3 + 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 $1 - i32.load $0 offset=12 + i32.store $0 offset=4 + local.get $1 + 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 758 + i32.const 607 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 - i32.const 1 - i32.shl - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load16_u $0 - local.tee $4 - local.get $1 - i32.load $0 offset=4 - local.get $5 - i32.add - i32.load16_u $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12288 - i32.store $0 - i32.const 12288 - 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 764 - 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 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 608 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 3 i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint16Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) - (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 $~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 global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 1 + i32.const 10 + call $~lib/typedarray/Float64Array#indexOf + i32.const -1 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 610 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $6 - i32.store $0 - local.get $6 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $6 + i32.store $0 offset=4 + local.get $1 + f64.const 1 + i32.const -100 + call $~lib/typedarray/Float64Array#indexOf i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $6 - i32.const 2 - i64.const 9 - call $~lib/typedarray/Int64Array#__set + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 611 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 + local.get $1 i32.store $0 offset=4 - local.get $7 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $7 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - 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 $1 - i32.store $0 offset=8 + global.set $~argumentsLength local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set + f64.const 0 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + if + i32.const 0 + i32.const 1568 + i32.const 613 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set + global.set $~argumentsLength local.get $1 - 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 $4 - i32.store $0 offset=12 + f64.const 11 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 614 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 10 + local.get $1 + i32.store $0 offset=4 i32.const 1 - i32.const 66 - i32.const 12240 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $8 + global.set $~argumentsLength + local.get $1 + f64.const -1 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 615 i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 6 - i32.add - local.set $5 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $5 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $9 - local.get $0 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $2 - i32.trunc_sat_f32_u - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store16 $0 - 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 66 - i32.const 12336 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 12384 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 4 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $8 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $1 + f64.const 3 + call $~lib/typedarray/Float64Array#lastIndexOf@varargs + i32.const 3 + i32.ne + if i32.const 0 - local.set $0 - loop $for-loop|06 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $6 - local.get $0 - i32.const 1 - i32.shl - i32.add - local.get $8 - local.get $0 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_u - i32.const 0 - local.get $3 - local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store16 $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|06 - end - end - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 12432 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int16Array#set<~lib/array/Array> - i32.const 10 - i32.const 1 - i32.const 66 - i32.const 12480 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - 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 + i32.const 1568 + i32.const 616 + i32.const 3 + call $~lib/builtins/abort + unreachable end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (type $i32_i32_=>_none) (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 $1 + i32.store $0 offset=4 + local.get $1 + f64.const 3 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 617 + i32.const 3 + call $~lib/builtins/abort + unreachable + end global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 3 + i32.const 3 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const 3 + i32.ne if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 0 + i32.const 1568 + i32.const 618 + i32.const 3 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 + local.get $1 + i32.store $0 offset=4 + local.get $1 + f64.const 3 i32.const 2 - i32.shr_u - local.tee $3 + call $~lib/typedarray/Float64Array#lastIndexOf + i32.const -1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 619 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer local.get $1 - i32.load $0 offset=12 + i32.store $0 offset=4 + local.get $1 + 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 758 + i32.const 620 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 - i32.const 2 - i32.shl - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load $0 - local.tee $4 - local.get $1 - i32.load $0 offset=4 - local.get $5 - i32.add - i32.load $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12592 - i32.store $0 - i32.const 12592 - 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 764 - 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 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 621 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 622 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 i32.const 4 + i32.const 9 + call $~lib/typedarray/Float64Array#subarray + local.tee $0 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 626 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 627 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 628 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 629 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 630 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 631 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 632 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 633 + 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/testTypedArraySet<~lib/typedarray/Int32Array> (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 f32) - (local $3 f64) + (func $~lib/string/String#substring (type $i32_i32_=>_i32) (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 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -40323,284 +35927,290 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $7 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 i32.store $0 - local.get $7 + local.get $1 i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $7 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $7 - 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 $8 - i32.store $0 offset=4 - local.get $8 + local.get $1 i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $8 + i32.gt_s + select + local.tee $2 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - 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.shr_u local.tee $1 - i32.store $0 offset=8 local.get $1 + local.get $2 + i32.gt_s + select + local.tee $2 i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 + local.get $2 + i32.const 0 + i32.le_s + select i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - i32.const 11008 + i32.shl + local.set $3 + local.get $2 i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 + local.get $2 + i32.const 0 + i32.ge_s + select + i32.const 1 + i32.shl + local.tee $4 + local.get $3 + 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 7776 + return + end + local.get $3 + i32.eqz + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.eq + i32.and + 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 $2 i32.const 2 - i32.const 17 - i32.const 12528 - call $~lib/rt/__newArray - local.set $5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + local.get $3 + i32.add + local.get $2 + memory.copy $0 $0 global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $~lib/typedarray/Int8Array#join (type $i32_=>_i32) (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 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $5 - i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 12 - i32.add - local.set $9 - i32.const 11092 - i32.load $0 - local.set $10 - loop $for-loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $10 - local.get $0 - i32.const 2 - i32.shl - local.tee $6 - i32.add - f32.load $0 - local.set $2 - local.get $6 - local.get $9 - i32.add - local.get $2 - i32.trunc_sat_f32_s - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 12640 - call $~lib/rt/__newArray - local.set $0 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 12704 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i32.store $0 offset=16 + i32.load $0 offset=4 + local.set $3 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 8 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $7 - i32.const 0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.set $0 - loop $for-loop|06 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 i32.lt_s if - local.get $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load8_s $0 + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 local.get $0 - i32.const 2 - i32.shl + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 11 i32.add - local.get $7 + local.get $5 + i32.mul + i32.const 11 + i32.add + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 - i32.const 3 + local.get $4 + local.get $1 + i32.const 1 i32.shl i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_s - i32.const 0 - local.get $3 local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store $0 - local.get $0 - i32.const 1 + local.get $5 i32.add - local.set $0 - br $for-loop|06 + i32.load8_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 12768 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - local.get $4 - local.get $8 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 17 - i32.const 12832 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -40615,386 +36225,338 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 local.get $1 - i32.load $0 offset=12 - i32.ne + i32.eq if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1 + return end - loop $for-loop|0 + block $folding-inner0 + local.get $1 + i32.eqz + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 local.get $2 + local.get $1 + i32.store $0 local.get $3 - i32.lt_s + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and if - local.get $2 - i32.const 2 - i32.shl - local.tee $5 - local.get $0 - i32.load $0 offset=4 - i32.add - i32.load $0 - local.tee $4 - local.get $1 - i32.load $0 offset=4 - local.get $5 - i32.add - i32.load $0 - local.tee $5 - i32.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 12960 - i32.store $0 - i32.const 12960 - i32.const 3 + loop $do-loop|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 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end end - local.get $2 - i32.const 1 - i32.add - local.set $2 - br $for-loop|0 end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i32.eqz + return end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + i32.const 0 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint32Array> (type $none_=>_none) - (local $0 i32) + (func $~lib/typedarray/Uint8Array#join (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 f32) - (local $3 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) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $7 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $7 - 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 $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - 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 $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - i32.const 11008 - i32.const 0 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 12896 - call $~lib/rt/__newArray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=16 - local.get $4 - local.get $5 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $5 - i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 12 - i32.add - local.set $9 - i32.const 11092 - i32.load $0 - local.set $10 - loop $for-loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - local.get $10 - local.get $0 - i32.const 2 - i32.shl - local.tee $6 - i32.add - f32.load $0 - local.set $2 - local.get $6 - local.get $9 - i32.add - local.get $2 - i32.trunc_sat_f32_u - i32.const 0 - local.get $2 - local.get $2 - f32.sub - f32.const 0 - f32.eq - select - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0 - end - end - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 13008 - call $~lib/rt/__newArray - local.set $0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $4 - local.get $7 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 13072 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i32.store $0 offset=16 + i32.load $0 offset=4 + local.set $3 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 8 - i32.add - local.set $6 - i32.const 11188 - i32.load $0 - local.set $7 - i32.const 0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.set $0 - loop $for-loop|06 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 i32.lt_s if - local.get $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load8_u $0 + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 local.get $0 - i32.const 2 - i32.shl + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 10 i32.add - local.get $7 + local.get $5 + i32.mul + i32.const 10 + i32.add + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $3 + i32.add + i32.load8_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 - i32.const 3 + local.get $4 + local.get $1 + i32.const 1 i32.shl i32.add - f64.load $0 - local.tee $3 - i32.trunc_sat_f64_u - i32.const 0 - local.get $3 local.get $3 - f64.sub - f64.const 0 - f64.eq - select - i32.store $0 - local.get $0 - i32.const 1 + local.get $5 i32.add - local.set $0 - br $for-loop|06 + i32.load8_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 13136 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - local.get $4 - local.get $8 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 67 - i32.const 13200 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i64) - (local $6 i64) + (func $~lib/typedarray/Uint8Array#toString (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -41009,21249 +36571,4987 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 + i32.store $0 local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - 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 - i32.const 3 - i32.shl - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.add - i64.load $0 - local.tee $5 - local.get $1 - i32.load $0 offset=4 - local.get $4 - i32.add - i64.load $0 - local.tee $6 - i64.ne - if - global.get $~lib/memory/__stack_pointer - i32.const 13376 - i32.store $0 - i32.const 13376 - i32.const 3 - local.get $2 - 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.const 1568 - i32.const 764 - 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 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Uint8Array#join + local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 ) - (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (type $none_=>_none) - (local $0 i32) + (func $~lib/typedarray/Int16Array#join (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) - (local $2 f64) - (local $3 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) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $5 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $5 - 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 $6 - i32.store $0 offset=4 - local.get $6 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - 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 $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 13264 - call $~lib/rt/__newArray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=16 - local.get $4 - local.get $7 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $7 - i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 i32.load $0 offset=4 - i32.const 24 - i32.add - local.set $8 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - local.get $7 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 i32.lt_s if - local.get $8 - local.get $0 - i32.const 3 - i32.shl + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.get $9 + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load16_s $0 + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 local.get $0 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 11 + i32.add + local.get $5 + i32.mul + i32.const 11 + i32.add + local.tee $0 + i32.const 1 + i32.shl i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 $4 + local.get $1 + i32.const 1 i32.shl i32.add - f32.load $0 - local.tee $3 - i64.trunc_sat_f32_s - i64.const 0 local.get $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - select - i64.store $0 - local.get $0 + local.get $5 i32.const 1 + i32.shl i32.add - local.set $0 - br $for-loop|0 + i32.load16_s $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 13424 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint16Array#join (type $i32_=>_i32) (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $4 - local.get $5 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 13536 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i32.store $0 offset=16 + i32.load $0 offset=4 + local.set $3 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 16 - i32.add - local.set $7 - i32.const 11188 - i32.load $0 - local.set $8 - i32.const 0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length local.set $0 - loop $for-loop|06 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 i32.lt_s if - local.get $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load16_u $0 + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 local.get $0 - i32.const 3 - i32.shl - local.tee $9 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 10 i32.add - f64.load $0 - local.set $2 - local.get $7 - local.get $9 + local.get $5 + i32.mul + i32.const 10 i32.add - local.get $2 - i64.trunc_sat_f64_s - i64.const 0 - local.get $2 - local.get $2 - f64.sub - f64.const 0 - f64.eq - select - i64.store $0 + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 $4 + local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $for-loop|06 + local.get $3 + local.get $5 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 13648 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 68 - i32.const 13760 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int32Array#join (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) (local $3 i32) (local $4 i32) - (local $5 i64) - (local $6 i64) + (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 - local.get $2 - local.get $3 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - if - local.get $2 - i32.const 3 - i32.shl - local.tee $4 + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $4 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - i32.load $0 offset=4 - i32.add - i64.load $0 + i32.const 1 + i32.sub local.tee $5 - local.get $1 - i32.load $0 offset=4 - local.get $4 - i32.add - i64.load $0 - local.tee $6 - i64.ne + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 13984 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load $0 + call $~lib/util/number/itoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 i32.store $0 - i32.const 13984 - i32.const 3 - local.get $2 - f64.convert_i32_s + local.get $0 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 11 + i32.add 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.const 1568 - i32.const 764 - 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/testTypedArraySet<~lib/typedarray/Uint64Array> (type $none_=>_none) - (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) - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $5 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $5 - 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 $6 - i32.store $0 offset=4 - local.get $6 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $6 - 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 $1 - i32.store $0 offset=8 - local.get $1 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $1 - 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 $4 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 13872 - call $~lib/rt/__newArray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=16 - local.get $4 - local.get $7 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - block $folding-inner0 - i32.const 11100 - i32.load $0 - local.tee $7 - i32.const 3 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 24 - i32.add - local.set $8 - i32.const 11092 - i32.load $0 - local.set $9 - loop $for-loop|0 - local.get $0 - local.get $7 - i32.lt_s - if - local.get $8 + i32.mul + i32.const 11 + i32.add + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 - i32.const 3 + local.get $4 + local.get $1 + i32.const 1 i32.shl i32.add - local.get $9 - local.get $0 + local.get $3 + local.get $5 i32.const 2 i32.shl i32.add - f32.load $0 - local.tee $3 - i64.trunc_sat_f32_u - i64.const 0 - local.get $3 - local.get $3 - f32.sub - f32.const 0 - f32.eq - select - i64.store $0 - local.get $0 - i32.const 1 + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 i32.add - local.set $0 - br $for-loop|0 + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 14032 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint32Array#join (type $i32_=>_i32) (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 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $4 - local.get $5 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 14144 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $0 - i32.store $0 offset=16 + i32.load $0 offset=4 + local.set $3 local.get $4 local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 11184 - i32.store $0 offset=16 - i32.const 11196 - i32.load $0 - local.tee $5 - i32.const 2 - i32.add - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner0 - local.get $4 - i32.load $0 offset=4 - i32.const 16 - i32.add - local.set $7 - i32.const 11188 - i32.load $0 - local.set $8 - i32.const 0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length local.set $0 - loop $for-loop|06 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray (result i32) + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $0 - local.get $5 + i32.const 1 + i32.sub + local.tee $5 + i32.const 0 i32.lt_s if - local.get $8 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $5 + i32.eqz + if + local.get $3 + i32.load $0 + call $~lib/util/number/utoa32 + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 local.get $0 - i32.const 3 - i32.shl - local.tee $9 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 10 i32.add - f64.load $0 - local.set $2 - local.get $7 - local.get $9 + local.get $5 + i32.mul + i32.const 10 i32.add - local.get $2 - i64.trunc_sat_f64_u - i64.const 0 - local.get $2 - local.get $2 - f64.sub - f64.const 0 - f64.eq - select - i64.store $0 + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $3 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $6 + if + local.get $4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $6 + 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 $4 + local.get $1 i32.const 1 + i32.shl i32.add - local.set $0 - br $for-loop|06 + local.get $3 + local.get $5 + i32.const 2 + i32.shl + i32.add + i32.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $0 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + 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 $4 + br $__inlined_func$~lib/util/string/joinIntegerArray end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 end - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 14256 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - local.get $4 - local.get $6 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> - local.get $4 - local.get $1 - call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - local.get $4 - call $~lib/typedarray/Int64Array#set<~lib/array/Array> - i32.const 10 - i32.const 3 - i32.const 69 - i32.const 14368 - call $~lib/rt/__newArray local.set $0 global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $4 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> - global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $0 return end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/typedarray/Int64Array#join (type $i32_=>_i32) (param $0 i32) (result i32) + (local $1 i32) (local $2 i32) - (local $3 i32) + (local $3 i64) (local $4 i32) - (local $5 f32) - (local $6 f32) + (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - loop $for-loop|0 + block $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 local.get $2 - local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $5 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s - if - local.get $2 - i32.const 2 - i32.shl - local.tee $4 + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinIntegerArray local.get $0 - i32.load $0 offset=4 - i32.add - f32.load $0 - local.tee $5 - local.get $1 - i32.load $0 offset=4 - local.get $4 - i32.add - f32.load $0 - local.tee $6 - f32.ne + i32.const 1 + i32.sub + local.tee $4 + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 14544 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + local.set $0 + br $__inlined_func$~lib/util/string/joinIntegerArray + end + block $folding-inner0 + local.get $4 + i32.eqz + if + block $__inlined_func$~lib/util/number/itoa64 (result i32) + local.get $5 + i64.load $0 + i64.extend32_s + local.set $3 + 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 16320 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 8000 + br $__inlined_func$~lib/util/number/itoa64 + end + i64.const 0 + local.get $3 + i64.sub + local.get $3 + local.get $3 + i64.const 63 + i64.shr_u + i32.wrap_i64 + i32.const 1 + i32.shl + local.tee $4 + select + local.tee $3 + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.wrap_i64 + local.tee $2 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 100 + i32.lt_u + if (result i32) + local.get $2 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + local.get $2 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $2 + i32.const 1000 + i32.ge_u + i32.add + end + else + local.get $2 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $2 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + local.get $2 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $2 + i32.const 100000000 + i32.ge_u + i32.add + end + end + local.tee $0 + i32.const 1 + i32.shl + local.get $4 + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $4 + i32.add + local.get $2 + local.get $0 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $3 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $3 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $3 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $3 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $3 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $3 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $3 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + i32.const 1 + i32.shl + local.get $4 + i32.add + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $4 + i32.add + local.get $3 + local.get $0 + call $~lib/util/number/utoa64_dec_lut + end + local.get $4 + if + local.get $1 + i32.const 45 + i32.store16 $0 + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + end + local.set $0 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 i32.store $0 - i32.const 14544 - i32.const 3 - local.get $2 - f64.convert_i32_s + local.get $0 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $2 + i32.const 21 + i32.add + local.get $4 + i32.mul + i32.const 21 + i32.add + local.tee $6 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $4 + local.get $7 + i32.gt_s + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $5 + local.get $7 + i32.const 3 + i32.shl + i32.add + i64.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $2 + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $2 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $2 + i32.add + local.set $1 + end + local.get $7 + i32.const 1 + i32.add + local.set $7 + br $for-loop|0 + end + end + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add local.get $5 - f64.promote_f32 + local.get $4 + i32.const 3 + i32.shl + i32.add + i64.load $0 + call $~lib/util/number/itoa_buffered + local.get $1 + i32.add + local.tee $1 local.get $6 - f64.promote_f32 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + 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 + br $__inlined_func$~lib/util/string/joinIntegerArray end - local.get $2 - i32.const 1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add - local.set $2 - br $for-loop|0 + 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 + return end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable ) - (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (func $~lib/util/string/joinIntegerArray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) (local $2 i32) - (local $3 i32) + (local $3 i64) (local $4 i32) - (local $5 f64) - (local $6 f64) + (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - local.get $1 - i32.load $0 offset=12 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 758 - 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 - i32.const 3 - i32.shl - local.tee $4 - local.get $0 - i32.load $0 offset=4 - i32.add - f64.load $0 - local.tee $5 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 local.get $1 - i32.load $0 offset=4 - local.get $4 - i32.add - f64.load $0 + i32.const 1 + i32.sub local.tee $6 - f64.ne + i32.const 0 + i32.lt_s if global.get $~lib/memory/__stack_pointer - i32.const 14896 - i32.store $0 - i32.const 14896 - i32.const 3 - local.get $2 - f64.convert_i32_s - local.get $5 - local.get $6 - f64.const 0 - f64.const 0 - call $~lib/builtins/trace - i32.const 0 - i32.const 1568 - i32.const 764 - i32.const 7 - call $~lib/builtins/abort - unreachable + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 7776 + 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 - ) - (func $start:std/typedarray (type $none_=>_none) - (local $0 i32) - (local $1 i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 f32) - (local $7 i32) - (local $8 i32) - (local $9 i32) - (local $10 f64) - (local $11 i64) - (local $12 i32) - (local $13 i64) - (local $14 f32) - (local $15 f64) - global.get $~lib/memory/__stack_pointer - i32.const 120 - i32.sub - global.set $~lib/memory/__stack_pointer - block $folding-inner38 - block $folding-inner24 - block $folding-inner0 + local.get $6 + i32.eqz + if + local.get $0 + i64.load $0 + local.set $3 + 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 16320 i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 120 - memory.fill $0 - memory.size $0 - i32.const 16 - i32.shl - i32.const 49088 - i32.sub - i32.const 1 - i32.shr_u - global.set $~lib/rt/itcms/threshold - i32.const 1284 - i32.const 1280 - i32.store $0 - i32.const 1288 - i32.const 1280 - i32.store $0 - i32.const 1280 - global.set $~lib/rt/itcms/pinSpace - i32.const 1316 - i32.const 1312 - i32.store $0 - i32.const 1320 - i32.const 1312 - i32.store $0 - i32.const 1312 - global.set $~lib/rt/itcms/toSpace - i32.const 1460 - i32.const 1456 - i32.store $0 - i32.const 1464 - i32.const 1456 - i32.store $0 - i32.const 1456 - 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 $2 - i32.store $0 - local.get $2 - i32.const 0 - i32.const 1 - 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 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.load $0 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 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 96 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 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 - local.get $2 - 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 - local.get $2 - 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 $2 - 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 $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#subarray - local.tee $2 i32.store $0 - local.get $2 - i32.load $0 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 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - 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 $2 - i32.load $0 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 $2 - 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 $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 2 - f64.const 7 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 3 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 5 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 6 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 7 - f64.const 8 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Float64Array#subarray - local.tee $2 - i32.store $0 offset=4 - local.get $2 - i32.load $0 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 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - 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 $2 - i32.load $0 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 - local.get $2 - call $~lib/typedarray/Float64Array#sort@varargs - drop - local.get $2 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.eq - if (result i32) - local.get $2 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.eq - else - i32.const 0 - end - if (result i32) - local.get $2 - 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 $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - i32.const -32 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 2 - i32.const 256 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - 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 - local.get $2 - 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 $2 - 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 $7 - i32.store $0 offset=12 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - local.get $2 - i32.const 1 - i32.gt_s - select - local.tee $3 - i32.const 3 - local.get $2 - local.get $2 - i32.const 3 - i32.gt_s - select - local.tee $2 - i32.lt_s - if + block $__inlined_func$~lib/util/number/utoa64 local.get $3 - local.get $4 - i32.add - i32.const 1 - local.get $2 + i64.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 8000 + local.set $1 + br $__inlined_func$~lib/util/number/utoa64 + end local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1728 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 149 - i32.const 3 - call $~lib/builtins/abort - unreachable + i64.const 4294967295 + i64.le_u + if + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.wrap_i64 + local.tee $0 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 100 + i32.lt_u + if (result i32) + local.get $0 + i32.const 10 + i32.ge_u + i32.const 1 + i32.add + else + 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 + end + else + local.get $0 + i32.const 10000000 + i32.lt_u + if (result i32) + local.get $0 + i32.const 1000000 + i32.ge_u + i32.const 6 + i32.add + else + 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 + end + end + local.tee $2 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $0 + local.get $2 + call $~lib/util/number/utoa32_dec_lut + else + global.get $~lib/memory/__stack_pointer + local.get $3 + i64.const 1000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 1000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 100000000000 + i64.ge_u + i32.const 10 + i32.add + local.get $3 + i64.const 10000000000 + i64.ge_u + i32.add + else + local.get $3 + i64.const 100000000000000 + i64.ge_u + i32.const 13 + i32.add + local.get $3 + i64.const 10000000000000 + i64.ge_u + i32.add + end + else + local.get $3 + i64.const 100000000000000000 + i64.lt_u + if (result i32) + local.get $3 + i64.const 10000000000000000 + i64.ge_u + i32.const 16 + i32.add + else + local.get $3 + i64.const -8446744073709551616 + i64.ge_u + i32.const 18 + i32.add + local.get $3 + i64.const 1000000000000000000 + i64.ge_u + i32.add + end + end + local.tee $0 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + local.get $1 + local.get $3 + local.get $0 + call $~lib/util/number/utoa64_dec_lut + end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer end - i32.const 1 - global.set $~argumentsLength - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.le_s - select - local.tee $2 - local.get $3 + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 9584 + i32.store $0 + local.get $1 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $7 + i32.const 20 + i32.add + local.get $6 + i32.mul + i32.const 20 + i32.add + local.tee $1 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=4 + loop $for-loop|0 + local.get $4 + local.get $6 i32.lt_s if + local.get $5 local.get $2 - local.get $4 + i32.const 1 + i32.shl i32.add - i32.const 0 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1808 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - 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 - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $3 - local.get $2 - i32.const 3 - i32.sub - local.tee $2 - i32.lt_s - if - local.get $3 + local.get $0 local.get $4 - i32.add - i32.const 1 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1840 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - 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 - i32.const 2 - global.set $~argumentsLength - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - local.tee $3 - i32.const 2 - i32.sub - local.tee $2 - local.get $3 - i32.lt_s - if + i32.shl + i32.add + i64.load $0 + call $~lib/util/number/itoa_buffered local.get $2 + i32.add + local.set $2 + local.get $7 + if + local.get $5 + local.get $2 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $7 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $2 + local.get $7 + i32.add + local.set $2 + end local.get $4 + i32.const 1 i32.add - i32.const 2 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 + local.set $4 + br $for-loop|0 end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1872 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - 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 $7 - i32.load $0 offset=4 - local.set $4 - i32.const 1 - local.get $7 - i32.load $0 offset=8 - local.tee $2 + end + local.get $1 + local.get $5 + 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 $0 + 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 $5 + i32.store $0 + local.get $5 + local.get $0 + call $~lib/string/String#substring + local.set $1 + br $folding-inner1 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + 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 $~lib/typedarray/Uint64Array#join (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + local.get $2 + local.get $0 + call $~lib/util/string/joinIntegerArray + local.set $0 + 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 (type $i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $6 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinFloatArray + local.get $0 + i32.const 1 + i32.sub + local.tee $2 + 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 7776 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + local.get $2 + i32.eqz + if + local.get $6 + f32.load $0 + f64.promote_f32 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 + local.get $0 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 + i32.add + local.get $2 + i32.mul + i32.const 28 + i32.add + local.tee $3 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + loop $for-loop|0 local.get $2 - i32.const 1 + local.get $4 i32.gt_s - select - local.tee $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - local.tee $2 - i32.lt_s if - local.get $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 local.get $4 + i32.const 2 + i32.shl i32.add - i32.const 0 - local.get $2 - local.get $3 - i32.sub - memory.fill $0 - end - i32.const 5 - i32.const 0 - i32.const 16 - i32.const 1904 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - 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 $7 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $5 - i32.store $0 offset=20 - i32.const 1 - global.set $~argumentsLength - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - local.tee $3 - i32.const 0 - local.get $3 - i32.const 0 - i32.le_s - select - local.tee $2 - local.get $3 - i32.lt_s - if - local.get $2 + f32.load $0 + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $5 + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $5 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $5 + i32.add + local.set $1 + end local.get $4 + i32.const 1 i32.add - i32.const 0 - local.get $3 - local.get $2 - i32.sub - memory.fill $0 - end - local.get $5 - i32.load $0 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 - local.get $5 - i32.load $0 offset=4 - local.get $5 - i32.load $0 - 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 $5 - i32.load $0 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 + local.set $4 + br $for-loop|0 end - i32.const 3 - i32.const 0 - i32.const 16 - i32.const 1936 - call $~lib/rt/__newArray - local.set $2 + end + local.get $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $2 + i32.const 2 + i32.shl + i32.add + f32.load $0 + f64.promote_f32 + call $~lib/util/number/dtoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $5 - 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 16 - i32.const 1968 - call $~lib/rt/__newArray - local.set $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + 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 $0 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Float64Array#join (type $i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $6 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + block $__inlined_func$~lib/util/string/joinFloatArray + local.get $0 + i32.const 1 + i32.sub + local.tee $2 + 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 7776 + local.set $0 + br $__inlined_func$~lib/util/string/joinFloatArray + end + local.get $2 + i32.eqz + if + local.get $6 + f64.load $0 + call $~lib/util/number/dtoa + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 9584 + i32.store $0 + local.get $0 + i32.const 9580 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $5 + i32.const 28 + i32.add + local.get $2 + i32.mul + i32.const 28 + i32.add + local.tee $3 + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 offset=4 + loop $for-loop|0 local.get $2 - i32.store $0 offset=16 - local.get $7 - local.get $2 - call $std/typedarray/isInt8ArrayEqual - i32.eqz + local.get $4 + i32.gt_s if - i32.const 0 - i32.const 1568 - i32.const 169 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $4 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 $4 - i32.store $0 offset=24 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2000 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - 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 - i32.const 1 - global.set $~argumentsLength - local.get $4 - i32.const 0 - i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2048 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - 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 $4 - i32.const 1 - i32.const 0 - i32.const -3 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2096 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 187 - i32.const 3 - call $~lib/builtins/abort - unreachable + i32.shl + i32.add + f64.load $0 + call $~lib/util/number/dtoa_buffered + local.get $1 + i32.add + local.set $1 + local.get $5 + if + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.const 9584 + local.get $5 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $5 + i32.add + local.set $1 + end + local.get $4 + i32.const 1 + i32.add + local.set $4 + br $for-loop|0 end - i32.const 2 - global.set $~argumentsLength - local.get $4 - i32.const 2 - i32.const -2 - call $~lib/typedarray/Int32Array#fill@varargs - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2144 - call $~lib/rt/__newArray - local.set $2 + end + local.get $3 + local.get $0 + local.get $1 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $2 + i32.const 3 + i32.shl + i32.add + f64.load $0 + call $~lib/util/number/dtoa_buffered + local.get $1 + i32.add + local.tee $1 + i32.gt_s + if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - 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 $4 - i32.const 0 - i32.const 1 - i32.const 0 - call $~lib/typedarray/Int32Array#fill - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2192 - call $~lib/rt/__newArray - local.set $2 + local.get $0 + i32.store $0 + local.get $0 + local.get $1 + call $~lib/string/String#substring + local.set $0 global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 193 - i32.const 3 - call $~lib/builtins/abort + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + br $__inlined_func$~lib/util/string/joinFloatArray + end + global.get $~lib/memory/__stack_pointer + 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 $0 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint8Array.wrap@varargs (type $i32_i32_=>_i32) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + 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 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=28 - i32.const 1 - global.set $~argumentsLength - local.get $3 - i32.const 0 i32.const 0 - call $~lib/typedarray/Int32Array#fill@varargs - local.get $3 - i32.load $0 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 $3 - i32.load $0 offset=4 + local.set $1 + end + i32.const -1 + local.set $2 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.tee $3 + local.get $1 + i32.lt_u + if + i32.const 1360 + i32.const 1632 + i32.const 1860 + 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 - i32.load $0 + local.get $1 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 $3 - i32.load $0 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 17 - i32.const 2240 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - 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 17 - i32.const 2272 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $4 - local.get $2 - 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 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $2 + else + local.get $1 + local.get $2 + i32.add + local.get $3 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + if + local.get $3 + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $3 + local.get $2 + i32.store $0 offset=8 + local.get $3 + local.get $0 + local.get $1 + i32.add + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 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 $2 + i32.const 1 + call $~lib/rt/itcms/__new + local.tee $3 + i32.store $0 offset=4 + local.get $3 + local.get $0 + local.get $1 + i32.add + local.get $2 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + i32.const 10928 + i32.store $0 + local.get $0 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Int8Array#constructor + local.tee $7 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.gt_s + if global.get $~lib/memory/__stack_pointer - i32.const 6 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=32 - local.get $2 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 5 - i32.const 6 + local.tee $0 + local.get $7 + i32.store $0 offset=4 + local.get $0 + i32.const 10928 + i32.store $0 offset=12 + local.get $7 + local.get $6 + i32.const 10928 + local.get $6 + call $~lib/array/Array#__get + i32.extend8_s call $~lib/typedarray/Int8Array#__set + local.get $6 + i32.const 1 + i32.add + local.set $6 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $7 + i32.store $0 offset=12 + local.get $4 + local.get $7 + i32.load $0 + local.tee $3 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $4 + local.get $3 + local.get $2 + local.get $0 + local.get $7 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 0 + local.set $6 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $0 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $0 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $1 + else + local.get $0 + local.get $1 + i32.lt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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 $2 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $2 + i32.store $0 offset=20 + loop $for-loop|1 + local.get $5 + local.get $6 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $6 + call $~lib/typedarray/Int8Array#__get + local.set $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 - i32.const 6 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=36 + i32.store $0 offset=4 local.get $2 - i32.const 0 + local.get $6 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 - local.get $2 - i32.load $0 offset=8 - i32.const 5 + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 223 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub + local.get $6 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 $2 - i32.load $0 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 + i32.add + local.set $6 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + i32.const 10928 + i32.store $0 + local.get $0 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $7 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $5 + local.get $6 + i32.gt_s + if global.get $~lib/memory/__stack_pointer - local.get $2 + local.tee $0 + local.get $7 + i32.store $0 offset=4 + local.get $0 + i32.const 10928 + i32.store $0 offset=12 + local.get $7 + local.get $6 + i32.const 10928 + local.get $6 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8ClampedArray#__set + local.get $6 i32.const 1 - i32.const 5 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=40 - local.get $2 - 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 $2 - i32.load $0 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 $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - 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 $2 - i32.load $0 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 + i32.add + local.set $6 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $7 + i32.store $0 offset=12 + local.get $4 + local.get $7 + i32.load $0 + local.tee $3 + i32.store $0 offset=4 + local.get $4 + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=12 + local.get $4 + local.get $3 + local.get $2 + local.get $0 + local.get $7 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 0 + local.set $6 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $0 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $0 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $1 + else + local.get $0 + local.get $1 + i32.lt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $2 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $2 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $2 + i32.store $0 offset=20 + loop $for-loop|1 + local.get $5 + local.get $6 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + local.get $6 + call $~lib/typedarray/Uint8ClampedArray#__get + local.set $0 global.get $~lib/memory/__stack_pointer local.get $2 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#subarray - local.tee $2 - i32.store $0 offset=44 + i32.store $0 offset=4 local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 4 + local.get $6 + call $~lib/typedarray/Uint8ClampedArray#__get + local.get $0 i32.ne if i32.const 0 i32.const 1568 - i32.const 234 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 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 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - 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 $2 - i32.load $0 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 $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 1 - 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 3 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set + local.get $6 i32.const 1 - global.set $~argumentsLength + i32.add + local.set $6 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Int16Array#constructor + local.tee $3 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if global.get $~lib/memory/__stack_pointer - local.get $2 - call $~lib/typedarray/Int32Array#slice@varargs local.tee $4 - i32.store $0 offset=52 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2320 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 local.get $3 - 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 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 1 - i32.const 3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2368 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.const 10928 + i32.store $0 offset=12 local.get $3 - 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 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 + local.get $0 + i32.const 10928 + local.get $0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + local.get $0 i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2416 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - 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 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.load $0 + local.tee $4 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $4 + local.get $5 + local.get $6 + local.get $3 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $6 i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 2 - i32.const 2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2464 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.and if - i32.const 0 - i32.const 1568 - i32.const 254 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.get $6 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 1 + i32.shl + local.tee $0 + local.get $6 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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.tee $1 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $1 + i32.store $0 offset=20 + 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 $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2512 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $3 - 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 - i32.const 1 - global.set $~argumentsLength + local.get $0 + call $~lib/typedarray/Int16Array#__get + local.set $4 global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Int16Array#__get local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2560 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.ne if i32.const 0 i32.const 1568 - i32.const 258 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 1 - i32.const 2 - i32.const 4 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2608 - call $~lib/rt/__newArray - local.set $2 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Uint16Array#constructor + local.tee $3 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + local.tee $4 local.get $3 - 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 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const 0 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 - global.get $~lib/memory/__stack_pointer + i32.const 10928 + i32.store $0 offset=12 local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2656 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - 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 + local.get $0 + i32.const 10928 + 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.tee $0 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.load $0 + local.tee $4 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $4 + local.get $5 + local.get $6 + local.get $3 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $6 i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const 0 - i32.const -2 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2704 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 - local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + i32.and if - i32.const 0 - i32.const 1568 - i32.const 264 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -2 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + local.get $6 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 1 + i32.shl + local.tee $0 + local.get $6 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 8 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $1 + i32.store $0 offset=20 + 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 $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2752 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $0 + call $~lib/typedarray/Uint16Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint16Array#__get + local.get $4 + i32.ne if i32.const 0 i32.const 1568 - i32.const 266 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end + local.get $0 i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - local.get $2 - i32.const -4 - i32.const -3 - i32.const -1 - call $~lib/typedarray/Int32Array#copyWithin - local.set $3 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Int32Array#constructor + local.tee $3 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if global.get $~lib/memory/__stack_pointer + local.tee $4 local.get $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2800 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.store $0 offset=4 + local.get $4 + i32.const 10928 + i32.store $0 offset=12 local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $0 + i32.const 10928 + 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.tee $0 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.load $0 + local.tee $4 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $4 + local.get $5 + local.get $6 + local.get $3 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $6 + i32.const 3 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 268 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=48 - i32.const 2 - global.set $~argumentsLength - local.get $2 - i32.const -4 - i32.const -3 - call $~lib/typedarray/Int32Array#copyWithin@varargs - local.set $3 + local.get $6 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 2 + i32.shl + local.tee $0 + local.get $6 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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 $1 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $1 + i32.store $0 offset=20 + 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 $3 - i32.store $0 offset=56 - i32.const 5 - i32.const 2 - i32.const 17 - i32.const 2848 - call $~lib/rt/__newArray - local.set $2 - global.get $~lib/memory/__stack_pointer - local.get $2 - i32.store $0 offset=16 + i32.store $0 offset=4 local.get $3 - local.get $2 - call $std/typedarray/isInt32ArrayEqual - i32.eqz + local.get $0 + call $~lib/typedarray/Int32Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Int32Array#__get + local.get $4 + i32.ne if i32.const 0 i32.const 1568 - i32.const 270 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=60 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.get $4 + local.get $0 i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#subarray - local.tee $3 - i32.store $0 offset=64 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Uint32Array#constructor + local.tee $3 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $4 local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + i32.store $0 offset=4 + local.get $4 + i32.const 10928 + i32.store $0 offset=12 + local.get $3 + local.get $0 + i32.const 10928 + 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 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $3 + i32.load $0 + local.tee $4 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $3 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=12 + local.get $0 + local.get $4 + local.get $5 + local.get $6 + local.get $3 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange + end + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $4 + i32.store $0 offset=4 + local.get $4 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $6 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $6 i32.const 3 - i32.ne + i32.and if - i32.const 0 - i32.const 1568 - i32.const 282 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end + local.get $6 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 2 + i32.shl + local.tee $0 + local.get $6 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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 $1 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 + local.get $4 + if + local.get $1 + local.get $4 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $4 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + local.get $1 + i32.store $0 offset=20 + 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 $3 - i32.load $0 offset=4 - local.get $3 - i32.load $0 - 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 + i32.store $0 offset=4 local.get $3 - i32.load $0 offset=8 - i32.const 12 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint32Array#__get + local.get $4 i32.ne if i32.const 0 i32.const 1568 - i32.const 284 - i32.const 3 + i32.const 730 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (local $0 i32) + (local $1 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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Int64Array#constructor + local.tee $4 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $5 + i32.const 10928 + i32.store $0 offset=12 local.get $4 + local.get $0 + i32.const 10928 + 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 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=68 - local.get $2 - 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 + i32.add + local.set $0 + br $for-loop|0 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $5 + local.get $6 + local.get $7 + local.get $4 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $7 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $7 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 288 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 2 - i32.ne + local.get $7 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 3 + i32.shl + local.tee $0 + local.get $7 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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 $1 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $1 + i32.store $0 offset=20 + 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 $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Int64Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Int64Array#__get + local.get $3 + i64.ne if i32.const 0 i32.const 1568 - i32.const 289 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - if - i32.const 0 - i32.const 1568 - i32.const 290 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (local $0 i32) + (local $1 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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Uint64Array#constructor + local.tee $4 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $5 + i32.const 10928 + i32.store $0 offset=12 + local.get $4 + local.get $0 + i32.const 10928 + 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.tee $0 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $5 + local.get $6 + local.get $7 + local.get $4 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end - local.get $2 - i32.load $0 offset=8 - i32.const 8 - i32.ne + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $7 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $7 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 291 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end + local.get $7 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 3 + i32.shl + local.tee $0 + local.get $7 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 12 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $1 + i32.store $0 offset=20 + 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 $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Uint64Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint64Array#__get local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#slice - local.tee $2 - i32.store $0 offset=72 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne + i64.ne if i32.const 0 i32.const 1568 - i32.const 294 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u + local.get $0 i32.const 1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 295 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 f32) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Float32Array#constructor + local.tee $4 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $4 + i32.store $0 offset=4 + local.get $5 + i32.const 10928 + i32.store $0 offset=12 + local.get $4 + local.get $0 + i32.const 10928 + 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.tee $0 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $5 + local.get $6 + local.get $7 + local.get $4 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $7 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $7 + i32.const 3 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 296 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end - local.get $2 - i32.load $0 offset=8 - i32.const 4 - i32.ne + local.get $7 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 2 + i32.shl + local.tee $0 + local.get $7 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + 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 $1 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $1 + i32.store $0 offset=20 + 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 $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + call $~lib/typedarray/Float32Array#__get + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Float32Array#__get + local.get $3 + f32.ne if i32.const 0 i32.const 1568 - i32.const 297 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $4 - call $~lib/typedarray/Int32Array#slice@varargs - local.tee $2 - i32.store $0 offset=76 - local.get $2 - local.get $4 - i32.eq - if - i32.const 0 - i32.const 1568 - i32.const 300 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $4 - i32.load $0 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 $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArrayWrap<~lib/typedarray/Float64Array,f64> (type $none_=>_none) + (local $0 i32) + (local $1 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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $2 + i32.const 10928 + i32.store $0 + local.get $2 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + call $~lib/typedarray/Float64Array#constructor + local.tee $4 + i32.store $0 offset=8 + loop $for-loop|0 + local.get $0 + local.get $2 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $5 local.get $4 - i32.load $0 offset=4 + i32.store $0 offset=4 + local.get $5 + i32.const 10928 + i32.store $0 offset=12 local.get $4 - i32.load $0 - i32.sub - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 302 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 10928 + 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.tee $0 + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $4 + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $0 + local.get $5 + local.get $6 + local.get $7 + local.get $4 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $5 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 + block $2of2 + block $1of2 + block $outOfRange + global.get $~argumentsLength + i32.const 1 + i32.sub + br_table $1of2 $1of2 $2of2 $outOfRange end - local.get $2 - i32.load $0 offset=8 - local.get $4 - i32.load $0 offset=8 - i32.ne + unreachable + end + i32.const -1 + local.set $1 + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $5 + i32.store $0 + local.get $0 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $5 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + local.set $7 + local.get $1 + i32.const 0 + i32.lt_s + if + local.get $1 + i32.const -1 + i32.eq + if (result i32) + local.get $7 + i32.const 7 + i32.and if - i32.const 0 - i32.const 1568 - i32.const 303 - i32.const 3 + i32.const 1056 + i32.const 1632 + i32.const 1865 + i32.const 9 call $~lib/builtins/abort unreachable end + local.get $7 + else + i32.const 1056 + i32.const 1632 + i32.const 1869 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + local.set $0 + else + local.get $1 + i32.const 3 + i32.shl + local.tee $0 + local.get $7 + i32.gt_s + if + i32.const 1056 + i32.const 1632 + i32.const 1874 + i32.const 7 + call $~lib/builtins/abort + unreachable + end + end + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.const 14 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 + local.get $5 + if + local.get $1 + local.get $5 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $5 + i32.store $0 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 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + local.get $1 + i32.store $0 offset=20 + 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 - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $2 - i64.const 0 - i64.store $0 - local.get $2 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2896 + local.get $4 i32.store $0 offset=4 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 + local.get $4 + local.get $0 + call $~lib/typedarray/Float64Array#__get local.set $3 - loop $for-loop|0 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $4 - i32.add - i32.load8_s $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 2896 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0 - end - end - block $folding-inner37 - block $folding-inner36 - block $folding-inner35 - block $folding-inner34 - block $folding-inner33 - block $folding-inner32 - block $folding-inner28 - block $folding-inner27 - block $folding-inner26 - block $folding-inner25 - block $folding-inner23 - block $folding-inner22 - block $folding-inner21 - block $folding-inner20 - block $folding-inner19 - block $folding-inner18 - block $folding-inner17 - block $folding-inner16 - block $folding-inner15 - block $folding-inner14 - block $folding-inner13 - 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 - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2928 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - local.set $3 - loop $for-loop|018 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $4 - i32.add - i32.load8_u $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 2928 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|018 - end - end - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 2960 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - local.set $3 - loop $for-loop|024 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $4 - i32.add - i32.load8_u $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 2960 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|024 - end - end - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 2992 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $3 - loop $for-loop|028 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 2992 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|028 - end - end - local.get $0 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3024 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $3 - loop $for-loop|033 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 3024 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|033 - end - end - local.get $0 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3056 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|038 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 3056 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|038 - end - end - local.get $0 - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $5 - i32.store $0 - local.get $5 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $5 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $5 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3088 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - i32.const 0 - local.set $1 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 - loop $for-loop|042 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $5 - i32.const 3088 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|042 - end - end - local.get $0 - i32.const 6 - i32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3120 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|046 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 4 - global.set $~argumentsLength - local.get $13 - local.get $11 - local.get $1 - local.get $3 - i32.const 3120 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $13 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|046 - end - end - local.get $13 - i64.const 6 - i64.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3152 - i32.store $0 offset=4 - i64.const 0 - local.set $13 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|050 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 4 - global.set $~argumentsLength - local.get $13 - local.get $11 - local.get $1 - local.get $3 - i32.const 3152 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $13 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|050 - end - end - local.get $13 - i64.const 6 - i64.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3184 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|055 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $14 - local.get $6 - local.get $1 - local.get $3 - i32.const 3184 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $14 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|055 - end - end - local.get $14 - f32.const 6 - f32.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3216 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|060 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 4 - global.set $~argumentsLength - local.get $15 - local.get $10 - local.get $1 - local.get $3 - i32.const 3216 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $15 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|060 - end - end - local.get $15 - f64.const 6 - f64.ne - br_if $folding-inner1 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int8Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Int8Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint8Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint8Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint8ClampedArray#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int16Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Int16Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint16Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint16Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int32Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Int32Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint32Array#at - i32.const 3 - i32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint32Array#at - i32.const 1 - i32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Int64Array#at - i64.const 3 - i64.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Int64Array#at - i64.const 1 - i64.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Uint64Array#at - i64.const 3 - i64.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Uint64Array#at - i64.const 1 - i64.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Float32Array#at - f32.const 3 - f32.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Float32Array#at - f32.const 1 - f32.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store $0 - 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-inner2 - local.get $0 - i32.const -1 - call $~lib/typedarray/Float64Array#at - f64.const 3 - f64.ne - br_if $folding-inner3 - local.get $0 - i32.const -3 - call $~lib/typedarray/Float64Array#at - f64.const 1 - f64.ne - br_if $folding-inner4 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3248 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|064 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3248 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|064 - end - end - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3280 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|069 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3280 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|069 - end - end - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 3312 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|075 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3312 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|075 - end - end - local.get $0 - i32.const 255 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3344 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|079 - 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 $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3344 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|079 - end - end - local.get $0 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3376 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|083 - 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 $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3376 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|083 - end - end - local.get $0 - i32.const 65535 - i32.and - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3408 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|087 - 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 $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3408 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|087 - end - end - local.get $0 - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3440 - i32.store $0 offset=4 - i32.const 0 - local.set $0 - local.get $4 - i32.load $0 offset=4 - local.set $3 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|091 - 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 $0 - local.set $2 - i32.const 4 - global.set $~argumentsLength - local.get $0 - local.get $2 - local.get $1 - local.get $4 - i32.const 3440 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_i32_=>_i32) - local.set $0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|091 - end - end - local.get $0 - i32.const 6 - i32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3472 - i32.store $0 offset=4 - i64.const 0 - local.set $13 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|095 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 4 - global.set $~argumentsLength - local.get $13 - local.get $11 - local.get $1 - local.get $2 - i32.const 3472 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $13 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|095 - end - end - local.get $13 - i64.const 6 - i64.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3504 - i32.store $0 offset=4 - i64.const 0 - local.set $13 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|099 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 4 - global.set $~argumentsLength - local.get $13 - local.get $11 - local.get $1 - local.get $2 - i32.const 3504 - i32.load $0 - call_indirect $0 (type $i64_i64_i32_i32_=>_i64) - local.set $13 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|099 - end - end - local.get $13 - i64.const 6 - i64.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3536 - i32.store $0 offset=4 - f32.const 0 - local.set $14 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|0103 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 4 - global.set $~argumentsLength - local.get $14 - local.get $6 - local.get $1 - local.get $2 - i32.const 3536 - i32.load $0 - call_indirect $0 (type $f32_f32_i32_i32_=>_f32) - local.set $14 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0103 - end - end - local.get $14 - f32.const 6 - f32.ne - br_if $folding-inner5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 3568 - i32.store $0 offset=4 - f64.const 0 - local.set $15 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - loop $for-loop|0107 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 4 - global.set $~argumentsLength - local.get $15 - local.get $10 - local.get $1 - local.get $2 - i32.const 3568 - i32.load $0 - call_indirect $0 (type $f64_f64_i32_i32_=>_f64) - local.set $15 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0107 - end - end - local.get $15 - f64.const 6 - f64.ne - br_if $folding-inner5 - 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 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 3600 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - local.set $4 - local.get $7 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|03 - local.get $4 - local.get $12 - i32.gt_s - if - local.get $3 - local.get $12 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $12 - i32.add - local.get $0 - local.get $12 - local.get $7 - i32.const 3600 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|03 - end - end - local.get $2 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $2 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $4 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 3632 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - local.set $4 - local.get $7 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|05 - local.get $4 - local.get $12 - i32.gt_s - if - local.get $3 - local.get $12 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $12 - i32.add - local.get $0 - local.get $12 - local.get $7 - i32.const 3632 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|05 - end - end - local.get $2 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $2 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $4 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 - local.get $7 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $7 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.set $5 - global.get $~lib/memory/__stack_pointer - i32.const 3664 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $7 - i32.load $0 offset=8 - local.set $4 - local.get $7 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|07 - local.get $4 - local.get $12 - i32.gt_s - if - local.get $3 - local.get $12 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $12 - i32.add - local.get $0 - local.get $12 - local.get $7 - i32.const 3664 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store8 $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|07 - end - end - local.get $2 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $2 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $2 - local.get $4 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $5 - local.get $2 - i32.store $0 offset=8 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 3696 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $9 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|09 - local.get $7 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 1 - i32.shl - local.tee $1 - local.get $5 - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $12 - local.get $9 - i32.const 3696 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|09 - end - end - local.get $4 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $4 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 - local.get $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $4 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $4 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 3728 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $9 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 1 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|011 - local.get $7 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 1 - i32.shl - local.tee $1 - local.get $5 - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $12 - local.get $9 - i32.const 3728 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store16 $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|011 - end - end - local.get $4 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $4 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 - local.get $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $4 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $4 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 3760 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $9 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 2 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|013 - local.get $7 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 2 - i32.shl - local.tee $1 - local.get $5 - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $12 - local.get $9 - i32.const 3760 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|013 - end - end - local.get $4 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $4 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 - local.get $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $4 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $4 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $9 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $9 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $8 - global.get $~lib/memory/__stack_pointer - i32.const 3792 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $9 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $7 - local.get $9 - i32.load $0 offset=4 - local.set $5 - local.get $0 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.const 2 - i32.shl - local.tee $3 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 offset=4 - loop $for-loop|015 - local.get $7 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 2 - i32.shl - local.tee $1 - local.get $5 - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $1 - local.get $2 - i32.add - local.get $0 - local.get $12 - local.get $9 - i32.const 3792 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|015 - end - end - local.get $4 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $4 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 - i32.store $0 offset=4 - local.get $4 - local.get $3 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $8 - local.get $4 - i32.store $0 offset=8 - local.get $4 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner26 - local.get $4 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 4 - i32.ne - br_if $folding-inner27 - local.get $4 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 9 - i32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $8 - i32.store $0 - local.get $8 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $8 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $8 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 3824 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $8 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $5 - local.get $8 - i32.load $0 offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|017 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 3 - i32.shl - local.tee $0 - local.get $4 - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - i32.add - local.get $11 - local.get $12 - local.get $8 - i32.const 3824 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|017 - end - end - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner26 - local.get $3 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner27 - local.get $3 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $8 - i32.store $0 - local.get $8 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $8 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $8 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 3856 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $8 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $5 - local.get $8 - i32.load $0 offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|019 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 3 - i32.shl - local.tee $0 - local.get $4 - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - i32.add - local.get $11 - local.get $12 - local.get $8 - i32.const 3856 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i64) - i64.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|019 - end - end - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner26 - local.get $3 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 4 - i64.ne - br_if $folding-inner27 - local.get $3 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 9 - i64.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $8 - i32.store $0 - local.get $8 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $8 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $8 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 3888 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $8 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $5 - local.get $8 - i32.load $0 offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 2 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|021 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 2 - i32.shl - local.tee $0 - local.get $4 - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - i32.add - local.get $6 - local.get $12 - local.get $8 - i32.const 3888 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_f32) - f32.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|021 - end - end - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner26 - local.get $3 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 4 - f32.ne - br_if $folding-inner27 - local.get $3 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 9 - f32.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $12 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $8 - i32.store $0 - local.get $8 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $8 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $8 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $7 - global.get $~lib/memory/__stack_pointer - i32.const 3920 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $8 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $5 - local.get $8 - i32.load $0 offset=4 - local.set $4 - local.get $0 - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.const 3 - i32.shl - local.tee $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 offset=4 - loop $for-loop|023 - local.get $5 - local.get $12 - i32.gt_s - if - local.get $12 - i32.const 3 - i32.shl - local.tee $0 - local.get $4 - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - i32.add - local.get $10 - local.get $12 - local.get $8 - i32.const 3920 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_f64) - f64.store $0 - local.get $12 - i32.const 1 - i32.add - local.set $12 - br $for-loop|023 - end - end - local.get $3 - local.get $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $1 - i32.store $0 offset=4 - local.get $3 - local.get $2 - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $7 - local.get $3 - i32.store $0 offset=8 - local.get $3 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne - br_if $folding-inner26 - local.get $3 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 4 - f64.ne - br_if $folding-inner27 - local.get $3 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 9 - f64.ne - br_if $folding-inner28 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4304 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0111 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4304 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0111 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0113 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4336 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0117 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4336 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int8Array,i8>|inlined.0113 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0117 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4368 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0121 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4368 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0121 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0123 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4400 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0127 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4400 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0123 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0127 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0129 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4432 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0133 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4432 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0129 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0133 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0135 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4464 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0139 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4464 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint8Array,u8>|inlined.0135 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0139 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4496 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0143 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4496 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0143 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0145 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4528 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0149 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4528 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int16Array,i16>|inlined.0145 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0149 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4560 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0153 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4560 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0153 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0155 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4592 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0159 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4592 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint16Array,u16>|inlined.0155 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0159 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4624 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0163 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4624 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0163 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0165 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4656 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0169 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4656 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int32Array,i32>|inlined.0165 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0169 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4688 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0173 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4688 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0173 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0175 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4720 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0179 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $0 - local.get $1 - local.get $4 - i32.const 4720 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint32Array,u32>|inlined.0175 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0179 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4752 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0183 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $11 - local.get $1 - local.get $3 - i32.const 4752 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0183 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0185 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4784 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0189 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $11 - local.get $1 - local.get $3 - i32.const 4784 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Int64Array,i64>|inlined.0185 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0189 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4816 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0193 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $11 - local.get $1 - local.get $3 - i32.const 4816 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0193 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0195 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4848 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0199 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $11 - local.get $1 - local.get $3 - i32.const 4848 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Uint64Array,u64>|inlined.0195 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0199 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4880 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|0203 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $6 - local.get $1 - local.get $3 - i32.const 4880 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0203 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0205 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4912 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|0209 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $6 - local.get $1 - local.get $3 - i32.const 4912 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float32Array,f32>|inlined.0205 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0209 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4944 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0213 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $10 - local.get $1 - local.get $3 - i32.const 4944 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0213 - end - end - i32.const 0 - end - i32.eqz - br_if $folding-inner6 - block $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0215 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 4976 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0219 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 1 - local.get $10 - local.get $1 - local.get $3 - i32.const 4976 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/SOME<~lib/typedarray/Float64Array,f64>|inlined.0215 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0219 - end - end - i32.const 0 - end - br_if $folding-inner7 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5008 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0223 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5008 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0223 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5040 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0225 - loop $for-loop|0229 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5040 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0225 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0229 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5072 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0233 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5072 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0233 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5104 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0235 - loop $for-loop|0239 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5104 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0235 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0239 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 5136 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0241 - loop $for-loop|0245 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5136 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0241 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0245 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5168 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0247 - loop $for-loop|0251 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5168 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0247 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0251 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5200 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0255 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5200 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0255 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5232 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0257 - loop $for-loop|0261 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5232 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0257 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0261 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5264 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0265 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5264 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0265 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5296 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0267 - loop $for-loop|0271 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5296 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0267 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0271 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5328 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0275 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0275 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5360 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0277 - loop $for-loop|0281 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5360 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0277 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0281 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5392 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0285 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5392 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0285 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5424 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0287 - loop $for-loop|0291 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 5424 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0287 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0291 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5456 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0295 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 5456 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0295 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5488 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0297 - loop $for-loop|0301 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 5488 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0297 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0301 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5520 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0305 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 5520 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0305 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5552 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0307 - loop $for-loop|0311 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 5552 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0307 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0311 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5584 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0315 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $3 - i32.const 5584 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0315 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5616 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0317 - loop $for-loop|0321 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $3 - i32.const 5616 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0317 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0321 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5648 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0325 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $1 - local.get $3 - i32.const 5648 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0325 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner8 - global.get $~lib/memory/__stack_pointer - i32.const 5680 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - block $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0327 - loop $for-loop|0331 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $1 - local.get $3 - i32.const 5680 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0327 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0331 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner9 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5712 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - loop $for-loop|0335 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5712 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0335 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 5744 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0337 - loop $for-loop|0341 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5744 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int8Array,i8>|inlined.0337 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0341 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5776 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - loop $for-loop|0345 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5776 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0345 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 5808 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0347 - loop $for-loop|0351 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5808 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0347 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0351 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 5840 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0353 - loop $for-loop|0357 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5840 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0353 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0357 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 5872 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0359 - loop $for-loop|0363 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $1 - local.get $2 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5872 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint8Array,u8>|inlined.0359 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0363 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5904 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - loop $for-loop|0367 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5904 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0367 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 5936 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0369 - loop $for-loop|0373 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5936 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int16Array,i16>|inlined.0369 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0373 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 5968 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - loop $for-loop|0377 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 5968 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0377 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6000 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0379 - loop $for-loop|0383 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 6000 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint16Array,u16>|inlined.0379 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0383 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store $0 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 6032 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - loop $for-loop|0387 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 6032 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0387 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6064 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0389 - loop $for-loop|0393 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 6064 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int32Array,i32>|inlined.0389 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0393 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $3 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $3 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6096 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - loop $for-loop|0397 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 6096 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0397 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6128 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0399 - loop $for-loop|0403 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $3 - i32.const 6128 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint32Array,u32>|inlined.0399 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0403 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6160 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - loop $for-loop|0407 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $2 - i32.const 6160 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0407 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6192 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 - loop $for-loop|0413 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $2 - i32.const 6192 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Int64Array,i64>|inlined.0409 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0413 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6224 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - loop $for-loop|0417 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $2 - i32.const 6224 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0417 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6256 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0419 - loop $for-loop|0423 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $2 - i32.const 6256 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Uint64Array,u64>|inlined.0419 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0423 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 2 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6288 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - loop $for-loop|0427 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $2 - i32.const 6288 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0427 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6320 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0429 - loop $for-loop|0433 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $2 - i32.const 6320 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float32Array,f32>|inlined.0429 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0433 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $2 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 6352 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - loop $for-loop|0437 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $1 - local.get $2 - i32.const 6352 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0437 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const 1 - i32.ne - br_if $folding-inner10 - global.get $~lib/memory/__stack_pointer - i32.const 6384 - i32.store $0 offset=4 - local.get $2 - i32.load $0 offset=4 - local.set $0 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 1 - i32.sub - local.set $1 - block $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0439 - loop $for-loop|0443 - local.get $1 - i32.const 0 - i32.ge_s - if - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $1 - local.get $2 - i32.const 6384 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - br_if $~lib/typedarray/FIND_LAST_INDEX<~lib/typedarray/Float64Array,f64>|inlined.0439 - local.get $1 - i32.const 1 - i32.sub - local.set $1 - br $for-loop|0443 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - br_if $folding-inner11 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int8Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int8Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6416 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0447 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6416 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0447 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0449 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6448 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0453 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6448 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int8Array,i8>|inlined.0449 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0453 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6480 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0458 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6480 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0458 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0461 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6512 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0465 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6512 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0461 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0465 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint8ClampedArray#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0468 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6544 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0472 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6544 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0468 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0472 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0475 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6576 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0479 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6576 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint8Array,u8>|inlined.0475 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0479 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int16Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6608 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0484 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6608 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0484 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0487 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6640 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0491 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6640 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int16Array,i16>|inlined.0487 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0491 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint16Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6672 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0496 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6672 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0496 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0499 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6704 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0503 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6704 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint16Array,u16>|inlined.0499 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0503 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Int32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6736 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0508 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6736 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0508 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0511 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6768 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0515 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6768 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int32Array,i32>|inlined.0511 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0515 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - i32.const 0 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 1 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $4 - i32.const 2 - i32.const 6 - call $~lib/typedarray/Uint32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6800 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0520 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6800 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0520 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0523 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6832 - i32.store $0 offset=4 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0527 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $0 - local.get $1 - local.get $4 - i32.const 6832 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint32Array,u32>|inlined.0523 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0527 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Int64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6864 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0532 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $11 - local.get $1 - local.get $3 - i32.const 6864 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0532 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0535 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6896 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0539 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $11 - local.get $1 - local.get $3 - i32.const 6896 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Int64Array,i64>|inlined.0535 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0539 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 1 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $3 - i32.const 2 - i64.const 6 - call $~lib/typedarray/Uint64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6928 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0544 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $11 - local.get $1 - local.get $3 - i32.const 6928 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0544 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0547 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6960 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0551 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $11 - local.get $1 - local.get $3 - i32.const 6960 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Uint64Array,u64>|inlined.0547 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0551 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 1 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $3 - i32.const 2 - f32.const 6 - call $~lib/typedarray/Float32Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 6992 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|0556 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $6 - local.get $1 - local.get $3 - i32.const 6992 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0556 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0559 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7024 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|0563 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $6 - local.get $1 - local.get $3 - i32.const 7024 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float32Array,f32>|inlined.0559 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0563 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.const 0 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 1 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $3 - i32.const 2 - f64.const 6 - call $~lib/typedarray/Float64Array#__set - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7056 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0568 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $10 - local.get $1 - local.get $3 - i32.const 7056 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0568 - end - end - i32.const 1 - end - i32.eqz - br_if $folding-inner12 - block $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0571 (result i32) - global.get $~lib/memory/__stack_pointer - i32.const 7088 - i32.store $0 offset=4 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0575 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - i32.const 0 - local.get $10 - local.get $1 - local.get $3 - i32.const 7088 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_i32) - i32.eqz - br_if $~lib/typedarray/EVERY<~lib/typedarray/Float64Array,f64>|inlined.0571 - drop - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0575 - end - end - i32.const 1 - end - br_if $folding-inner13 - 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 12 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7200 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0580 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7200 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0580 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - 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 7232 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0584 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7232 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0584 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - 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 7264 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - local.set $2 - loop $for-loop|0590 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.load8_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7264 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0590 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7296 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0594 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_s $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7296 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0594 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - 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 7328 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.set $2 - loop $for-loop|0598 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 1 - i32.shl - i32.add - i32.load16_u $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7328 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0598 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7360 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0602 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7360 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0602 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 - local.get $4 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $4 - i32.const 2 - i32.const 7152 - i32.const 2 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7392 - i32.store $0 offset=8 - local.get $4 - i32.load $0 offset=4 - local.set $3 - i32.const 0 - local.set $1 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $2 - loop $for-loop|0606 - local.get $1 - local.get $2 - i32.lt_s - if - local.get $3 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.set $0 - i32.const 3 - global.set $~argumentsLength - local.get $0 - local.get $1 - local.get $4 - i32.const 7392 - i32.load $0 - call_indirect $0 (type $i32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0606 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 1 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 2 - i32.const 7152 - 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 7424 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0610 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 7424 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0610 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 1 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 2 - i32.const 7152 - 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 7456 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0614 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - i64.load $0 - local.set $11 - i32.const 3 - global.set $~argumentsLength - local.get $11 - local.get $1 - local.get $3 - i32.const 7456 - i32.load $0 - call_indirect $0 (type $i64_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0614 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 1 - i32.const 7152 - 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 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 2 - i32.const 7152 - 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 7488 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $0 - loop $for-loop|0618 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.set $6 - i32.const 3 - global.set $~argumentsLength - local.get $6 - local.get $1 - local.get $3 - i32.const 7488 - i32.load $0 - call_indirect $0 (type $f32_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0618 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - i32.const 0 - global.set $std/typedarray/forEachCallCount - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - global.set $std/typedarray/forEachSelf - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 0 - i32.const 7152 - i32.const 0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 1 - i32.const 7152 - i32.const 1 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 7152 - i32.store $0 offset=4 - local.get $3 - i32.const 2 - i32.const 7152 - 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 7520 - i32.store $0 offset=8 - local.get $3 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - local.get $3 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $0 - loop $for-loop|0622 - local.get $0 - local.get $1 - i32.gt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.set $10 - i32.const 3 - global.set $~argumentsLength - local.get $10 - local.get $1 - local.get $3 - i32.const 7520 - i32.load $0 - call_indirect $0 (type $f64_i32_i32_=>_none) - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0622 - end - end - global.get $std/typedarray/forEachCallCount - i32.const 3 - i32.ne - br_if $folding-inner14 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0624 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $2 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0624 - end - end - local.get $1 - call $~lib/typedarray/Int8Array#reverse - drop - 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 - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.extend8_s - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1 - end - end - global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $2 - 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 $0 offset=12 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int8Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0628 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8Array#__set - local.get $2 - local.get $0 - i32.const 7616 - 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|0628 - end - end - local.get $1 - call $~lib/typedarray/Int8Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1629 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/typedarray/Uint8Array#__get - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1629 - end - end - global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $2 - i32.const 8 - call $~lib/typedarray/Uint8Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0633 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.const 255 - i32.and - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - local.get $0 - i32.const 7616 - 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|0633 - end - end - local.get $1 - call $~lib/typedarray/Int8Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1634 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 255 - i32.and - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1634 - end - end - global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $2 - i32.const 8 - call $~lib/typedarray/Uint8ClampedArray#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $1 - local.get $0 - call $~lib/typedarray/Int8Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0638 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $2 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0638 - end - end - local.get $1 - call $~lib/typedarray/Int16Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1639 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#__get - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.extend16_s - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1639 - end - end - global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $2 - i32.const 8 - call $~lib/typedarray/Int16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $0 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $0 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int16Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0643 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i32.const 65535 - i32.and - call $~lib/typedarray/Uint16Array#__set - local.get $2 - local.get $0 - i32.const 7616 - 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|0643 - end - end - local.get $1 - call $~lib/typedarray/Int16Array#reverse - drop - i32.const 0 - local.set $0 - loop $for-loop|1644 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $1 - local.get $0 - call $~lib/typedarray/Uint16Array#__get - i32.const 7616 - local.get $3 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.const 65535 - i32.and - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1644 - end - end - global.get $~lib/memory/__stack_pointer - local.set $1 - local.get $2 - i32.const 8 - call $~lib/typedarray/Uint16Array#subarray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=12 - local.get $1 - local.get $0 - call $~lib/typedarray/Int16Array#reverse - local.tee $0 - i32.store $0 offset=16 - local.get $0 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $0 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $9 - call $~lib/typedarray/Int32Array#constructor - local.tee $8 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - call $~lib/typedarray/Int32Array#constructor - local.tee $7 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0648 - local.get $0 - local.get $9 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Int32Array#__set - local.get $7 - local.get $0 - i32.const 7616 - 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|0648 - end - end - i32.const 0 - local.set $0 - local.get $8 - i32.load $0 offset=4 - local.set $5 - local.get $8 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $4 - local.get $1 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|0 - local.get $0 - local.get $4 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - local.set $2 - local.get $1 - local.get $5 - local.get $3 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 - local.get $1 - local.get $2 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|0 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1649 - local.get $0 - local.get $9 - i32.lt_s - if - local.get $8 - local.get $0 - call $~lib/typedarray/Int32Array#__get - i32.const 7616 - local.get $9 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1649 - end - end - global.get $~lib/memory/__stack_pointer - local.set $8 - 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 $0 offset=12 - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $5 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $4 - local.get $1 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|025 - local.get $0 - local.get $4 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - local.set $2 - local.get $1 - local.get $5 - local.get $3 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 - local.get $1 - local.get $2 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|025 - end - end - end - local.get $8 - local.get $7 - i32.store $0 offset=16 - local.get $7 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $7 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $7 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $7 - i32.const 3 - call $~lib/typedarray/Int32Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $9 - call $~lib/typedarray/Uint32Array#constructor - local.tee $8 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $9 - call $~lib/typedarray/Uint32Array#constructor - local.tee $7 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0653 - local.get $0 - local.get $9 - i32.lt_s - if - local.get $8 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - call $~lib/typedarray/Uint32Array#__set - local.get $7 - local.get $0 - i32.const 7616 - 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|0653 - end - end - i32.const 0 - local.set $0 - local.get $8 - i32.load $0 offset=4 - local.set $5 - local.get $8 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $4 - local.get $1 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|027 - local.get $0 - local.get $4 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - local.set $2 - local.get $1 - local.get $5 - local.get $3 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 - local.get $1 - local.get $2 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|027 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1654 - local.get $0 - local.get $9 - i32.lt_s - if - local.get $8 - local.get $0 - call $~lib/typedarray/Uint32Array#__get - i32.const 7616 - local.get $9 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1654 - end - end - global.get $~lib/memory/__stack_pointer - local.set $8 - local.get $7 - i32.const 8 - call $~lib/typedarray/Uint32Array#subarray - local.set $7 - global.get $~lib/memory/__stack_pointer - local.get $7 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $5 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $4 - local.get $1 - i32.const 1 - i32.sub - local.set $3 - loop $while-continue|029 - local.get $0 - local.get $4 - i32.lt_u - if - local.get $5 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - local.set $2 - local.get $1 - local.get $5 - local.get $3 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - i32.load $0 - i32.store $0 - local.get $1 - local.get $2 - i32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|029 - end - end - end - local.get $8 - local.get $7 - i32.store $0 offset=16 - local.get $7 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 8 - i32.ne - br_if $folding-inner16 - local.get $7 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 7 - i32.ne - br_if $folding-inner17 - local.get $7 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 6 - i32.ne - br_if $folding-inner18 - local.get $7 - i32.const 3 - call $~lib/typedarray/Uint32Array#__get - i32.const 5 - i32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $8 - call $~lib/typedarray/Int64Array#constructor - local.tee $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - call $~lib/typedarray/Int64Array#constructor - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0658 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Int64Array#__set - local.get $5 - local.get $0 - i32.const 7616 - 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|0658 - end - end - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|030 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - local.set $11 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - i64.store $0 - local.get $1 - local.get $11 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|030 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1659 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/typedarray/Int64Array#__get - i32.const 7616 - local.get $8 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1659 - end - end - global.get $~lib/memory/__stack_pointer - local.set $7 - local.get $5 - i32.const 8 - call $~lib/typedarray/Int64Array#subarray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|032 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - local.set $11 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - i64.store $0 - local.get $1 - local.get $11 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|032 - end - end - end - local.get $7 - local.get $5 - i32.store $0 offset=16 - local.get $5 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 8 - i64.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 7 - i64.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 6 - i64.ne - br_if $folding-inner18 - local.get $5 - i32.const 3 - call $~lib/typedarray/Int64Array#__get - i64.const 5 - i64.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $8 - call $~lib/typedarray/Uint64Array#constructor - local.tee $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - call $~lib/typedarray/Uint64Array#constructor - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0663 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - i64.extend_i32_s - call $~lib/typedarray/Uint64Array#__set - local.get $5 - local.get $0 - i32.const 7616 - 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|0663 - end - end - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|034 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - local.set $11 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - i64.store $0 - local.get $1 - local.get $11 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|034 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1664 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/typedarray/Uint64Array#__get - i32.const 7616 - local.get $8 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - i64.extend_i32_s - i64.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1664 - end - end - global.get $~lib/memory/__stack_pointer - local.set $7 - local.get $5 - i32.const 8 - call $~lib/typedarray/Uint64Array#subarray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|036 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - local.set $11 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - i64.load $0 - i64.store $0 - local.get $1 - local.get $11 - i64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|036 - end - end - end - local.get $7 - local.get $5 - i32.store $0 offset=16 - local.get $5 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 8 - i64.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 7 - i64.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 6 - i64.ne - br_if $folding-inner18 - local.get $5 - i32.const 3 - call $~lib/typedarray/Uint64Array#__get - i64.const 5 - i64.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $8 - call $~lib/typedarray/Float32Array#constructor - local.tee $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - call $~lib/typedarray/Float32Array#constructor - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0668 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f32.convert_i32_s - call $~lib/typedarray/Float32Array#__set - local.get $5 - local.get $0 - i32.const 7616 - 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|0668 - end - end - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|037 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load $0 - local.set $6 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load $0 - f32.store $0 - local.get $1 - local.get $6 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|037 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1669 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/typedarray/Float32Array#__get - i32.const 7616 - local.get $8 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f32.convert_i32_s - f32.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1669 - end - end - global.get $~lib/memory/__stack_pointer - local.set $7 - local.get $5 - i32.const 8 - call $~lib/typedarray/Float32Array#subarray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|039 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load $0 - local.set $6 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 2 - i32.shl - i32.add - local.tee $1 - f32.load $0 - f32.store $0 - local.get $1 - local.get $6 - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|039 - end - end - end - local.get $7 - local.get $5 - i32.store $0 offset=16 - local.get $5 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 8 - f32.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 7 - f32.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 6 - f32.ne - br_if $folding-inner18 - local.get $5 - i32.const 3 - call $~lib/typedarray/Float32Array#__get - f32.const 5 - f32.ne - br_if $folding-inner19 - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 7616 - i32.store $0 - local.get $0 - i32.const 7628 - i32.load $0 - local.tee $8 - call $~lib/typedarray/Float64Array#constructor - local.tee $7 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $8 - call $~lib/typedarray/Float64Array#constructor - local.tee $5 - i32.store $0 offset=8 - i32.const 0 - local.set $0 - loop $for-loop|0673 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - i32.const 7616 - local.get $0 - call $~lib/array/Array#__get - f64.convert_i32_s - call $~lib/typedarray/Float64Array#__set - local.get $5 - local.get $0 - i32.const 7616 - 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|0673 - end - end - i32.const 0 - local.set $0 - local.get $7 - i32.load $0 offset=4 - local.set $4 - local.get $7 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|040 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - f64.load $0 - local.set $10 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - f64.load $0 - f64.store $0 - local.get $1 - local.get $10 - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|040 - end - end - end - i32.const 0 - local.set $0 - loop $for-loop|1674 - local.get $0 - local.get $8 - i32.lt_s - if - local.get $7 - local.get $0 - call $~lib/typedarray/Float64Array#__get - i32.const 7616 - local.get $8 - i32.const 1 - i32.sub - local.get $0 - i32.sub - call $~lib/array/Array#__get - f64.convert_i32_s - f64.ne - br_if $folding-inner15 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|1674 - end - end - global.get $~lib/memory/__stack_pointer - local.set $7 - local.get $5 - i32.const 4 - i32.const 8 - call $~lib/typedarray/Float64Array#subarray - local.set $5 - global.get $~lib/memory/__stack_pointer - local.get $5 - i32.store $0 offset=12 - i32.const 0 - local.set $0 - local.get $5 - i32.load $0 offset=4 - local.set $4 - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $1 - i32.const 1 - i32.gt_u - if - local.get $1 - i32.const 1 - i32.shr_u - local.set $3 - local.get $1 - i32.const 1 - i32.sub - local.set $2 - loop $while-continue|042 - local.get $0 - local.get $3 - i32.lt_u - if - local.get $4 - local.get $0 - i32.const 3 - i32.shl - i32.add - local.tee $1 - f64.load $0 - local.set $10 - local.get $1 - local.get $4 - local.get $2 - local.get $0 - i32.sub - i32.const 3 - i32.shl - i32.add - local.tee $1 - f64.load $0 - f64.store $0 - local.get $1 - local.get $10 - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $while-continue|042 - end - end - end - local.get $7 - local.get $5 - i32.store $0 offset=16 - local.get $5 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 8 - f64.ne - br_if $folding-inner16 - local.get $5 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 7 - f64.ne - br_if $folding-inner17 - local.get $5 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 6 - f64.ne - br_if $folding-inner18 - local.get $5 - i32.const 3 - call $~lib/typedarray/Float64Array#__get - f64.const 5 - f64.ne - br_if $folding-inner19 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - 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 $4 - i32.store $0 offset=80 - local.get $4 - i32.const 0 - f64.const nan:0x8000000000000 - call $~lib/typedarray/Float64Array#__set - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|043 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - f64.const nan:0x8000000000000 - f64.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float64Array,f64>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|043 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 653 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) - i32.const 0 - local.set $1 - i32.const 0 - local.get $4 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 - drop - local.get $4 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|044 - local.get $1 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $0 - local.get $1 - i32.const 3 - i32.shl - i32.add - f64.load $0 - local.tee $10 - local.get $10 - f64.ne - 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|044 - end - end - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 654 - 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 $4 - i32.store $0 offset=84 - local.get $4 - i32.const 0 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - i32.const 0 - local.set $0 - i32.const -1 - local.set $1 - block $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.eqz - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $4 - i32.load $0 offset=4 - local.set $2 - loop $while-continue|045 - local.get $0 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $0 - local.tee $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - f32.const nan:0x400000 - f32.eq - br_if $~lib/typedarray/INDEX_OF<~lib/typedarray/Float32Array,f32>|inlined.0 - local.get $1 - i32.const 1 - i32.add - local.set $0 - br $while-continue|045 - end - end - i32.const -1 - local.set $1 - end - local.get $1 - i32.const -1 - i32.ne - if - i32.const 0 - i32.const 1568 - i32.const 659 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) - i32.const 0 - local.set $1 - i32.const 0 - local.get $4 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $2 - i32.eqz - br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 - drop - local.get $4 - i32.load $0 offset=4 - local.set $0 - loop $while-continue|0682 - local.get $1 - local.get $2 - i32.lt_s - if - i32.const 1 - local.get $0 - local.get $1 - i32.const 2 - i32.shl - i32.add - f32.load $0 - local.tee $6 - local.get $6 - f32.ne - 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|0682 - end - end - i32.const 0 - end - i32.eqz - if - i32.const 0 - i32.const 1568 - i32.const 660 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Int8Array#constructor - local.tee $1 - i32.store $0 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - call $~lib/typedarray/Int8Array#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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Uint8Array#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.const 0 - i32.const 1 - 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 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8Array#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - local.get $1 - call $~lib/typedarray/Uint8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - i32.const 9616 - i32.store $0 offset=8 - local.get $1 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint8Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - local.get $1 - call $~lib/typedarray/Uint8Array#toString - local.set $1 - global.get $~lib/memory/__stack_pointer - local.tee $0 - local.get $1 - i32.store $0 offset=4 - local.get $0 - i32.const 9616 - i32.store $0 offset=8 - local.get $1 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Int16Array#constructor - local.tee $1 - i32.store $0 - 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 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int16Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Uint16Array#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 2 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint16Array#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint16Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Int32Array#constructor - local.tee $1 - i32.store $0 - 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 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Int32Array#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Uint32Array#constructor - local.tee $1 - i32.store $0 - 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 - local.get $1 - i32.const 3 - i32.const 4 - call $~lib/typedarray/Uint32Array#__set - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - call $~lib/typedarray/Uint32Array#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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Int64Array#constructor - local.tee $1 - i32.store $0 - 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 - local.get $1 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Int64Array#__set - local.get $1 - i32.const 4 - i64.const 5 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Int64Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Uint64Array#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.const 0 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 2 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 3 - i64.const 4 - call $~lib/typedarray/Uint64Array#__set - local.get $1 - i32.const 4 - i64.const 5 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Uint64Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner20 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 9616 - i32.store $0 offset=8 - local.get $0 - i32.const 9616 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner21 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Float32Array#constructor - local.tee $1 - i32.store $0 - 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 - local.get $1 - i32.const 3 - f32.const 4 - call $~lib/typedarray/Float32Array#__set - local.get $1 - i32.const 4 - f32.const 5 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Float32Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner22 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner23 - 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 16 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i64.const 0 - i64.store $0 offset=8 - local.get $0 - i32.const 5 - call $~lib/typedarray/Float64Array#constructor - local.tee $1 - i32.store $0 - local.get $1 - i32.const 0 - f64.const 1 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 1 - f64.const 2 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 2 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 3 - f64.const 4 - call $~lib/typedarray/Float64Array#__set - local.get $1 - i32.const 4 - f64.const 5 - call $~lib/typedarray/Float64Array#__set - global.get $~lib/memory/__stack_pointer - i32.const 9584 - i32.store $0 offset=12 - local.get $1 - call $~lib/typedarray/Float64Array#join - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner22 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $0 - i32.const 9584 - i32.store $0 - local.get $1 - 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 $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 10800 - i32.store $0 offset=8 - local.get $0 - i32.const 10800 - call $~lib/string/String.__eq - i32.eqz - br_if $folding-inner23 - 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 0 - call $~lib/arraybuffer/ArrayBuffer#constructor - local.tee $0 - i32.store $0 offset=88 - 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 $0 offset=92 - local.get $0 - i32.load $0 offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 737 - 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 $0 offset=88 - 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 $0 offset=92 - local.get $0 - i32.load $0 offset=8 - if - i32.const 0 - i32.const 1568 - i32.const 741 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Int8Array#constructor - local.tee $4 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0704 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - local.get $1 - call $~lib/array/Array#__get - i32.extend8_s - call $~lib/typedarray/Int8Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0704 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $1 - local.get $0 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1709 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Int8Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Int8Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1709 - end - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0713 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 10928 - 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 $1 - br $for-loop|0713 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $2 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 - i32.sub - local.tee $0 - local.get $2 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $0 - i32.store $0 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 $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1722 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1722 - end - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $4 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0726 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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 $1 - br $for-loop|0726 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.set $1 - local.get $0 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1735 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1735 - end - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Int16Array#constructor - local.tee $4 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0739 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - local.get $1 - call $~lib/array/Array#__get - i32.extend16_s - call $~lib/typedarray/Int16Array#__set - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0739 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1748 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Int16Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Int16Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1748 - end - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Uint16Array#constructor - local.tee $4 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0752 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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 $1 - br $for-loop|0752 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 1 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1761 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Uint16Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Uint16Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1761 - end - 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 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Int32Array#constructor - local.tee $4 - i32.store $0 offset=4 - i32.const 0 - local.set $1 - loop $for-loop|0765 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|0765 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 3 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|1774 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Int32Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Int32Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|1774 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Uint32Array#constructor - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|010 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|010 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 3 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|111 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Uint32Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Uint32Array#__get - i32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|111 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Int64Array#constructor - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|00 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|00 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 7 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|11 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Int64Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Int64Array#__get - i64.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|11 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Uint64Array#constructor - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|02 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|02 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 7 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|13 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Uint64Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Uint64Array#__get - i64.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|13 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Float32Array#constructor - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|04 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|04 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 3 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|15 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Float32Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Float32Array#__get - f32.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|15 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 10928 - i32.store $0 - local.get $0 - i32.const 10940 - i32.load $0 - local.tee $5 - call $~lib/typedarray/Float64Array#constructor - local.tee $4 - i32.store $0 offset=4 - loop $for-loop|06 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - i32.const 10928 - 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|06 - end - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $4 - i32.load $0 - local.tee $0 - i32.store $0 offset=8 - local.get $1 - local.get $0 - local.get $4 - i32.load $0 offset=4 - local.get $4 - i32.load $0 - i32.sub - local.tee $0 - local.get $4 - i32.load $0 offset=8 - local.get $0 - i32.add - call $~lib/arraybuffer/ArrayBuffer#slice - local.tee $3 - i32.store $0 offset=12 - i32.const 1 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.set $2 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - local.tee $1 - i32.const 7 - i32.and - br_if $folding-inner24 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $3 - i32.store $0 - local.get $3 - if - local.get $0 - local.get $3 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $0 - local.get $1 - i32.store $0 offset=8 - local.get $0 - local.get $3 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - local.get $0 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - loop $for-loop|17 - local.get $1 - local.get $5 - i32.lt_s - if - local.get $4 - local.get $1 - call $~lib/typedarray/Float64Array#__get - local.get $0 - local.get $1 - call $~lib/typedarray/Float64Array#__get - f64.ne - br_if $folding-inner38 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|17 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - 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> - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $9 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $9 - 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 $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - 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 $7 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $7 - 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 $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - i32.const 11020 - i32.load $0 - local.tee $4 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - local.set $3 - i32.const 11012 - i32.load $0 - local.set $2 - loop $for-loop|0781 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - i32.const 2 - i32.shl - local.tee $0 - local.get $3 - i32.add - local.get $0 - local.get $2 - i32.add - i32.load $0 - f32.convert_i32_s - f32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0781 - end - end - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 14480 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - local.get $5 - i32.const 11088 - i32.const 3 - call $~lib/typedarray/Int32Array#set<~lib/array/Array> - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 14592 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $9 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - i32.const 6 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 24 - i32.add - local.set $2 - local.get $9 - i32.load $0 offset=4 - local.set $1 - i32.const 0 - local.set $0 - loop $for-loop|0788 - local.get $0 - local.get $3 - 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 3 - i32.shl - i32.add - i64.load $0 - f32.convert_i64_s - f32.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0788 - end - end - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 14656 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> - local.get $8 - i32.load $0 offset=8 - local.tee $3 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - local.set $2 - local.get $8 - i32.load $0 offset=4 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0795 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.add - i32.load8_u $0 - f32.convert_i32_u - f32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0795 - end - end - local.get $7 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.const 4 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 16 - i32.add - local.set $2 - local.get $7 - i32.load $0 offset=4 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0802 - local.get $1 - local.get $3 - 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 1 - i32.shl - i32.add - i32.load16_s $0 - f32.convert_i32_s - f32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0802 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - i32.const 11276 - i32.load $0 - local.tee $3 - i32.const 7 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 28 - i32.add - local.set $2 - i32.const 11268 - i32.load $0 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0809 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.add - i32.load8_s $0 - f32.convert_i32_s - f32.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0809 - end - end - i32.const 10 - i32.const 2 - i32.const 62 - i32.const 14720 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i32.const 0 - i32.const 20 - memory.fill $0 - local.get $0 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $9 - i32.store $0 - local.get $9 - i32.const 0 - i64.const 7 - call $~lib/typedarray/Int64Array#__set - local.get $9 - i32.const 1 - i64.const 8 - call $~lib/typedarray/Int64Array#__set - local.get $9 - 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 $8 - i32.store $0 offset=4 - local.get $8 - i32.const 0 - i32.const 100 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 1 - i32.const 101 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - i32.const 2 - i32.const 102 - call $~lib/typedarray/Uint8Array#__set - local.get $8 - 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 $7 - i32.store $0 offset=8 - local.get $7 - i32.const 0 - i32.const 1000 - call $~lib/typedarray/Int16Array#__set - local.get $7 - i32.const 1 - i32.const 1001 - call $~lib/typedarray/Int16Array#__set - local.get $7 - 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 $5 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 11008 - i32.store $0 offset=16 - i32.const 0 - local.set $1 - i32.const 11020 - i32.load $0 - local.tee $3 - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - local.set $2 - i32.const 11012 - i32.load $0 - local.set $0 - loop $for-loop|0816 - local.get $1 - local.get $3 - 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 2 - i32.shl - i32.add - i32.load $0 - f64.convert_i32_s - f64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0816 - end - end - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 14784 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - global.get $~lib/memory/__stack_pointer - i32.const 11088 - i32.store $0 offset=16 - i32.const 11100 - i32.load $0 - local.tee $3 - i32.const 3 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 24 - i32.add - local.set $2 - i32.const 11092 - i32.load $0 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0823 - local.get $1 - local.get $3 - 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 2 - i32.shl - i32.add - f32.load $0 - f64.promote_f32 - f64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0823 - end - end - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 14944 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $9 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $4 - i32.const 6 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 48 - i32.add - local.set $3 - local.get $9 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $0 - loop $for-loop|0829 - local.get $0 - local.get $4 - i32.lt_s - if - local.get $0 - i32.const 3 - i32.shl - local.tee $1 - local.get $3 - i32.add - local.get $1 - local.get $2 - i32.add - i64.load $0 - f64.convert_i64_s - f64.store $0 - local.get $0 - i32.const 1 - i32.add - local.set $0 - br $for-loop|0829 - end - end - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 15056 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - local.get $8 - i32.load $0 offset=8 - local.tee $3 - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - local.set $2 - local.get $8 - i32.load $0 offset=4 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0836 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.add - i32.load8_u $0 - f64.convert_i32_u - f64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0836 - end - end - local.get $7 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - i32.const 4 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 32 - i32.add - local.set $2 - local.get $7 - i32.load $0 offset=4 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0843 - local.get $1 - local.get $3 - 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 $0 - f64.convert_i32_s - f64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0843 - end - end - global.get $~lib/memory/__stack_pointer - i32.const 11264 - i32.store $0 offset=16 - i32.const 11276 - i32.load $0 - local.tee $3 - i32.const 7 - i32.add - local.get $5 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.gt_s - br_if $folding-inner25 - local.get $5 - i32.load $0 offset=4 - i32.const 56 - i32.add - local.set $2 - i32.const 11268 - i32.load $0 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0850 - local.get $1 - local.get $3 - i32.lt_s - if - local.get $2 - local.get $1 - i32.const 3 - i32.shl - i32.add - local.get $0 - local.get $1 - i32.add - i32.load8_s $0 - f64.convert_i32_s - f64.store $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0850 - end - end - i32.const 10 - i32.const 3 - i32.const 63 - i32.const 15168 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $5 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> - 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 10 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $7 - i32.store $0 offset=96 - global.get $~lib/memory/__stack_pointer - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $0 - i32.store $0 offset=100 - local.get $0 - i32.const 0 - f32.const 400 - call $~lib/typedarray/Float32Array#__set - local.get $0 - i32.const 1 - f32.const nan:0x400000 - call $~lib/typedarray/Float32Array#__set - local.get $0 - 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 $4 - i32.store $0 offset=104 - local.get $4 - i32.const 0 - i64.const -10 - call $~lib/typedarray/Int64Array#__set - local.get $4 - i32.const 1 - i64.const 100 - call $~lib/typedarray/Int64Array#__set - local.get $4 - i32.const 2 - i64.const 10 - call $~lib/typedarray/Int64Array#__set - local.get $4 - 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 $5 - i32.store $0 offset=108 - local.get $5 - i32.const 0 - i32.const 300 - call $~lib/typedarray/Int32Array#__set - local.get $5 - i32.const 1 - i32.const -1 - call $~lib/typedarray/Int32Array#__set - local.get $7 - i32.load $0 offset=8 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - i32.const 1 - i32.add - i32.lt_s - br_if $folding-inner25 - local.get $7 - i32.load $0 offset=4 - i32.const 1 - i32.add - local.set $2 - local.get $0 - i32.load $0 offset=4 - local.set $0 - i32.const 0 - local.set $1 - loop $for-loop|0857 - local.get $1 - local.get $3 - 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 $0 - local.tee $6 - f32.const 255 - f32.min - f32.const 0 - f32.max - i32.trunc_sat_f32_u - i32.const 0 - local.get $6 - local.get $6 - f32.sub - f32.const 0 - f32.eq - select - i32.store8 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0857 - end - end - local.get $7 - local.get $4 - i32.const 4 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> - local.get $7 - i32.load $0 offset=8 - local.get $5 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - i32.const 8 - i32.add - i32.lt_s - br_if $folding-inner25 - local.get $7 - i32.load $0 offset=4 - i32.const 8 - i32.add - local.set $3 - local.get $5 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - loop $for-loop|0864 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - i32.const 255 - local.get $0 - i32.sub - i32.const 31 - i32.shr_s - i32.or - local.get $0 - i32.const 31 - i32.shr_s - i32.const -1 - i32.xor - i32.and - i32.store8 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0864 - end - end - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 15280 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - global.get $~lib/memory/__stack_pointer - i32.const 4 - call $~lib/typedarray/Uint32Array#constructor - local.tee $0 - i32.store $0 offset=112 - local.get $0 - i32.const 0 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 1 - i32.const 300 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - i32.const 2 - i32.const 100 - call $~lib/typedarray/Uint32Array#__set - local.get $0 - 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 $5 - i32.store $0 offset=116 - local.get $5 - i32.const 0 - i32.const -10 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 1 - i32.const 100 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 2 - i32.const 10 - call $~lib/typedarray/Int16Array#__set - local.get $5 - i32.const 3 - i32.const 300 - call $~lib/typedarray/Int16Array#__set - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $4 - local.get $7 - i32.load $0 offset=8 - i32.gt_s - br_if $folding-inner25 - local.get $7 - i32.load $0 offset=4 - local.set $3 - local.get $0 - i32.load $0 offset=4 - local.set $2 - i32.const 0 - local.set $1 - loop $for-loop|0871 - local.get $1 - local.get $4 - i32.lt_s - if - local.get $1 - local.get $3 - i32.add - i32.const 255 - local.get $2 - local.get $1 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $0 - local.get $0 - i32.const 255 - i32.gt_u - select - i32.store8 $0 - local.get $1 - i32.const 1 - i32.add - local.set $1 - br $for-loop|0871 - end - end - local.get $7 - local.get $5 - i32.const 5 - call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> - i32.const 10 - i32.const 0 - i32.const 64 - i32.const 15312 - call $~lib/rt/__newArray - local.set $0 - global.get $~lib/memory/__stack_pointer - local.get $0 - i32.store $0 offset=16 - local.get $7 - local.get $0 - call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int8Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of1 - block $0of1 - block $outOfRange1 - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange1 - end - unreachable - end - i32.const 15344 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15344 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15376 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 15376 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of14 - block $0of15 - block $outOfRange6 - global.get $~argumentsLength - br_table $0of15 $1of14 $outOfRange6 - end - unreachable - end - i32.const 15408 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15408 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15440 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 15440 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint8ClampedArray#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of18 - block $0of19 - block $outOfRange10 - global.get $~argumentsLength - br_table $0of19 $1of18 $outOfRange10 - end - unreachable - end - i32.const 15472 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15472 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15504 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 15504 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint8ClampedArray#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int16Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int16Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int16Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of114 - block $0of115 - block $outOfRange16 - global.get $~argumentsLength - br_table $0of115 $1of114 $outOfRange16 - end - unreachable - end - i32.const 15536 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15536 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15568 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 15568 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint16Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint16Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint16Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of118 - block $0of119 - block $outOfRange20 - global.get $~argumentsLength - br_table $0of119 $1of118 $outOfRange20 - end - unreachable - end - i32.const 15600 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15600 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15632 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - i32.const 15632 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint16Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint16Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint16Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Int32Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Int32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of122 - block $0of123 - block $outOfRange24 - global.get $~argumentsLength - br_table $0of123 $1of122 $outOfRange24 - end - unreachable - end - i32.const 15664 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15664 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15696 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 15696 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__set - local.get $2 - i32.const 1 - i32.const 2 - call $~lib/typedarray/Uint32Array#__set - local.get $2 - i32.const 0 - i32.const 3 - call $~lib/typedarray/Uint32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of126 - block $0of127 - block $outOfRange28 - global.get $~argumentsLength - br_table $0of127 $1of126 $outOfRange28 - end - unreachable - end - i32.const 15728 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15728 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15760 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 15760 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint32Array#__get - i32.const 3 - i32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint32Array#__get - i32.const 2 - i32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint32Array#__get - i32.const 1 - i32.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Int64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Int64Array#__set - local.get $2 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Int64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of130 - block $0of131 - block $outOfRange32 - global.get $~argumentsLength - br_table $0of131 $1of130 $outOfRange32 - end - unreachable - end - i32.const 15792 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15792 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15824 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 15824 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Int64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Int64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Int64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Uint64Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - i64.const 1 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 1 - i64.const 2 - call $~lib/typedarray/Uint64Array#__set - local.get $2 - i32.const 0 - i64.const 3 - call $~lib/typedarray/Uint64Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of134 - block $0of135 - block $outOfRange36 - global.get $~argumentsLength - br_table $0of135 $1of134 $outOfRange36 - end - unreachable - end - i32.const 15856 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15856 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15888 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 15888 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Uint64Array#__get - i64.const 3 - i64.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Uint64Array#__get - i64.const 2 - i64.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Uint64Array#__get - i64.const 1 - i64.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 0 - local.set $0 - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $1 - i64.const 0 - i64.store $0 - local.get $1 - i32.const 0 - i32.store $0 offset=8 - local.get $1 - i32.const 3 - call $~lib/typedarray/Float32Array#constructor - local.tee $2 - i32.store $0 - local.get $2 - i32.const 2 - f32.const 1 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 1 - f32.const 2 - call $~lib/typedarray/Float32Array#__set - local.get $2 - i32.const 0 - f32.const 3 - call $~lib/typedarray/Float32Array#__set - global.get $~lib/memory/__stack_pointer - local.set $1 - i32.const 0 - global.set $~argumentsLength - 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 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of138 - block $0of139 - block $outOfRange40 - global.get $~argumentsLength - br_table $0of139 $1of138 $outOfRange40 - end - unreachable - end - i32.const 15920 - local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 15920 - i32.store $0 - end - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.get $0 - call $~lib/util/sort/SORT - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - local.get $2 - i32.store $0 offset=4 - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner32 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner33 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15952 - i32.store $0 offset=8 - local.get $2 - i32.load $0 offset=4 - local.get $2 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - i32.const 15952 - call $~lib/util/sort/SORT - local.get $2 - i32.const 0 - call $~lib/typedarray/Float32Array#__get - f32.const 3 - f32.ne - br_if $folding-inner35 - local.get $2 - i32.const 1 - call $~lib/typedarray/Float32Array#__get - f32.const 2 - f32.ne - br_if $folding-inner36 - local.get $2 - i32.const 2 - call $~lib/typedarray/Float32Array#__get - f32.const 1 - f32.ne - br_if $folding-inner37 - 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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - br_if $folding-inner0 - global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 - i32.const 0 - i32.store $0 offset=8 - local.get $0 - i32.const 3 - call $~lib/typedarray/Float64Array#constructor - local.tee $0 - i32.store $0 - local.get $0 - i32.const 2 - 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 0 - f64.const 3 - call $~lib/typedarray/Float64Array#__set - i32.const 0 - global.set $~argumentsLength - global.get $~lib/memory/__stack_pointer - local.get $0 - call $~lib/typedarray/Float64Array#sort@varargs - local.tee $0 - i32.store $0 offset=4 - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne - br_if $folding-inner32 - local.get $0 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 2 - f64.ne - br_if $folding-inner33 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.ne - br_if $folding-inner34 - global.get $~lib/memory/__stack_pointer - i32.const 15984 - i32.store $0 offset=8 - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - i32.const 15984 - call $~lib/util/sort/SORT - local.get $0 - i32.const 0 - call $~lib/typedarray/Float64Array#__get - f64.const 3 - f64.ne - br_if $folding-inner35 - local.get $0 - i32.const 1 - call $~lib/typedarray/Float64Array#__get - f64.const 2 - f64.ne - br_if $folding-inner36 - local.get $0 - i32.const 2 - call $~lib/typedarray/Float64Array#__get - f64.const 1 - f64.ne - br_if $folding-inner37 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 49088 - global.set $~lib/memory/__stack_pointer - global.get $~lib/rt/itcms/state - i32.const 0 - i32.gt_s - if - loop $while-continue|0873 - global.get $~lib/rt/itcms/state - if - call $~lib/rt/itcms/step - drop - br $while-continue|0873 - 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 120 - 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 507 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 509 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 541 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 570 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 575 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 576 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 577 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 578 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 675 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 676 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 672 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 673 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 1360 - i32.const 1632 - i32.const 1902 - i32.const 5 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 388 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 389 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 390 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 885 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 886 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 887 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - i32.const 0 - i32.const 1568 - i32.const 889 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + call $~lib/typedarray/Float64Array#__get + local.get $3 + f64.ne + if i32.const 0 i32.const 1568 - i32.const 890 - i32.const 3 + i32.const 730 + i32.const 5 call $~lib/builtins/abort unreachable end - i32.const 0 - i32.const 1568 - i32.const 891 - i32.const 3 - call $~lib/builtins/abort - unreachable + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|1 end - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable end - i32.const 1056 - i32.const 1632 - i32.const 1865 - i32.const 9 - call $~lib/builtins/abort - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return end - i32.const 0 - i32.const 1568 - i32.const 730 - i32.const 5 + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 call $~lib/builtins/abort unreachable ) - (func $~lib/arraybuffer/ArrayBufferView#constructor (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_=>_none) (param $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 global.get $~lib/memory/__stack_pointer @@ -62266,76 +41566,236 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 i64.const 0 i64.store $0 - 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 $0 - end - local.get $0 + local.get $1 i32.const 0 - i32.store $0 + i32.store $0 offset=8 + local.get $1 local.get $0 - i32.const 0 + i32.store $0 + local.get $1 + i32.const 11008 i32.store $0 offset=4 + local.get $1 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 0 i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.get $1 - i32.const 1073741820 - local.get $2 - i32.shr_u - i32.gt_u + i32.lt_s if - i32.const 1056 - i32.const 1104 - i32.const 19 - i32.const 57 + i32.const 1360 + i32.const 1632 + i32.const 1902 + 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 1 - call $~lib/rt/itcms/__new local.tee $2 - i32.store $0 offset=4 local.get $0 - local.get $2 - i32.store $0 - local.get $2 - if - local.get $0 - local.get $2 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end + i32.store $0 offset=8 local.get $0 + i32.load $0 offset=4 + local.set $3 local.get $2 - i32.store $0 offset=4 - local.get $0 - local.get $1 + i32.const 11008 i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $0 + local.get $3 + i32.add + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store8 $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 8 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Int8Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> (type $i32_i32_=>_none) (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 + local.get $3 + i32.const 4 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i32.const 0 + i32.store $0 + local.get $4 + local.get $0 + i32.store $0 + local.get $2 + local.get $0 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.set $3 + local.get $4 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i32.const 0 + i32.store $0 + local.get $6 + local.get $1 + i32.store $0 + local.get $2 + local.get $1 + i32.load $0 offset=4 + i32.add + i32.load8_s $0 + local.set $4 + local.get $6 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + local.get $4 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 11344 + i32.store $0 + i32.const 11344 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i32_s + local.get $4 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (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 global.get $~lib/memory/__stack_pointer i32.const 16320 i32.lt_s @@ -62348,72 +41808,90 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 + local.get $2 local.get $1 - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 + local.get $2 local.get $1 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Uint8Array#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.get $3 + i32.const 6 + i32.add i32.lt_s if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 6 + i32.add + local.set $2 + local.get $4 local.get $1 - i32.const 12 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=8 local.get $1 - local.get $0 + i32.load $0 offset=4 + local.set $1 i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.add + local.get $1 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + i64.store8 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Uint8ClampedArray#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -62428,72 +41906,65 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 + local.get $2 local.get $1 - i32.const 12 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 + local.get $2 local.get $1 - local.get $0 - i32.const 0 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.set $2 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Int16Array#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.get $2 i32.lt_s if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 12 - i32.const 7 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $0 + local.get $3 local.get $1 + i32.store $0 offset=8 local.get $0 - i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.load $0 offset=4 + local.get $2 + memory.copy $0 $0 + local.get $3 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Uint16Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (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.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -62508,72 +41979,90 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 i32.store $0 + local.get $2 local.get $1 - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=4 + local.get $2 local.get $1 - local.get $0 - i32.const 1 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer local.get $0 - ) - (func $~lib/typedarray/Int32Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.get $3 i32.const 4 - i32.sub - global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 + i32.add i32.lt_s if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 4 + i32.add + local.set $2 + local.get $4 local.get $1 - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer + i32.store $0 offset=8 local.get $1 - local.get $0 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + i32.store8 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/typedarray/Uint32Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/typedarray/Int8Array#set<~lib/array/Array> (type $i32_=>_none) (param $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 global.get $~lib/memory/__stack_pointer @@ -62589,117 +42078,490 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 - i32.store $0 + i32.store $0 offset=8 local.get $1 - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $1 + local.get $0 i32.store $0 - global.get $~lib/memory/__stack_pointer local.get $1 + i32.const 11264 + i32.store $0 offset=4 + local.get $1 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.const 2 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer + i32.store $0 offset=8 local.get $0 - ) - (func $~lib/typedarray/Int64Array#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 + call $~lib/typedarray/Int8Array#get:length + local.get $1 + i32.const 7 + i32.add i32.lt_s if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 12 - i32.const 11 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - global.get $~lib/memory/__stack_pointer - local.get $1 + local.tee $2 local.get $0 - i32.const 3 - call $~lib/arraybuffer/ArrayBufferView#constructor - local.tee $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 7 i32.add - global.set $~lib/memory/__stack_pointer + local.set $0 + local.get $2 + i32.const 11264 + i32.store $0 offset=8 local.get $0 - ) - (func $~lib/typedarray/Uint64Array#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 + i32.const 11268 + i32.load $0 local.get $1 + memory.copy $0 $0 + local.get $2 i32.const 12 - i32.const 12 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - 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 $0 - 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 (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int8Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 24 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $7 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11312 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $8 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 3 + i32.add + local.set $5 + local.get $9 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $9 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $1 + i32.trunc_sat_f32_s + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11392 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11424 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 2 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $8 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_s + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11456 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 16 + i32.const 11488 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int8Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end i32.const 49120 i32.const 49168 i32.const 1 @@ -62707,31 +42569,15 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 12 - i32.const 13 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - 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 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable ) - (func $~lib/typedarray/Float64Array#constructor (type $i32_=>_i32) (param $0 i32) (result i32) - (local $1 i32) + (func $~lib/typedarray/Uint8Array#__uget (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -62748,31 +42594,29 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i32.const 0 i32.store $0 - local.get $1 - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $1 + local.get $2 + local.get $0 i32.store $0 - 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 $0 - global.get $~lib/memory/__stack_pointer + i32.load $0 offset=4 + i32.add + i32.load8_u $0 + local.set $0 + local.get $2 i32.const 4 i32.add global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/typedarray/Int32Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (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 @@ -62789,104 +42633,532 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer 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.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne + if i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $4 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 + loop $for-loop|0 local.get $2 - local.get $3 + local.get $4 i32.lt_s - select - end - local.tee $1 - local.get $4 - local.get $1 - local.get $4 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 9 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Uint8Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 11552 + i32.store $0 + i32.const 11552 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $3 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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 - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $4 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $4 - i32.sub - i32.const 2 - i32.shl - i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Float64Array#subarray (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $7 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11520 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $8 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 3 + i32.add + local.set $5 + local.get $9 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $9 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $1 + i32.trunc_sat_f32_u + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11600 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11632 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int8Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 2 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $0 + local.get $6 + i32.add + local.get $8 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_u + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11664 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int8Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11696 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> (type $i32_i32_=>_none) (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 @@ -62903,154 +43175,91 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 + local.get $3 local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.set $3 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer 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.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne + if i32.const 0 - i32.gt_s - select - else - local.get $1 - local.get $3 - local.get $1 - local.get $3 - i32.lt_s - select + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.set $4 - local.get $2 - i32.const 0 - i32.lt_s - if (result i32) + loop $for-loop|0 local.get $2 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - else - local.get $2 - local.get $3 - local.get $2 - local.get $3 + local.get $4 i32.lt_s - select - end - local.tee $1 - local.get $4 - local.get $1 - local.get $4 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 14 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $3 - local.get $0 - i32.load $0 offset=4 - local.get $4 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $4 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) - (func $~lib/typedarray/Float64Array#sort@varargs (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $1of1 - block $0of1 - block $outOfRange - global.get $~argumentsLength - br_table $0of1 $1of1 $outOfRange + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Uint8Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 11760 + i32.store $0 + i32.const 11760 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $3 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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 - i32.const 1696 - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 1696 - i32.store $0 end - local.get $0 - i32.load $0 offset=4 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.get $1 - call $~lib/util/sort/SORT global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 ) - (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (param $3 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i64) (local $4 i32) (local $5 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -63066,164 +43275,113 @@ end global.get $~lib/memory/__stack_pointer local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 i32.const 0 - i32.store $0 - local.get $0 - local.get $1 - i32.shl - local.tee $5 - i32.const 1 - call $~lib/rt/itcms/__new - local.set $1 - local.get $3 - if - local.get $1 - local.get $3 - local.get $5 - memory.copy $0 $0 - end + i32.store $0 offset=8 local.get $4 - local.get $1 - i32.store $0 - i32.const 16 - local.get $2 - call $~lib/rt/itcms/__new - local.tee $2 - local.get $1 + local.get $0 i32.store $0 - local.get $1 - if - local.get $2 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 + local.get $4 local.get $1 i32.store $0 offset=4 - local.get $2 - local.get $5 + local.get $4 + local.get $1 i32.store $0 offset=8 - local.get $2 - local.get $0 - i32.store $0 offset=12 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $~lib/typedarray/Int8Array#subarray (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.load $0 offset=8 - 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 + call $~lib/typedarray/Int64Array#get:length local.set $4 local.get $2 i32.const 0 i32.lt_s if (result i32) - local.get $2 - local.get $3 - i32.add - local.tee $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select + i32.const 1 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.get $2 - local.get $3 - local.get $2 - local.get $3 + local.get $4 + i32.add i32.lt_s - select end - local.tee $1 - local.get $4 - local.get $1 - local.get $4 - i32.gt_s - select - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 if - local.get $3 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $3 - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $5 + local.get $0 + i32.store $0 offset=8 + local.get $2 local.get $0 i32.load $0 offset=4 i32.add - i32.store $0 offset=4 - local.get $3 - local.get $2 - local.get $4 - i32.sub + local.set $2 + local.get $5 + local.get $1 i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $2 + i32.add + local.get $1 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.tee $3 + i32.wrap_i64 + local.tee $5 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i64.extend_i32_s + i32.const 255 + local.get $5 + i32.sub + i32.const 31 + i32.shr_s + i64.extend_i32_s + local.get $3 + i64.or + i64.and + i64.store8 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Int32Array#slice (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) + (func $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> (type $i32_i32_i32_=>_none) (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.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -63238,184 +43396,833 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 i32.const 0 - i32.store $0 + i32.store $0 offset=8 + local.get $3 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.set $3 + i32.store $0 + local.get $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 + i32.store $0 offset=4 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 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 + i32.const 1 else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length local.get $2 local.get $3 - local.get $2 - local.get $3 + i32.add i32.lt_s - select end - local.get $1 - i32.sub - local.tee $2 - i32.const 0 + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 local.get $2 - i32.const 0 - i32.gt_s - select - local.tee $2 - call $~lib/typedarray/Int32Array#constructor - local.tee $3 - i32.store $0 - local.get $3 - i32.load $0 offset=4 local.get $0 i32.load $0 offset=4 - local.get $1 - i32.const 2 - i32.shl i32.add - local.get $2 - i32.const 2 - i32.shl - memory.copy $0 $0 + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $0 + local.get $2 + i32.add + i32.const 255 + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.tee $4 + i32.sub + i32.const 31 + i32.shr_s + local.get $4 + i32.or + local.get $4 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $3 ) - (func $~lib/typedarray/Uint8Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Uint8ClampedArray> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) (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.const 24 i32.sub global.set $~lib/memory/__stack_pointer - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $7 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $3 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + local.get $4 + local.get $3 + i32.store $0 + local.get $4 + i32.const 11008 + i32.store $0 offset=4 + local.get $4 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.get $8 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.load $0 offset=4 + local.set $9 + local.get $4 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $10 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $0 + local.get $9 + i32.add + i32.const 255 + local.get $10 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $4 + i32.sub + i32.const 31 + i32.shr_s + local.get $4 + i32.or + local.get $4 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11728 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + i32.const 11088 + i32.store $0 offset=4 + local.get $0 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.get $4 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.load $0 offset=4 + i32.const 3 + i32.add + local.set $8 + local.get $0 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $9 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $8 + i32.add + local.get $9 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $1 + f32.const 255 + f32.min + f32.const 0 + f32.max + i32.trunc_sat_f32_u + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $3 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11824 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $3 + local.get $5 + i32.const 6 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11856 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.get $4 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.load $0 offset=4 + i32.const 2 + i32.add + local.set $5 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|08 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + local.get $8 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + f64.const 255 + f64.min + f64.const 0 + f64.max + i32.trunc_sat_f64_u + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|08 + 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 $3 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11888 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $3 + local.get $6 + call $~lib/typedarray/Int8Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $3 + local.get $7 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $3 + i32.store $0 + local.get $0 + i32.const 11264 + i32.store $0 offset=4 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int8Array#get:length + local.get $4 + i32.const 7 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.load $0 offset=4 + i32.const 7 + i32.add + local.set $5 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $6 + i32.const 0 + local.set $0 + loop $for-loop|012 + local.get $0 + local.get $4 + i32.lt_s + if + local.get $0 + local.get $5 + i32.add + i32.const 255 + local.get $0 + local.get $6 + i32.add + i32.load8_s $0 + local.tee $7 + i32.sub + i32.const 31 + i32.shr_s + local.get $7 + i32.or + local.get $7 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|012 + 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 $3 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 11920 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $3 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 i32.const 1 call $~lib/builtins/abort unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 i32.store $0 - i32.const 4 + local.get $1 + i32.const 11008 + i32.store $0 offset=4 + local.get $1 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=8 - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_s - select - local.set $2 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length 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 + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.tee $1 - local.get $2 - local.get $1 - local.get $2 - 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 $4 - i32.store $0 - local.get $4 + local.tee $2 local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - i32.add - i32.store $0 offset=4 - local.get $4 - local.get $3 + local.set $3 local.get $2 - i32.sub + i32.const 11008 i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.store16 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 ) - (func $~lib/typedarray/Uint8ClampedArray#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#__uget (type $i32_i32_=>_i32) (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 @@ -63432,83 +44239,31 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 i32.const 0 i32.store $0 - i32.const 4 - local.get $0 - i32.load $0 offset=8 - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_s - select - local.set $2 - 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 local.get $2 - local.get $1 - local.get $2 - 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 $4 - i32.store $0 - local.get $4 local.get $0 - i32.load $0 - local.tee $1 i32.store $0 - local.get $1 - if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $2 local.get $0 i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl i32.add - i32.store $0 offset=4 - local.get $4 - local.get $3 + i32.load16_s $0 + local.set $0 local.get $2 - i32.sub - i32.store $0 offset=8 - 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/typedarray/Int16Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (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 @@ -63525,91 +44280,91 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $3 i32.const 0 i32.store $0 - i32.const 4 - local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - 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 - local.get $2 - local.get $1 - local.get $2 - 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 $4 + local.get $0 i32.store $0 - local.get $4 local.get $0 - i32.load $0 - local.tee $1 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 i32.store $0 local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Int16Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int16Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12000 + i32.store $0 + i32.const 12000 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + local.get $3 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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 - local.get $4 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 - local.get $3 - local.get $2 - i32.sub - i32.const 1 - i32.shl - i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 ) - (func $~lib/typedarray/Uint16Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (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.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -63624,91 +44379,93 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - i32.store $0 - i32.const 4 + i32.store $0 offset=8 + local.get $2 local.get $0 - i32.load $0 offset=8 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - 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.store $0 local.get $2 local.get $1 + i32.store $0 offset=4 local.get $2 - i32.gt_s - select + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 8 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.const 6 + i32.add + i32.lt_s if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.get $2 - i32.const 1 - i32.shl + i32.const 12 i32.add - i32.store $0 offset=4 + local.set $2 local.get $4 - local.get $3 - local.get $2 - i32.sub - i32.const 1 - i32.shl + local.get $1 i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + i64.store16 $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 4 + i32.const 12 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 ) - (func $~lib/typedarray/Uint32Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (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.const 12 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -63723,95 +44480,169 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 i32.const 0 - i32.store $0 - i32.const 4 + i32.store $0 offset=8 + local.get $2 local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - 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.store $0 local.get $2 local.get $1 + i32.store $0 offset=4 local.get $2 - i32.gt_s - select + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.const 10 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $3 + i32.lt_s if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable end - local.get $4 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 local.get $0 i32.load $0 offset=4 - local.get $2 - i32.const 2 - i32.shl - i32.add - i32.store $0 offset=4 + local.set $2 local.get $4 - local.get $3 - local.get $2 - i32.sub - i32.const 2 - i32.shl + local.get $1 i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/typedarray/Int64Array#subarray (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.add + i32.load8_u $0 + i32.store16 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $2 + i32.const 4 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 8 + i32.add + local.set $0 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.load $0 offset=4 + local.get $2 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#set<~lib/array/Array> (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 i32.lt_s if i32.const 49120 @@ -63821,90 +44652,25310 @@ call $~lib/builtins/abort unreachable end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 4 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - local.get $1 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11264 + i32.store $0 offset=4 + local.get $1 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.get $1 + i32.const 7 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 14 + i32.add + local.set $3 + local.get $2 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.add + i32.load8_s $0 + i32.store16 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int16Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $7 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 11952 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $8 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 6 + i32.add + local.set $5 + local.get $9 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $9 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $1 + i32.trunc_sat_f32_s + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store16 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 12048 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 12096 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 4 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $8 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_s + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store16 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 12144 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 65 + i32.const 12192 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint16Array#__uget (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Uint16Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint16Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12288 + i32.store $0 + i32.const 12288 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $3 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/testTypedArraySet<~lib/typedarray/Uint16Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $7 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 12240 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $8 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $9 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 6 + i32.add + local.set $5 + local.get $9 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $9 + loop $for-loop|0 + local.get $0 + local.get $8 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $9 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $1 + i32.trunc_sat_f32_u + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store16 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 12336 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 12384 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int16Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 4 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 1 + i32.shl + i32.add + local.get $8 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_u + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store16 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 12432 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int16Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int16Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 1 + i32.const 66 + i32.const 12480 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint16Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $0 + i32.store $0 + local.get $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/array/Array#get:length + local.set $4 + local.get $2 + i32.const 0 + i32.lt_s + if (result i32) + i32.const 1 + else + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $2 + local.get $4 + i32.add + i32.lt_s + end + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.get $2 + i32.const 2 + i32.shl + i32.add + local.set $0 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.load $0 offset=4 + local.get $4 + i32.const 2 + i32.shl + memory.copy $0 $0 + local.get $3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#__uget (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Int32Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int32Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12592 + i32.store $0 + i32.const 12592 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_s + local.get $3 + f64.convert_i32_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/typedarray/Int64Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.const 6 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 24 + i32.add + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + 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 3 + i32.shl + i32.add + i64.load $0 + i64.store32 $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.add + i32.load8_u $0 + i32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.const 4 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 16 + i32.add + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + 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 $0 + i32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#set<~lib/array/Array> (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11264 + i32.store $0 offset=4 + local.get $1 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.get $1 + i32.const 7 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 28 + i32.add + local.set $3 + local.get $2 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.add + i32.load8_s $0 + i32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int32Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $8 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + i32.const 11008 + i32.const 0 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 12528 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $5 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 12 + i32.add + local.set $9 + local.get $6 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $10 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $10 + local.get $0 + i32.const 2 + i32.shl + local.tee $6 + i32.add + f32.load $0 + local.set $1 + local.get $6 + local.get $9 + i32.add + local.get $1 + i32.trunc_sat_f32_s + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 12640 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 12704 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 8 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $7 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_s + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 12768 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $4 + local.get $8 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 17 + i32.const 12832 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int32Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint32Array#__uget (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $0 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + 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 $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Uint32Array#__uget + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint32Array#__uget + local.tee $3 + local.get $5 + i32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 12960 + i32.store $0 + i32.const 12960 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $5 + f64.convert_i32_u + local.get $3 + f64.convert_i32_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/testTypedArraySet<~lib/typedarray/Uint32Array> (type $none_=>_none) + (local $0 i32) + (local $1 f32) + (local $2 f64) + (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 24 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $7 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $8 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + i32.const 11008 + i32.const 0 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 12896 + call $~lib/rt/__newArray + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11088 + i32.store $0 offset=4 + local.get $5 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $5 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 12 + i32.add + local.set $9 + local.get $6 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $10 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $10 + local.get $0 + i32.const 2 + i32.shl + local.tee $6 + i32.add + f32.load $0 + local.set $1 + local.get $6 + local.get $9 + i32.add + local.get $1 + i32.trunc_sat_f32_u + i32.const 0 + local.get $1 + local.get $1 + f32.sub + f32.const 0 + f32.eq + select + i32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 13008 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 13072 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int32Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 8 + i32.add + local.set $6 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $7 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $7 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $2 + i32.trunc_sat_f64_u + i32.const 0 + local.get $2 + local.get $2 + f64.sub + f64.const 0 + f64.eq + select + i32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 13136 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $4 + local.get $8 + call $~lib/typedarray/Int32Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 67 + i32.const 13200 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint32Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11008 + i32.store $0 offset=4 + local.get $1 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $3 + local.get $2 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $2 + local.get $0 + i32.const 2 + i32.shl + i32.add + i64.load32_s $0 + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#__uget (type $i32_i32_=>_i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 i64) + (local $5 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Int64Array#__uget + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Int64Array#__uget + local.tee $4 + local.get $3 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 13376 + i32.store $0 + i32.const 13376 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i64_s + local.get $4 + f64.convert_i64_s + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/typedarray/Int64Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $2 + i32.const 6 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 48 + i32.add + local.set $0 + local.get $3 + local.get $1 + i32.store $0 offset=8 + local.get $0 + local.get $1 + i32.load $0 offset=4 + local.get $2 + i32.const 3 + i32.shl + memory.copy $0 $0 + local.get $3 + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.add + i64.load8_u $0 + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> (type $i32_i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $3 + i32.const 4 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 32 + i32.add + local.set $2 + local.get $4 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $1 + local.get $0 + i32.const 1 + i32.shl + i32.add + i64.load16_s $0 + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#set<~lib/array/Array> (type $i32_=>_none) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 11264 + i32.store $0 offset=4 + local.get $1 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + i32.const 7 + i32.add + i32.lt_s + if + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + i32.const 56 + i32.add + local.set $3 + local.get $2 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|0 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.add + i64.load8_s $0 + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $std/typedarray/testTypedArraySet<~lib/typedarray/Int64Array> (type $none_=>_none) + (local $0 i32) + (local $1 f64) + (local $2 f32) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 13264 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $4 + i32.store $0 + local.get $7 + i32.const 11088 + i32.store $0 offset=4 + local.get $7 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $7 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 24 + i32.add + local.set $9 + local.get $8 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $8 + loop $for-loop|0 + local.get $0 + local.get $7 + i32.lt_s + if + local.get $9 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $8 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $2 + i64.trunc_sat_f32_s + i64.const 0 + local.get $2 + local.get $2 + f32.sub + f32.const 0 + f32.eq + select + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 13424 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 13536 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 16 + i32.add + local.set $7 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $0 + i32.const 3 + i32.shl + local.tee $9 + i32.add + f64.load $0 + local.set $1 + local.get $7 + local.get $9 + i32.add + local.get $1 + i64.trunc_sat_f64_s + i64.const 0 + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.eq + select + i64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 13648 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 68 + i32.const 13760 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Uint64Array#__uget (type $i32_i32_=>_i64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 i64) + (local $5 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Uint64Array#__uget + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint64Array#__uget + local.tee $4 + local.get $3 + i64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 13984 + i32.store $0 + i32.const 13984 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.convert_i64_u + local.get $4 + f64.convert_i64_u + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/testTypedArraySet<~lib/typedarray/Uint64Array> (type $none_=>_none) + (local $0 i32) + (local $1 f64) + (local $2 f32) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $3 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $3 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + i32.const 100 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 1 + i32.const 101 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 2 + i32.const 102 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + 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 $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 13872 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $4 + local.get $7 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i32.const 0 + i32.store $0 offset=8 + local.get $7 + local.get $4 + i32.store $0 + local.get $7 + i32.const 11088 + i32.store $0 offset=4 + local.get $7 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $7 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 24 + i32.add + local.set $9 + local.get $8 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $8 + loop $for-loop|0 + local.get $0 + local.get $7 + i32.lt_s + if + local.get $9 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $8 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $2 + i64.trunc_sat_f32_u + i64.const 0 + local.get $2 + local.get $2 + f32.sub + f32.const 0 + f32.eq + select + i64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 14032 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + local.get $4 + local.get $5 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 14144 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11184 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11184 + i32.store $0 offset=4 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11184 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $5 + i32.const 2 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 16 + i32.add + local.set $7 + local.get $0 + i32.const 11184 + i32.store $0 offset=8 + i32.const 11188 + i32.load $0 + local.set $8 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $8 + local.get $0 + i32.const 3 + i32.shl + local.tee $9 + i32.add + f64.load $0 + local.set $1 + local.get $7 + local.get $9 + i32.add + local.get $1 + i64.trunc_sat_f64_u + i64.const 0 + local.get $1 + local.get $1 + f64.sub + f64.const 0 + f64.eq + select + i64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 14256 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $4 + local.get $3 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Uint8Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=20 + local.get $4 + local.get $6 + call $~lib/typedarray/Int64Array#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + local.get $4 + call $~lib/typedarray/Int64Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 69 + i32.const 14368 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint64Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Float32Array#__uget (type $i32_i32_=>_f32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $3 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 f32) + (local $4 f32) + (local $5 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Float32Array#__uget + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float32Array#__uget + local.tee $4 + local.get $3 + f32.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 14544 + i32.store $0 + i32.const 14544 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + f64.promote_f32 + local.get $4 + f64.promote_f32 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/testTypedArraySet<~lib/typedarray/Float32Array> (type $none_=>_none) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $5 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 0 + i64.const 7 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + i32.const 1 + i64.const 8 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=4 + local.get $5 + 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 $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $0 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 $0 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 $2 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i32.const 1000 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i32.const 1001 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + local.get $3 + local.get $6 + i32.store $0 + local.get $3 + i32.const 11008 + i32.store $0 offset=4 + local.get $3 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $4 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $4 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $8 + loop $for-loop|0 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $7 + local.get $0 + i32.const 2 + i32.shl + local.tee $4 + i32.add + local.get $4 + local.get $8 + i32.add + i32.load $0 + f32.convert_i32_s + f32.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 14480 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + local.get $6 + i32.const 11088 + i32.const 3 + call $~lib/typedarray/Int32Array#set<~lib/array/Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 14592 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + local.get $5 + i32.store $0 offset=4 + local.get $0 + local.get $5 + i32.store $0 offset=8 + local.get $5 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.const 6 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + i32.const 24 + i32.add + local.set $4 + local.get $0 + local.get $5 + i32.store $0 offset=8 + local.get $5 + i32.load $0 offset=4 + local.set $5 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + f32.convert_i64_s + f32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 14656 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float32Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $3 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|08 + local.get $0 + local.get $3 + i32.lt_s + if + local.get $4 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $0 + local.get $1 + i32.add + i32.load8_u $0 + f32.convert_i32_u + f32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|08 + 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 $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int16Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $1 + i32.const 4 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + i32.const 16 + i32.add + local.set $3 + local.get $0 + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.load $0 offset=4 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|012 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $3 + local.get $0 + i32.const 2 + i32.shl + i32.add + local.get $2 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + f32.convert_i32_s + f32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|012 + 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 $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 11264 + i32.store $0 offset=4 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $1 + i32.const 7 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + i32.const 28 + i32.add + local.set $2 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $3 + i32.const 0 + local.set $0 + loop $for-loop|016 + 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 $3 + i32.add + i32.load8_s $0 + f32.convert_i32_s + f32.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|016 + 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 $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 2 + i32.const 62 + i32.const 14720 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + 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 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/typedarray/Float64Array#__uget (type $i32_i32_=>_f64) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + i32.const 0 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + i32.load $0 offset=4 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $3 + local.get $2 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) + (local $2 i32) + (local $3 f64) + (local $4 f64) + (local $5 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $5 + i32.const 0 + i32.store $0 + local.get $5 + local.get $0 + i32.store $0 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/array/Array#get:length + local.get $5 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 758 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + loop $for-loop|0 + local.get $2 + local.get $5 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/typedarray/Float64Array#__uget + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + local.get $2 + call $~lib/typedarray/Float64Array#__uget + local.tee $4 + local.get $3 + f64.ne + if + global.get $~lib/memory/__stack_pointer + i32.const 14896 + i32.store $0 + i32.const 14896 + i32.const 3 + local.get $2 + f64.convert_i32_s + local.get $3 + local.get $4 + f64.const 0 + f64.const 0 + call $~lib/builtins/trace + i32.const 0 + i32.const 1568 + i32.const 764 + 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/testTypedArraySet<~lib/typedarray/Float64Array> (type $none_=>_none) + (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 + block $folding-inner1 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 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 $0 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 $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 $0 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 $0 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 $0 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 $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 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 $0 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 $0 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/Float64Array#constructor + local.tee $4 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11008 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $5 + i64.const 0 + i64.store $0 + local.get $5 + i32.const 0 + i32.store $0 offset=8 + local.get $5 + local.get $4 + i32.store $0 + local.get $5 + i32.const 11008 + i32.store $0 offset=4 + local.get $5 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11008 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $5 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + local.set $7 + local.get $6 + i32.const 11008 + i32.store $0 offset=8 + i32.const 11012 + i32.load $0 + local.set $6 + loop $for-loop|0 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $7 + 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 $0 + f64.convert_i32_s + f64.store $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 12 + i32.add + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 63 + i32.const 14784 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11088 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11088 + i32.store $0 offset=4 + local.get $0 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11088 + call $~lib/array/Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $5 + i32.const 3 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 24 + i32.add + local.set $6 + local.get $0 + i32.const 11088 + i32.store $0 offset=8 + i32.const 11092 + i32.load $0 + local.set $7 + i32.const 0 + local.set $0 + loop $for-loop|04 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + f64.promote_f32 + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|04 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 63 + i32.const 14944 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $5 + i32.const 6 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 48 + i32.add + local.set $6 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $0 + loop $for-loop|08 + local.get $0 + local.get $5 + i32.lt_s + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + local.tee $7 + i32.add + local.get $1 + local.get $7 + i32.add + i64.load $0 + f64.convert_i64_s + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|08 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 63 + i32.const 15056 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $2 + i32.store $0 offset=8 + local.get $2 + call $~lib/typedarray/Int8Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + local.set $5 + local.get $0 + local.get $2 + i32.store $0 offset=8 + local.get $2 + i32.load $0 offset=4 + local.set $2 + i32.const 0 + local.set $0 + loop $for-loop|012 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $5 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $2 + i32.add + i32.load8_u $0 + f64.convert_i32_u + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|012 + 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 $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + local.get $3 + i32.store $0 offset=4 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $~lib/typedarray/Int16Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + i32.const 4 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 32 + i32.add + local.set $2 + local.get $0 + local.get $3 + i32.store $0 offset=8 + local.get $3 + i32.load $0 offset=4 + local.set $3 + i32.const 0 + local.set $0 + loop $for-loop|016 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $3 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + f64.convert_i32_s + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|016 + 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 $4 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 11264 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $4 + i32.store $0 + local.get $0 + i32.const 11264 + i32.store $0 offset=4 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11264 + call $~lib/array/Array#get:length + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + call $~lib/typedarray/Int64Array#get:length + local.get $1 + i32.const 7 + i32.add + i32.lt_s + br_if $folding-inner1 + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.load $0 offset=4 + i32.const 56 + i32.add + local.set $2 + local.get $0 + i32.const 11264 + i32.store $0 offset=8 + i32.const 11268 + i32.load $0 + local.set $3 + i32.const 0 + local.set $0 + loop $for-loop|020 + local.get $0 + local.get $1 + i32.lt_s + if + local.get $2 + local.get $0 + i32.const 3 + i32.shl + i32.add + local.get $0 + local.get $3 + i32.add + i32.load8_s $0 + f64.convert_i32_s + f64.store $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|020 + 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 $4 + i32.store $0 offset=4 + i32.const 10 + i32.const 3 + i32.const 63 + i32.const 15168 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $4 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Float64Array> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load8_s $0 + local.set $1 + local.get $0 + i32.load8_s $0 offset=1 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store8 $0 + local.get $0 + i32.load8_s $0 offset=2 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store8 $0 offset=1 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store8 $0 offset=2 + end + local.get $0 + i32.load8_s $0 + local.set $1 + local.get $0 + i32.load8_s $0 offset=1 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store8 $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store8 $0 offset=1 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int8Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15344 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15344 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Int8Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15376 + i32.store $0 offset=12 + local.get $0 + i32.const 15376 + call $~lib/typedarray/Int8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load8_u $0 + local.set $1 + local.get $0 + i32.load8_u $0 offset=1 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store8 $0 + local.get $0 + i32.load8_u $0 offset=2 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store8 $0 offset=1 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store8 $0 offset=2 + end + local.get $0 + i32.load8_u $0 + local.set $1 + local.get $0 + i32.load8_u $0 offset=1 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store8 $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store8 $0 offset=1 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint8Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15408 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15408 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15440 + i32.store $0 offset=12 + local.get $0 + i32.const 15440 + call $~lib/typedarray/Uint8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint8Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15472 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15472 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint8Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15504 + i32.store $0 offset=12 + local.get $0 + i32.const 15504 + call $~lib/typedarray/Uint8Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load16_s $0 + local.set $1 + local.get $0 + i32.load16_s $0 offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store16 $0 + local.get $0 + i32.load16_s $0 offset=4 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store16 $0 offset=2 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store16 $0 offset=4 + end + local.get $0 + i32.load16_s $0 + local.set $1 + local.get $0 + i32.load16_s $0 offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store16 $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store16 $0 offset=2 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 1 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int16Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15536 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15536 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Int16Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15568 + i32.store $0 offset=12 + local.get $0 + i32.const 15568 + call $~lib/typedarray/Int16Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load16_u $0 + local.set $1 + local.get $0 + i32.load16_u $0 offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store16 $0 + local.get $0 + i32.load16_u $0 offset=4 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store16 $0 offset=2 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store16 $0 offset=4 + end + local.get $0 + i32.load16_u $0 + local.set $1 + local.get $0 + i32.load16_u $0 offset=2 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store16 $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store16 $0 offset=2 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 1 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint16Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15600 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15600 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint16Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15632 + i32.store $0 offset=12 + local.get $0 + i32.const 15632 + call $~lib/typedarray/Uint16Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint16Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store $0 offset=8 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int32Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15664 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15664 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Int32Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15696 + i32.store $0 offset=12 + local.get $0 + i32.const 15696 + call $~lib/typedarray/Int32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $14 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $4 + select + i32.store $0 + local.get $0 + i32.load $0 offset=8 + local.set $5 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $5 + local.get $1 + local.get $3 + local.get $4 + select + local.tee $1 + local.get $1 + local.get $5 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $3 + select + i32.store $0 offset=4 + local.get $0 + local.get $1 + local.get $5 + local.get $3 + select + i32.store $0 offset=8 + end + local.get $0 + i32.load $0 + local.set $1 + local.get $0 + i32.load $0 offset=4 + local.set $3 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $3 + local.get $1 + local.get $1 + local.get $3 + local.get $2 + i32.load $0 + call_indirect $0 (type $i32_i32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $2 + select + i32.store $0 + local.get $0 + local.get $1 + local.get $3 + local.get $2 + select + i32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $10 + i32.add + local.set $11 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $10 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $9 + local.get $9 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $9 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $9 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $9 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $9 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $13 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $13 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $14 + local.get $11 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $10 + local.get $14 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $10 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $11 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $10 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $9 + local.get $12 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $12 + call $~lib/rt/tlsf/__free + local.get $10 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint32Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15728 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15728 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint32Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15760 + i32.store $0 offset=12 + local.get $0 + i32.const 15760 + call $~lib/typedarray/Uint32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#__get + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__get + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint32Array#__get + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 i64) + (local $16 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i64.load $0 + local.set $9 + local.get $0 + i64.load $0 offset=8 + local.set $14 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $14 + local.get $9 + local.get $9 + local.get $14 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 + local.get $0 + i64.load $0 offset=16 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $14 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 offset=8 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + i64.store $0 offset=16 + end + local.get $0 + i64.load $0 + local.set $9 + local.get $0 + i64.load $0 offset=8 + local.set $14 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $14 + local.get $9 + local.get $9 + local.get $14 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 + local.get $0 + local.get $9 + local.get $14 + local.get $1 + select + i64.store $0 offset=8 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $11 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 3 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $9 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $16 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $16 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $11 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $12 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Int64Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=4 + local.get $1 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15792 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15792 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Int64Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15824 + i32.store $0 offset=12 + local.get $0 + i32.const 15824 + call $~lib/typedarray/Int64Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Int64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Int64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i64) + (local $10 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 i64) + (local $16 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + i64.load $0 + local.set $9 + local.get $0 + i64.load $0 offset=8 + local.set $14 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $14 + local.get $9 + local.get $9 + local.get $14 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 + local.get $0 + i64.load $0 offset=16 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $14 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 offset=8 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + i64.store $0 offset=16 + end + local.get $0 + i64.load $0 + local.set $9 + local.get $0 + i64.load $0 offset=8 + local.set $14 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $14 + local.get $9 + local.get $9 + local.get $14 + local.get $2 + i32.load $0 + call_indirect $0 (type $i64_i64_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + i64.store $0 + local.get $0 + local.get $9 + local.get $14 + local.get $1 + select + i64.store $0 offset=8 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $11 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 3 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $9 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $9 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $16 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $16 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $11 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $12 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Uint64Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15856 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15856 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Uint64Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15888 + i32.store $0 offset=12 + local.get $0 + i32.const 15888 + call $~lib/typedarray/Uint64Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#__get + i64.const 3 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Uint64Array#__get + i64.const 2 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Uint64Array#__get + i64.const 1 + i64.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $~lib/util/sort/SORT (type $i32_i32_i32_=>_none) (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 i32) + (local $11 i32) + (local $12 i32) + (local $13 i32) + (local $14 i64) + (local $15 f32) + (local $16 f32) + (local $17 i32) + 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 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i32.const 0 + i32.store $0 offset=8 + block $folding-inner0 + local.get $1 + i32.const 48 + i32.le_s + if + local.get $1 + i32.const 1 + i32.le_s + br_if $folding-inner0 + block $break|0 + block $case1|0 + local.get $1 + i32.const 3 + i32.ne + if + local.get $1 + i32.const 2 + i32.eq + br_if $case1|0 + br $break|0 + end + local.get $0 + f32.load $0 + local.set $9 + local.get $0 + f32.load $0 offset=4 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 + local.get $0 + f32.load $0 offset=8 + local.set $16 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $16 + local.get $9 + local.get $15 + local.get $1 + select + local.tee $9 + local.get $9 + local.get $16 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 offset=4 + local.get $0 + local.get $9 + local.get $16 + local.get $1 + select + f32.store $0 offset=8 + end + local.get $0 + f32.load $0 + local.set $9 + local.get $0 + f32.load $0 offset=4 + local.set $15 + i32.const 2 + global.set $~argumentsLength + local.get $0 + local.get $15 + local.get $9 + local.get $9 + local.get $15 + local.get $2 + i32.load $0 + call_indirect $0 (type $f32_f32_=>_i32) + i32.const 0 + i32.gt_s + local.tee $1 + select + f32.store $0 + local.get $0 + local.get $9 + local.get $15 + local.get $1 + select + f32.store $0 offset=4 + br $folding-inner0 + end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + i32.const 0 + local.get $2 + call $~lib/util/sort/insertionSort + br $folding-inner0 + end + i32.const 33 + local.get $1 + i32.clz + i32.sub + local.tee $4 + i32.const 2 + i32.shl + local.tee $5 + i32.const 1 + i32.shl + local.set $6 + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + local.get $5 + global.get $~lib/rt/tlsf/ROOT + local.get $6 + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.tee $11 + i32.add + local.set $12 + loop $for-loop|1 + local.get $3 + local.get $4 + i32.lt_u + if + local.get $11 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.const -1 + i32.store $0 + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|1 + end + end + global.get $~lib/rt/tlsf/ROOT + i32.eqz + if + call $~lib/rt/tlsf/initialize + end + global.get $~lib/rt/tlsf/ROOT + local.get $1 + i32.const 2 + i32.shl + call $~lib/rt/tlsf/allocateBlock + i32.const 4 + i32.add + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + local.get $1 + i32.const 1 + i32.sub + local.tee $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $4 + i32.const 1 + i32.add + local.tee $1 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + i32.const 0 + i32.const 31 + local.get $10 + local.get $10 + i32.const 31 + i32.ge_s + select + local.tee $4 + local.get $1 + local.get $2 + call $~lib/util/sort/insertionSort + end + i32.const 0 + local.set $1 + i32.const 0 + local.set $3 + loop $while-continue|2 + local.get $4 + local.get $10 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $0 + local.get $4 + i32.const 1 + i32.add + local.tee $6 + local.get $10 + local.get $2 + call $~lib/util/sort/extendRunRight + local.tee $5 + local.get $6 + i32.sub + i32.const 1 + i32.add + local.tee $7 + i32.const 32 + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $0 + local.get $6 + local.get $10 + local.get $6 + i32.const 31 + i32.add + local.tee $5 + local.get $5 + local.get $10 + i32.gt_s + select + local.tee $5 + local.get $7 + local.get $2 + call $~lib/util/sort/insertionSort + end + local.get $3 + local.get $6 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $10 + i32.const 1 + i32.add + i64.extend_i32_u + local.tee $14 + i64.div_u + local.get $5 + local.get $6 + i32.add + i32.const 1 + i32.add + i64.extend_i32_u + i64.const 30 + i64.shl + local.get $14 + i64.div_u + i64.xor + i32.wrap_i64 + i32.clz + local.set $7 + loop $for-loop|3 + local.get $1 + local.get $7 + i32.gt_u + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $8 + i32.const -1 + i32.ne + if + local.get $1 + i32.const 2 + i32.shl + local.tee $17 + local.get $12 + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $8 + local.get $3 + local.get $4 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + local.get $11 + local.get $17 + i32.add + i32.const -1 + i32.store $0 + local.get $8 + local.set $3 + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|3 + end + end + local.get $7 + i32.const 2 + i32.shl + local.tee $1 + local.get $11 + i32.add + local.get $3 + i32.store $0 + local.get $1 + local.get $12 + i32.add + local.get $4 + i32.store $0 + local.get $6 + local.set $3 + local.get $5 + local.set $4 + local.get $7 + local.set $1 + br $while-continue|2 + end + end + loop $for-loop|4 + local.get $1 + if + local.get $11 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $3 + i32.const -1 + i32.ne + if + local.get $12 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + i32.const 1 + i32.add + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=8 + local.get $0 + local.get $3 + local.get $4 + local.get $10 + local.get $13 + local.get $2 + call $~lib/util/sort/mergeRuns + end + local.get $1 + i32.const 1 + i32.sub + local.set $1 + br $for-loop|4 + end + end + local.get $13 + call $~lib/rt/tlsf/__free + local.get $11 + call $~lib/rt/tlsf/__free + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $~lib/typedarray/Float32Array#sort (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + if + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.load $0 offset=4 + local.set $2 + local.get $3 + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $2 + local.get $3 + local.get $1 + call $~lib/util/sort/SORT + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> (type $none_=>_none) + (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 + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i64.const 0 + i64.store $0 offset=8 + local.get $1 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f32.const 1 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 $0 offset=4 + local.get $1 + i32.const 0 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + 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 16320 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + i32.const 0 + i32.store $0 offset=8 + block $1of1 + block $0of1 + block $outOfRange + global.get $~argumentsLength + br_table $0of1 $1of1 $outOfRange + end + unreachable + end + i32.const 15920 + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 15920 + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $1 + i32.store $0 offset=4 + local.get $3 + local.get $0 + i32.store $0 offset=8 + local.get $1 + local.get $0 + call $~lib/typedarray/Float32Array#sort + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + 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 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15952 + i32.store $0 offset=12 + local.get $0 + i32.const 15952 + call $~lib/typedarray/Float32Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#__get + f32.const 3 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float32Array#__get + f32.const 2 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float32Array#__get + f32.const 1 + f32.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 + return + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $start:std/typedarray (type $none_=>_none) + (local $0 i32) + (local $1 i32) + (local $2 i32) + (local $3 i64) + (local $4 f32) + (local $5 f64) + (local $6 i32) + (local $7 i32) + (local $8 i32) + (local $9 i32) + (local $10 i64) + (local $11 f32) + (local $12 f64) + global.get $~lib/memory/__stack_pointer + i32.const 124 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner25 + block $folding-inner24 + block $folding-inner23 + block $folding-inner22 + block $folding-inner21 + block $folding-inner20 + block $folding-inner19 + block $folding-inner18 + block $folding-inner17 + block $folding-inner13 + block $folding-inner12 + block $folding-inner11 + block $folding-inner10 + block $folding-inner9 + block $folding-inner8 + block $folding-inner7 + block $folding-inner6 + block $folding-inner4 + block $folding-inner3 + block $folding-inner2 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 124 + memory.fill $0 + memory.size $0 + i32.const 16 + i32.shl + i32.const 49088 + i32.sub + i32.const 1 + i32.shr_u + global.set $~lib/rt/itcms/threshold + i32.const 1284 + i32.const 1280 + i32.store $0 + i32.const 1288 + i32.const 1280 + i32.store $0 + i32.const 1280 + global.set $~lib/rt/itcms/pinSpace + i32.const 1316 + i32.const 1312 + i32.store $0 + i32.const 1320 + i32.const 1312 + i32.store $0 + i32.const 1312 + global.set $~lib/rt/itcms/toSpace + i32.const 1460 + i32.const 1456 + i32.store $0 + i32.const 1464 + i32.const 1456 + i32.store $0 + i32.const 1456 + 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 $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 96 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#subarray + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 104 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + f64.const 7 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + f64.const 6 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + f64.const 5 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 5 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 6 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 7 + f64.const 8 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 2 + i32.const 6 + call $~lib/typedarray/Float64Array#subarray + local.tee $6 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int64Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 16 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 123 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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 $6 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + local.get $6 + call $~lib/typedarray/Float64Array#sort@varargs + drop + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 4 + f64.eq + if (result i32) + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const -32 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 256 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int8Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1728 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1808 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int8Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1840 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 2 + i32.const -2 + call $~lib/typedarray/Int8Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1872 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int8Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1904 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $7 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $7 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int8Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int8Array#get:length + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 166 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.load $0 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 $7 + i32.store $0 offset=4 + i32.const 3 + i32.const 0 + i32.const 16 + i32.const 1936 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $7 + local.get $8 + 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 $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 0 + i32.const 16 + i32.const 1968 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2000 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2048 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 0 + i32.const -3 + call $~lib/typedarray/Int32Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2096 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 2 + i32.const -2 + call $~lib/typedarray/Int32Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2144 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + i32.const 0 + call $~lib/typedarray/Int32Array#fill + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2192 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $7 + i32.store $0 offset=32 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $7 + i32.const 0 + i32.const 0 + call $~lib/typedarray/Int32Array#fill@varargs + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 198 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.load $0 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 $7 + i32.store $0 offset=4 + i32.const 3 + i32.const 2 + i32.const 17 + i32.const 2240 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $7 + local.get $8 + 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 $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2272 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=36 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 5 + i32.const 6 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.const 6 + call $~lib/typedarray/Int8Array#subarray + local.tee $6 + i32.store $0 offset=40 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 1 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 224 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.const 1 + i32.const 5 + call $~lib/typedarray/Int8Array#subarray + local.tee $6 + i32.store $0 offset=44 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 2 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 230 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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.tee $7 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int8Array#subarray + local.tee $6 + i32.store $0 offset=48 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + 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 $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 3 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 236 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.load $0 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 $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $6 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $7 + i32.store $0 offset=56 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 0 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2320 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2368 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2416 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 2 + i32.const 2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2464 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const 0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2512 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const 1 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2560 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const 1 + i32.const 2 + i32.const 4 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2608 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const 0 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2656 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const 0 + i32.const -2 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2704 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const -4 + i32.const -3 + i32.const -2 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2752 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + local.get $6 + i32.const -4 + i32.const -3 + i32.const -1 + call $~lib/typedarray/Int32Array#copyWithin + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2800 + call $~lib/rt/__newArray + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=20 + local.get $6 + local.get $8 + 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.tee $6 + local.get $7 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + local.get $6 + local.get $7 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $6 + i32.store $0 offset=52 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=60 + i32.const 2 + global.set $~argumentsLength + local.get $6 + i32.const -4 + i32.const -3 + call $~lib/typedarray/Int32Array#copyWithin@varargs + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 5 + i32.const 2 + i32.const 17 + i32.const 2848 + call $~lib/rt/__newArray + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + local.get $6 + local.get $7 + 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 $6 + i32.store $0 offset=64 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.const 1 + i32.const 4 + call $~lib/typedarray/Int32Array#subarray + local.tee $7 + i32.store $0 offset=68 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + i32.const 4 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 283 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.load $0 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.tee $8 + local.get $6 + i32.store $0 offset=4 + local.get $8 + local.get $6 + i32.const 1 + i32.const 3 + call $~lib/typedarray/Int32Array#slice + local.tee $8 + i32.store $0 offset=72 + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + 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 $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/typedarray/Int32Array#get:length + 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 $8 + i32.store $0 offset=4 + local.get $8 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 290 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $8 + i32.store $0 offset=4 + local.get $8 + i32.load $0 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.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $8 + local.get $7 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#slice + local.tee $7 + i32.store $0 offset=76 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + if + i32.const 0 + i32.const 1568 + i32.const 296 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.load $0 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.tee $7 + local.get $6 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + local.get $7 + local.get $6 + call $~lib/typedarray/Int32Array#slice@varargs + local.tee $7 + i32.store $0 offset=80 + local.get $6 + local.get $7 + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.get $8 + 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 $7 + i32.store $0 offset=4 + local.get $7 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.get $8 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 302 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $8 + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.load $0 offset=8 + local.set $7 + local.get $8 + local.get $6 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.load $0 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i32.const 0 + i32.store $0 offset=8 + local.get $6 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2896 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + local.get $6 + i32.store $0 + local.get $7 + i32.const 2896 + i32.store $0 offset=4 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.set $7 + loop $for-loop|0 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $1 + local.get $8 + i32.add + i32.load8_s $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $9 + local.get $1 + local.get $6 + i32.const 2896 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + 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 + local.get $0 + i32.const 255 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner18 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2928 + i32.store $0 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-inner18 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2960 + i32.store $0 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-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 2992 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + local.get $6 + i32.store $0 + local.get $7 + i32.const 2992 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + local.set $7 + loop $for-loop|02 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $8 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $9 + local.get $1 + local.get $6 + i32.const 2992 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + 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 $0 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3024 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + local.get $6 + i32.store $0 + local.get $7 + i32.const 3024 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + local.set $7 + loop $for-loop|04 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $8 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $9 + local.get $1 + local.get $6 + i32.const 3024 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + 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 $0 + i32.const 65535 + i32.and + i32.const 6 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3056 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + local.get $6 + i32.store $0 + local.get $7 + i32.const 3056 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.set $7 + loop $for-loop|06 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $8 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $9 + local.get $1 + local.get $6 + i32.const 3056 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + 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 $0 + i32.const 6 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3088 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $7 + i64.const 0 + i64.store $0 + local.get $7 + i64.const 0 + i64.store $0 offset=8 + local.get $7 + local.get $6 + i32.store $0 + local.get $7 + i32.const 3088 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + local.set $7 + loop $for-loop|08 + local.get $1 + local.get $7 + i32.lt_s + if + local.get $8 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $9 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $0 + local.get $9 + local.get $1 + local.get $6 + i32.const 3088 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $0 + local.get $1 + i32.const 1 + i32.add + 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 $0 + i32.const 6 + i32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3120 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 3120 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|010 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $10 + local.get $1 + local.get $0 + i32.const 3120 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $1 + i32.const 1 + i32.add + 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 $3 + i64.const 6 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + i64.const 0 + local.set $3 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3152 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 3152 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|012 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $10 + local.get $1 + local.get $0 + i32.const 3152 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $1 + i32.const 1 + i32.add + 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 $3 + i64.const 6 + i64.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3184 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 3184 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|014 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $4 + local.get $11 + local.get $1 + local.get $0 + i32.const 3184 + i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $4 + local.get $1 + i32.const 1 + i32.add + 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 $4 + f32.const 6 + f32.ne + br_if $folding-inner18 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3216 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 3216 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|016 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $5 + local.get $12 + local.get $1 + local.get $0 + i32.const 3216 + i32.load $0 + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $5 + local.get $1 + i32.const 1 + i32.add + 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 $5 + f64.const 6 + f64.ne + br_if $folding-inner18 + 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 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int8Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int8Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int8Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint8Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint8Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint8ClampedArray#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int16Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int16Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int16Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint16Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint16Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int32Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int32Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int32Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint32Array#at + i32.const 1 + i32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint32Array#at + i32.const 3 + i32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint32Array#at + i32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Int64Array#at + i64.const 1 + i64.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Int64Array#at + i64.const 3 + i64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Int64Array#at + i64.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Uint64Array#at + i64.const 1 + i64.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Uint64Array#at + i64.const 3 + i64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Uint64Array#at + i64.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float32Array#at + f32.const 1 + f32.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Float32Array#at + f32.const 3 + f32.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Float32Array#at + f32.const 1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.ne + br_if $folding-inner2 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -1 + call $~lib/typedarray/Float64Array#at + f64.const 3 + f64.ne + br_if $folding-inner3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const -3 + call $~lib/typedarray/Float64Array#at + f64.const 1 + f64.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 12 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3248 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 3248 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|018 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $0 + local.get $7 + i32.add + i32.load8_s $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $8 + local.get $0 + local.get $6 + i32.const 3248 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|018 + end + 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 + i32.const 6 + i32.ne + br_if $folding-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3280 + i32.store $0 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-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3312 + i32.store $0 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-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3344 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 3344 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|020 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $7 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $8 + local.get $0 + local.get $6 + i32.const 3344 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|020 + end + 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 + i32.const 6 + i32.ne + br_if $folding-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3376 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 3376 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int16Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|022 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $7 + local.get $0 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $8 + local.get $0 + local.get $6 + i32.const 3376 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|022 + end + 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 + i32.const 6 + i32.ne + br_if $folding-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3408 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 3408 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|024 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $8 + local.get $0 + local.get $6 + i32.const 3408 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|024 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 6 + i32.ne + br_if $folding-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $6 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 0 + i32.const 1 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 1 + i32.const 2 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + i32.const 2 + i32.const 3 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3440 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + i32.const 3440 + i32.store $0 offset=4 + i32.const 0 + local.set $1 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $7 + local.get $0 + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|026 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $1 + local.get $8 + local.get $0 + local.get $6 + i32.const 3440 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_i32_=>_i32) + local.set $1 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|026 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + i32.const 6 + i32.ne + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i64.const 0 + local.set $3 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 $0 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 $0 offset=4 + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3472 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 3472 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $6 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|028 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $10 + local.get $0 + local.get $1 + i32.const 3472 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|028 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i64.const 6 + i64.ne + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i64.const 0 + local.set $3 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i64.const 1 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i64.const 2 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i64.const 3 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3504 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 3504 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $6 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|030 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $10 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $3 + local.get $10 + local.get $0 + local.get $1 + i32.const 3504 + i32.load $0 + call_indirect $0 (type $i64_i64_i32_i32_=>_i64) + local.set $3 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|030 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + i64.const 6 + i64.ne + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + f32.const 0 + local.set $4 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + 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 $0 offset=4 + 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 $0 offset=4 + local.get $1 + i32.const 2 + f32.const 3 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3536 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 3536 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $6 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|032 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $6 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $11 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $4 + local.get $11 + local.get $0 + local.get $1 + i32.const 3536 + i32.load $0 + call_indirect $0 (type $f32_f32_i32_i32_=>_f32) + local.set $4 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|032 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + f32.const 6 + f32.ne + br_if $folding-inner20 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + f64.const 0 + local.set $5 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 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 $0 offset=4 + local.get $1 + i32.const 1 + f64.const 2 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 3568 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + local.get $1 + i32.store $0 + local.get $0 + i32.const 3568 + i32.store $0 offset=4 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + i32.load $0 offset=4 + local.set $6 + local.get $0 + local.get $1 + i32.store $0 offset=8 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + i32.const 1 + i32.sub + local.set $0 + loop $for-loop|034 + local.get $0 + i32.const 0 + i32.ge_s + if + local.get $6 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $12 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + i32.const 4 + global.set $~argumentsLength + local.get $5 + local.get $12 + local.get $0 + local.get $1 + i32.const 3568 + i32.load $0 + call_indirect $0 (type $f64_f64_i32_i32_=>_f64) + local.set $5 + local.get $0 + i32.const 1 + i32.sub + local.set $0 + br $for-loop|034 + end + end + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 + f64.const 6 + f64.ne + br_if $folding-inner20 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4304 + i32.store $0 offset=8 + local.get $0 + i32.const 4304 + call $~lib/typedarray/Int8Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4336 + i32.store $0 offset=8 + local.get $0 + i32.const 4336 + call $~lib/typedarray/Int8Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4368 + i32.store $0 offset=8 + local.get $0 + i32.const 4368 + call $~lib/typedarray/Uint8Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4400 + i32.store $0 offset=8 + local.get $0 + i32.const 4400 + call $~lib/typedarray/Uint8Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4432 + i32.store $0 offset=8 + local.get $0 + i32.const 4432 + call $~lib/typedarray/Uint8Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4464 + i32.store $0 offset=8 + local.get $0 + i32.const 4464 + call $~lib/typedarray/Uint8Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4496 + i32.store $0 offset=8 + local.get $0 + i32.const 4496 + call $~lib/typedarray/Int16Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4528 + i32.store $0 offset=8 + local.get $0 + i32.const 4528 + call $~lib/typedarray/Int16Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4560 + i32.store $0 offset=8 + local.get $0 + i32.const 4560 + call $~lib/typedarray/Uint16Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4592 + i32.store $0 offset=8 + local.get $0 + i32.const 4592 + call $~lib/typedarray/Uint16Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4624 + i32.store $0 offset=8 + local.get $0 + i32.const 4624 + call $~lib/typedarray/Int32Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4656 + i32.store $0 offset=8 + local.get $0 + i32.const 4656 + call $~lib/typedarray/Int32Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4688 + i32.store $0 offset=8 + local.get $0 + i32.const 4688 + call $~lib/typedarray/Uint32Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4720 + i32.store $0 offset=8 + local.get $0 + i32.const 4720 + call $~lib/typedarray/Uint32Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4752 + i32.store $0 offset=8 + local.get $0 + i32.const 4752 + call $~lib/typedarray/Int64Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4784 + i32.store $0 offset=8 + local.get $0 + i32.const 4784 + call $~lib/typedarray/Int64Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4816 + i32.store $0 offset=8 + local.get $0 + i32.const 4816 + call $~lib/typedarray/Uint64Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4848 + i32.store $0 offset=8 + local.get $0 + i32.const 4848 + call $~lib/typedarray/Uint64Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4880 + i32.store $0 offset=8 + local.get $0 + i32.const 4880 + call $~lib/typedarray/Float32Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4912 + i32.store $0 offset=8 + local.get $0 + i32.const 4912 + call $~lib/typedarray/Float32Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 4944 + i32.store $0 offset=8 + local.get $0 + i32.const 4944 + call $~lib/typedarray/Float64Array#some + i32.eqz + br_if $folding-inner6 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 4976 + i32.store $0 offset=8 + local.get $0 + i32.const 4976 + call $~lib/typedarray/Float64Array#some + br_if $folding-inner7 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5008 + i32.store $0 offset=8 + local.get $0 + i32.const 5008 + call $~lib/typedarray/Int8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5040 + i32.store $0 offset=8 + local.get $0 + i32.const 5040 + call $~lib/typedarray/Int8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5072 + i32.store $0 offset=8 + local.get $0 + i32.const 5072 + call $~lib/typedarray/Uint8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5104 + i32.store $0 offset=8 + local.get $0 + i32.const 5104 + call $~lib/typedarray/Uint8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5136 + i32.store $0 offset=8 + local.get $0 + i32.const 5136 + call $~lib/typedarray/Uint8Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5168 + i32.store $0 offset=8 + local.get $0 + i32.const 5168 + call $~lib/typedarray/Uint8Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5200 + i32.store $0 offset=8 + local.get $0 + i32.const 5200 + call $~lib/typedarray/Int16Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5232 + i32.store $0 offset=8 + local.get $0 + i32.const 5232 + call $~lib/typedarray/Int16Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5264 + i32.store $0 offset=8 + local.get $0 + i32.const 5264 + call $~lib/typedarray/Uint16Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5296 + i32.store $0 offset=8 + local.get $0 + i32.const 5296 + call $~lib/typedarray/Uint16Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5328 + i32.store $0 offset=8 + local.get $0 + i32.const 5328 + call $~lib/typedarray/Int32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5360 + i32.store $0 offset=8 + local.get $0 + i32.const 5360 + call $~lib/typedarray/Int32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5392 + i32.store $0 offset=8 + local.get $0 + i32.const 5392 + call $~lib/typedarray/Uint32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5424 + i32.store $0 offset=8 + local.get $0 + i32.const 5424 + call $~lib/typedarray/Uint32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5456 + i32.store $0 offset=8 + local.get $0 + i32.const 5456 + call $~lib/typedarray/Int64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5488 + i32.store $0 offset=8 + local.get $0 + i32.const 5488 + call $~lib/typedarray/Int64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5520 + i32.store $0 offset=8 + local.get $0 + i32.const 5520 + call $~lib/typedarray/Uint64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5552 + i32.store $0 offset=8 + local.get $0 + i32.const 5552 + call $~lib/typedarray/Uint64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5584 + i32.store $0 offset=8 + local.get $0 + i32.const 5584 + call $~lib/typedarray/Float32Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5616 + i32.store $0 offset=8 + local.get $0 + i32.const 5616 + call $~lib/typedarray/Float32Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5648 + i32.store $0 offset=8 + local.get $0 + i32.const 5648 + call $~lib/typedarray/Float64Array#findIndex + i32.const 1 + i32.ne + br_if $folding-inner8 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5680 + i32.store $0 offset=8 + local.get $0 + i32.const 5680 + call $~lib/typedarray/Float64Array#findIndex + i32.const -1 + i32.ne + br_if $folding-inner9 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5712 + i32.store $0 offset=8 + local.get $0 + i32.const 5712 + call $~lib/typedarray/Int8Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5744 + i32.store $0 offset=8 + local.get $0 + i32.const 5744 + call $~lib/typedarray/Int8Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5776 + i32.store $0 offset=8 + local.get $0 + i32.const 5776 + call $~lib/typedarray/Uint8Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5808 + i32.store $0 offset=8 + local.get $0 + i32.const 5808 + call $~lib/typedarray/Uint8Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5840 + i32.store $0 offset=8 + local.get $0 + i32.const 5840 + call $~lib/typedarray/Uint8Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5872 + i32.store $0 offset=8 + local.get $0 + i32.const 5872 + call $~lib/typedarray/Uint8Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5904 + i32.store $0 offset=8 + local.get $0 + i32.const 5904 + call $~lib/typedarray/Int16Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 5936 + i32.store $0 offset=8 + local.get $0 + i32.const 5936 + call $~lib/typedarray/Int16Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 5968 + i32.store $0 offset=8 + local.get $0 + i32.const 5968 + call $~lib/typedarray/Uint16Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6000 + i32.store $0 offset=8 + local.get $0 + i32.const 6000 + call $~lib/typedarray/Uint16Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6032 + i32.store $0 offset=8 + local.get $0 + i32.const 6032 + call $~lib/typedarray/Int32Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6064 + i32.store $0 offset=8 + local.get $0 + i32.const 6064 + call $~lib/typedarray/Int32Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6096 + i32.store $0 offset=8 + local.get $0 + i32.const 6096 + call $~lib/typedarray/Uint32Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6128 + i32.store $0 offset=8 + local.get $0 + i32.const 6128 + call $~lib/typedarray/Uint32Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6160 + i32.store $0 offset=8 + local.get $0 + i32.const 6160 + call $~lib/typedarray/Int64Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6192 + i32.store $0 offset=8 + local.get $0 + i32.const 6192 + call $~lib/typedarray/Int64Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6224 + i32.store $0 offset=8 + local.get $0 + i32.const 6224 + call $~lib/typedarray/Uint64Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6256 + i32.store $0 offset=8 + local.get $0 + i32.const 6256 + call $~lib/typedarray/Uint64Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6288 + i32.store $0 offset=8 + local.get $0 + i32.const 6288 + call $~lib/typedarray/Float32Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6320 + i32.store $0 offset=8 + local.get $0 + i32.const 6320 + call $~lib/typedarray/Float32Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6352 + i32.store $0 offset=8 + local.get $0 + i32.const 6352 + call $~lib/typedarray/Float64Array#findLastIndex + i32.const 1 + i32.ne + br_if $folding-inner10 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6384 + i32.store $0 offset=8 + local.get $0 + i32.const 6384 + call $~lib/typedarray/Float64Array#findLastIndex + i32.const -1 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6416 + i32.store $0 offset=8 + local.get $0 + i32.const 6416 + call $~lib/typedarray/Int8Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6448 + i32.store $0 offset=8 + local.get $0 + i32.const 6448 + call $~lib/typedarray/Int8Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6480 + i32.store $0 offset=8 + local.get $0 + i32.const 6480 + call $~lib/typedarray/Uint8Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6512 + i32.store $0 offset=8 + local.get $0 + i32.const 6512 + call $~lib/typedarray/Uint8Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6544 + i32.store $0 offset=8 + local.get $0 + i32.const 6544 + call $~lib/typedarray/Uint8Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6576 + i32.store $0 offset=8 + local.get $0 + i32.const 6576 + call $~lib/typedarray/Uint8Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6608 + i32.store $0 offset=8 + local.get $0 + i32.const 6608 + call $~lib/typedarray/Int16Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6640 + i32.store $0 offset=8 + local.get $0 + i32.const 6640 + call $~lib/typedarray/Int16Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6672 + i32.store $0 offset=8 + local.get $0 + i32.const 6672 + call $~lib/typedarray/Uint16Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6704 + i32.store $0 offset=8 + local.get $0 + i32.const 6704 + call $~lib/typedarray/Uint16Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6736 + i32.store $0 offset=8 + local.get $0 + i32.const 6736 + call $~lib/typedarray/Int32Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6768 + i32.store $0 offset=8 + local.get $0 + i32.const 6768 + call $~lib/typedarray/Int32Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6800 + i32.store $0 offset=8 + local.get $0 + i32.const 6800 + call $~lib/typedarray/Uint32Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6832 + i32.store $0 offset=8 + local.get $0 + i32.const 6832 + call $~lib/typedarray/Uint32Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6864 + i32.store $0 offset=8 + local.get $0 + i32.const 6864 + call $~lib/typedarray/Int64Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6896 + i32.store $0 offset=8 + local.get $0 + i32.const 6896 + call $~lib/typedarray/Int64Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6928 + i32.store $0 offset=8 + local.get $0 + i32.const 6928 + call $~lib/typedarray/Uint64Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 6960 + i32.store $0 offset=8 + local.get $0 + i32.const 6960 + call $~lib/typedarray/Uint64Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 6992 + i32.store $0 offset=8 + local.get $0 + i32.const 6992 + call $~lib/typedarray/Float32Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 7024 + i32.store $0 offset=8 + local.get $0 + i32.const 7024 + call $~lib/typedarray/Float32Array#every + br_if $folding-inner13 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7056 + i32.store $0 offset=8 + local.get $0 + i32.const 7056 + call $~lib/typedarray/Float64Array#every + i32.eqz + br_if $folding-inner12 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 7088 + i32.store $0 offset=8 + local.get $0 + i32.const 7088 + call $~lib/typedarray/Float64Array#every + br_if $folding-inner13 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.extend8_s + call $~lib/typedarray/Int8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7200 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7200 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + local.set $6 + loop $for-loop|036 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $1 + local.get $7 + i32.add + i32.load8_s $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $8 + local.get $1 + local.get $0 + i32.const 7200 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|036 + 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-inner21 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7232 + i32.store $0 offset=8 + local.get $0 + i32.const 7232 + call $~lib/typedarray/Uint8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner21 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7264 + i32.store $0 offset=8 + local.get $0 + i32.const 7264 + call $~lib/typedarray/Uint8Array#forEach + global.get $std/typedarray/forEachCallCount + i32.const 3 + i32.ne + br_if $folding-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + i32.extend16_s + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7296 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7296 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|038 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_s $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $8 + local.get $1 + local.get $0 + i32.const 7296 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|038 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7328 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7328 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int16Array#get:length + local.set $6 + loop $for-loop|040 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 1 + i32.shl + i32.add + i32.load16_u $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $8 + local.get $1 + local.get $0 + i32.const 7328 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|040 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7360 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7360 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|042 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $8 + local.get $1 + local.get $0 + i32.const 7360 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|042 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + i32.const 0 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + i32.const 1 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + i32.const 2 + call $~lib/array/Array#__get + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7392 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7392 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|044 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $8 + local.get $1 + local.get $0 + i32.const 7392 + i32.load $0 + call_indirect $0 (type $i32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|044 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + i32.const 1 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + i32.const 2 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7424 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7424 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|046 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $0 + i32.const 7424 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|046 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7456 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7456 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|048 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + i64.load $0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $3 + local.get $1 + local.get $0 + i32.const 7456 + i32.load $0 + call_indirect $0 (type $i64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|048 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7488 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7488 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $6 + loop $for-loop|050 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $4 + local.get $1 + local.get $0 + i32.const 7488 + i32.load $0 + call_indirect $0 (type $f32_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|050 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 0 + local.set $1 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + i32.const 0 + global.set $std/typedarray/forEachCallCount + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + local.get $0 + global.set $std/typedarray/forEachSelf + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 0 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 1 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7152 + i32.store $0 offset=8 + local.get $0 + i32.const 2 + i32.const 7152 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 7520 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + local.get $6 + i64.const 0 + i64.store $0 offset=8 + local.get $6 + local.get $0 + i32.store $0 + local.get $6 + i32.const 7520 + i32.store $0 offset=4 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + local.get $6 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int64Array#get:length + local.set $6 + loop $for-loop|052 + local.get $1 + local.get $6 + i32.lt_s + if + local.get $7 + local.get $1 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.set $5 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + i32.const 3 + global.set $~argumentsLength + local.get $5 + local.get $1 + local.get $0 + i32.const 7520 + i32.load $0 + call_indirect $0 (type $f64_i32_i32_=>_none) + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|052 + 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-inner21 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + 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 $1 + i32.store $0 offset=84 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + f64.const nan:0x8000000000000 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 653 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $1 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 (result i32) + local.get $6 + local.get $1 + i32.store $0 + local.get $6 + local.get $1 + i32.store $0 offset=4 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int64Array#get:length + local.tee $6 + i32.eqz + local.get $6 + i32.const 0 + i32.le_s + i32.or + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|0 + local.get $0 + local.get $6 + i32.lt_s + if + i32.const 1 + local.get $1 + local.get $0 + i32.const 3 + i32.shl + i32.add + f64.load $0 + local.tee $5 + local.get $5 + f64.ne + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float64Array,f64>|inlined.0 + drop + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $while-continue|0 + end + end + i32.const 0 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 654 + 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 $1 + i32.store $0 offset=88 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + 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 659 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $1 + i32.store $0 offset=4 + i32.const 0 + local.set $0 + local.get $6 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $6 + i64.const 0 + i64.store $0 + block $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 (result i32) + local.get $6 + local.get $1 + i32.store $0 + local.get $6 + local.get $1 + i32.store $0 offset=4 + i32.const 0 + local.get $1 + call $~lib/typedarray/Int32Array#get:length + local.tee $6 + i32.eqz + local.get $6 + i32.const 0 + i32.le_s + i32.or + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.load $0 offset=4 + local.set $1 + loop $while-continue|071 + local.get $0 + local.get $6 + i32.lt_s + if + i32.const 1 + local.get $1 + local.get $0 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $4 + local.get $4 + f32.ne + br_if $~lib/typedarray/INCLUDES<~lib/typedarray/Float32Array,f32>|inlined.0 + drop + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $while-continue|071 + end + end + i32.const 0 + end + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.eqz + if + i32.const 0 + i32.const 1568 + i32.const 660 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Int8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 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 $0 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 $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Int8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint8Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Uint8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 3 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Uint8Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + local.get $0 + call $~lib/typedarray/Uint8Array#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Int16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + 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 $0 offset=4 + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int16Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint16Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + 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 $0 offset=4 + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Uint16Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Int32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 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 $0 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 $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int32Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + 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 $0 offset=4 + local.get $0 + i32.const 4 + i32.const 5 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Uint32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Uint32Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Int64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Int64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int64Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Uint64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 3 + i64.const 4 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 4 + i64.const 5 + call $~lib/typedarray/Uint64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Uint64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $1 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner22 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Uint64Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 9616 + i32.store $0 offset=8 + local.get $0 + i32.const 9616 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner23 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 4 + f32.const 5 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Float32Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store $0 offset=8 + local.get $1 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner24 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Float32Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store $0 offset=8 + local.get $0 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner25 + 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 20 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 20 + memory.fill $0 + local.get $0 + i32.const 5 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 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 $0 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 $0 offset=4 + local.get $0 + i32.const 3 + f64.const 4 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 9584 + i32.store $0 offset=16 + local.get $0 + call $~lib/typedarray/Float64Array#join + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store $0 offset=8 + local.get $1 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner24 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=12 + local.get $1 + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 9584 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Float64Array#join + local.set $0 + 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 $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 10800 + i32.store $0 offset=8 + local.get $0 + i32.const 10800 + call $~lib/string/String.__eq + i32.eqz + br_if $folding-inner25 + 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 0 + call $~lib/arraybuffer/ArrayBuffer#constructor + local.tee $0 + i32.store $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + if + i32.const 0 + i32.const 1568 + i32.const 737 + 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 $0 offset=92 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 offset=96 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + call $~lib/typedarray/Int8Array#get:length + if + i32.const 0 + i32.const 1568 + i32.const 741 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + call $std/typedarray/testArrayWrap<~lib/typedarray/Int8Array,i8> + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 0 + i32.const 24 + memory.fill $0 + local.get $0 + i32.const 10928 + i32.store $0 + local.get $0 + i32.const 10928 + i32.store $0 offset=4 + i32.const 10928 + call $~lib/array/Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Uint8Array#constructor + local.tee $1 + i32.store $0 offset=8 + loop $for-loop|062 + local.get $0 + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.tee $6 + local.get $1 + i32.store $0 offset=4 + local.get $6 + i32.const 10928 + i32.store $0 offset=12 + local.get $1 + local.get $2 + i32.const 10928 + local.get $2 + call $~lib/array/Array#__get + i32.const 255 + i32.and + call $~lib/typedarray/Uint8Array#__set + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|062 + end + end + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $1 + i32.load $0 + local.tee $6 + i32.store $0 offset=4 + local.get $2 + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $1 + call $~lib/arraybuffer/ArrayBufferView#get:byteOffset + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=12 + local.get $2 + local.get $6 + local.get $7 + local.get $8 + local.get $1 + i32.load $0 offset=8 + i32.add + call $~lib/arraybuffer/ArrayBuffer#slice + local.tee $2 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + i32.const 1 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.const 0 + call $~lib/typedarray/Uint8Array.wrap@varargs + local.tee $6 + i32.store $0 offset=20 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $0 + local.get $2 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $2 + call $~lib/typedarray/Uint8Array#__get + local.set $7 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + local.get $6 + local.get $2 + call $~lib/typedarray/Uint8Array#__get + local.get $7 + i32.ne + if + i32.const 0 + i32.const 1568 + i32.const 730 + 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 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + 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 $6 + i32.store $0 offset=100 + global.get $~lib/memory/__stack_pointer + i32.const 3 + call $~lib/typedarray/Float32Array#constructor + local.tee $0 + i32.store $0 offset=104 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + f32.const 400 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + f32.const nan:0x400000 + call $~lib/typedarray/Float32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 $2 + i32.store $0 offset=108 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 0 + i64.const -10 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 1 + i64.const 100 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + i32.const 2 + i64.const 10 + call $~lib/typedarray/Int64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + 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 $7 + i32.store $0 offset=112 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 0 + i32.const 300 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=4 + local.get $7 + i32.const 1 + i32.const -1 + call $~lib/typedarray/Int32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + local.get $6 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $8 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.get $8 + i32.const 1 + i32.add + i32.lt_s + br_if $folding-inner17 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + i32.const 1 + i32.add + local.set $9 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $0 + i32.const 0 + local.set $1 + loop $for-loop|078 + local.get $1 + local.get $8 + i32.lt_s + if + local.get $1 + local.get $9 + i32.add + local.get $0 + local.get $1 + i32.const 2 + i32.shl + i32.add + f32.load $0 + local.tee $4 + f32.const 255 + f32.min + f32.const 0 + f32.max + i32.trunc_sat_f32_u + i32.const 0 + local.get $4 + local.get $4 + f32.sub + f32.const 0 + f32.eq + select + i32.store8 $0 + local.get $1 + i32.const 1 + i32.add + local.set $1 + br $for-loop|078 + 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 $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=20 + local.get $6 + local.get $2 + i32.const 4 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int64Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $7 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i32.const 0 + i32.store $0 offset=8 + local.get $0 + local.get $6 + i32.store $0 + local.get $0 + local.get $7 + i32.store $0 offset=4 + local.get $0 + local.get $7 + i32.store $0 offset=8 + local.get $7 + call $~lib/typedarray/Int32Array#get:length + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.get $0 + i32.const 8 + i32.add + i32.lt_s + br_if $folding-inner17 + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + i32.const 8 + i32.add + local.set $8 + local.get $1 + local.get $7 + i32.store $0 offset=8 + local.get $7 + i32.load $0 offset=4 + local.set $1 + i32.const 0 + local.set $2 + loop $for-loop|082 + local.get $0 + local.get $2 + i32.gt_s + if + local.get $2 + local.get $8 + i32.add + i32.const 255 + local.get $1 + local.get $2 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $7 + i32.sub + i32.const 31 + i32.shr_s + local.get $7 + i32.or + local.get $7 + i32.const 31 + i32.shr_s + i32.const -1 + i32.xor + i32.and + i32.store8 $0 + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|082 + 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 $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 15280 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + global.get $~lib/memory/__stack_pointer + i32.const 4 + call $~lib/typedarray/Uint32Array#constructor + local.tee $0 + i32.store $0 offset=116 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 offset=4 + local.get $0 + i32.const 1 + i32.const 300 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + i32.const 100 + call $~lib/typedarray/Uint32Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + 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 $1 + i32.store $0 offset=120 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 0 + i32.const -10 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 1 + i32.const 100 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 2 + i32.const 10 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + i32.const 3 + i32.const 300 + call $~lib/typedarray/Int16Array#__set + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + 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 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $2 + i64.const 0 + i64.store $0 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + local.get $6 + i32.store $0 + local.get $2 + local.get $0 + i32.store $0 offset=4 + local.get $2 + local.get $0 + i32.store $0 offset=8 + local.get $0 + call $~lib/typedarray/Int32Array#get:length + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $6 + call $~lib/typedarray/Int8Array#get:length + local.get $2 + i32.lt_s + br_if $folding-inner17 + global.get $~lib/memory/__stack_pointer + local.tee $7 + local.get $6 + i32.store $0 offset=8 + local.get $6 + i32.load $0 offset=4 + local.set $8 + local.get $7 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 offset=4 + local.set $7 + i32.const 0 + local.set $0 + loop $for-loop|086 + local.get $0 + local.get $2 + i32.lt_s + if + local.get $0 + local.get $8 + i32.add + i32.const 255 + local.get $7 + local.get $0 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $9 + local.get $9 + i32.const 255 + i32.gt_u + select + i32.store8 $0 + local.get $0 + i32.const 1 + i32.add + local.set $0 + br $for-loop|086 + 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 $6 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=20 + local.get $6 + local.get $1 + i32.const 5 + call $~lib/typedarray/Uint8ClampedArray#set<~lib/typedarray/Int16Array> + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=4 + i32.const 10 + i32.const 0 + i32.const 64 + i32.const 15312 + call $~lib/rt/__newArray + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=20 + local.get $6 + local.get $0 + call $std/typedarray/valuesEqual<~lib/typedarray/Uint8ClampedArray> + call $std/typedarray/testArraySort<~lib/typedarray/Int8Array,i8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8Array,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Uint8ClampedArray,u8> + call $std/typedarray/testArraySort<~lib/typedarray/Int16Array,i16> + call $std/typedarray/testArraySort<~lib/typedarray/Uint16Array,u16> + call $std/typedarray/testArraySort<~lib/typedarray/Int32Array,i32> + call $std/typedarray/testArraySort<~lib/typedarray/Uint32Array,u32> + call $std/typedarray/testArraySort<~lib/typedarray/Int64Array,i64> + call $std/typedarray/testArraySort<~lib/typedarray/Uint64Array,u64> + call $std/typedarray/testArraySort<~lib/typedarray/Float32Array,f32> + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 16320 + i32.lt_s + br_if $folding-inner19 + global.get $~lib/memory/__stack_pointer + local.tee $0 + i64.const 0 + i64.store $0 + local.get $0 + i64.const 0 + i64.store $0 offset=8 + local.get $0 + i32.const 3 + call $~lib/typedarray/Float64Array#constructor + local.tee $0 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + f64.const 1 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 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 $0 offset=4 + local.get $0 + i32.const 0 + f64.const 3 + call $~lib/typedarray/Float64Array#__set + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + i32.const 0 + global.set $~argumentsLength + global.get $~lib/memory/__stack_pointer + local.get $0 + call $~lib/typedarray/Float64Array#sort@varargs + local.tee $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 885 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 886 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 887 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 + i32.const 15984 + i32.store $0 offset=12 + local.get $0 + i32.const 15984 + call $~lib/typedarray/Float64Array#sort + drop + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 0 + call $~lib/typedarray/Float64Array#__get + f64.const 3 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 889 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 1 + call $~lib/typedarray/Float64Array#__get + f64.const 2 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 890 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 2 + call $~lib/typedarray/Float64Array#__get + f64.const 1 + f64.ne + if + i32.const 0 + i32.const 1568 + i32.const 891 + 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 49088 + global.set $~lib/memory/__stack_pointer + global.get $~lib/rt/itcms/state + i32.const 0 + i32.gt_s + if + loop $while-continue|088 + global.get $~lib/rt/itcms/state + if + call $~lib/rt/itcms/step + drop + br $while-continue|088 + 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 124 + i32.add + global.set $~lib/memory/__stack_pointer + return + 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 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 507 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 509 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 1360 + i32.const 1632 + i32.const 1902 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 323 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 49120 + i32.const 49168 + i32.const 1 + i32.const 1 + 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 541 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 675 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 676 + i32.const 5 + call $~lib/builtins/abort + unreachable + end + i32.const 0 + i32.const 1568 + i32.const 672 + i32.const 5 + call $~lib/builtins/abort + unreachable + end 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 - local.get $2 - local.get $1 - local.get $2 - 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 $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 - local.get $1 - if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 3 - i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 - local.get $3 - local.get $2 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 + i32.const 1568 + i32.const 673 + i32.const 5 + call $~lib/builtins/abort + unreachable ) - (func $~lib/typedarray/Uint64Array#subarray (type $i32_i32_=>_i32) (param $0 i32) (param $1 i32) (result i32) - (local $2 i32) - (local $3 i32) + (func $~lib/rt/__newArray (type $i32_i32_i32_i32_=>_i32) (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 @@ -63921,183 +69972,52 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 4 - local.get $0 - i32.load $0 offset=8 - i32.const 3 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - 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 - local.get $2 - local.get $1 - local.get $2 - 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 $4 + i32.const 0 i32.store $0 - local.get $4 local.get $0 - i32.load $0 - local.tee $1 - i32.store $0 local.get $1 - if - local.get $4 - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $4 - local.get $0 - i32.load $0 offset=4 - local.get $2 - i32.const 3 i32.shl - i32.add - i32.store $0 offset=4 - local.get $4 + local.tee $5 + i32.const 1 + call $~lib/rt/itcms/__new + local.set $1 local.get $3 - local.get $2 - i32.sub - i32.const 3 - i32.shl - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $~lib/typedarray/Float32Array#subarray (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - i32.const 4 - local.get $0 - i32.load $0 offset=8 - i32.const 2 - i32.shr_u - local.tee $3 - local.get $3 - i32.const 4 - i32.gt_u - select - local.set $2 - 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 + local.get $5 + memory.copy $0 $0 end - local.tee $1 - local.get $2 + local.get $4 local.get $1 + i32.store $0 + i32.const 16 local.get $2 - 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 $4 - i32.store $0 - local.get $4 - local.get $0 - i32.load $0 - local.tee $1 + local.tee $2 + local.get $1 i32.store $0 local.get $1 if - local.get $4 + local.get $2 local.get $1 call $byn-split-outlined-A$~lib/rt/itcms/__link end - local.get $4 - local.get $0 - i32.load $0 offset=4 local.get $2 - i32.const 2 - i32.shl - i32.add + local.get $1 i32.store $0 offset=4 - local.get $4 - local.get $3 local.get $2 - i32.sub - i32.const 2 - i32.shl + local.get $5 i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $4 + local.get $2 ) (func $~lib/util/number/itoa32 (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) @@ -64216,110 +70136,6 @@ global.set $~lib/memory/__stack_pointer local.get $3 ) - (func $~lib/string/String#substring (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $1 - i32.const 0 - local.get $1 - i32.const 0 - i32.gt_s - select - local.tee $2 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $1 - local.get $1 - local.get $2 - i32.gt_s - select - local.tee $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.le_s - select - i32.const 1 - i32.shl - local.set $3 - local.get $2 - i32.const 0 - local.get $2 - i32.const 0 - i32.ge_s - select - i32.const 1 - i32.shl - local.tee $4 - local.get $3 - 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 7776 - return - end - local.get $3 - i32.eqz - local.get $4 - local.get $1 - i32.const 1 - i32.shl - i32.eq - i32.and - 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 $2 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - local.get $3 - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) (func $~lib/util/number/utoa32 (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) @@ -64540,100 +70356,6 @@ global.set $~lib/memory/__stack_pointer local.get $0 ) - (func $~lib/arraybuffer/ArrayBuffer#slice (type $i32_i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 16320 - i32.lt_s - if - i32.const 49120 - i32.const 49168 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 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 $2 - i32.const 1 - call $~lib/rt/itcms/__new - local.tee $3 - i32.store $0 - local.get $3 - local.get $0 - local.get $1 - i32.add - local.get $2 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $3 - ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/std/uri.debug.wat b/tests/compiler/std/uri.debug.wat index eac56c80d3..49d96e1587 100644 --- a/tests/compiler/std/uri.debug.wat +++ b/tests/compiler/std/uri.debug.wat @@ -2742,14 +2742,6 @@ local.get $dst return ) - (func $~lib/uri/encodeURIComponent (type $i32_=>_i32) (param $str i32) (result i32) - local.get $str - local.get $str - call $~lib/string/String#get:length - global.get $~lib/util/uri/URL_UNSAFE - call $~lib/util/uri/encode - return - ) (func $~lib/util/string/compareImpl (type $i32_i32_i32_i32_i32_=>_i32) (param $str1 i32) (param $index1 i32) (param $str2 i32) (param $index2 i32) (param $len i32) (result i32) (local $ptr1 i32) (local $ptr2 i32) @@ -2854,57 +2846,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) - (func $~lib/uri/encodeURI (type $i32_=>_i32) (param $str i32) (result i32) - local.get $str - local.get $str - call $~lib/string/String#get:length - global.get $~lib/util/uri/URI_UNSAFE - call $~lib/util/uri/encode - return - ) (func $~lib/util/uri/loadHex (type $i32_i32_=>_i32) (param $src i32) (param $offset i32) (result i32) (local $c0 i32) (local $c1 i32) @@ -3408,22 +3349,6 @@ local.get $dst return ) - (func $~lib/uri/decodeURIComponent (type $i32_=>_i32) (param $str i32) (result i32) - local.get $str - local.get $str - call $~lib/string/String#get:length - i32.const 1 - call $~lib/util/uri/decode - return - ) - (func $~lib/uri/decodeURI (type $i32_=>_i32) (param $str i32) (result i32) - local.get $str - local.get $str - call $~lib/string/String#get:length - i32.const 0 - call $~lib/util/uri/decode - return - ) (func $~lib/rt/itcms/__collect (type $none_=>_none) i32.const 0 drop @@ -3540,6 +3465,214 @@ unreachable end ) + (func $~lib/uri/encodeURIComponent (type $i32_=>_i32) (param $str 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 $0 + local.get $str + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/string/String#get:length + global.get $~lib/util/uri/URL_UNSAFE + call $~lib/util/uri/encode + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $~lib/uri/encodeURI (type $i32_=>_i32) (param $str 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 $0 + local.get $str + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/string/String#get:length + global.get $~lib/util/uri/URI_UNSAFE + call $~lib/util/uri/encode + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/uri/decodeURIComponent (type $i32_=>_i32) (param $str 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 $0 + local.get $str + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/string/String#get:length + i32.const 1 + call $~lib/util/uri/decode + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) + (func $~lib/uri/decodeURI (type $i32_=>_i32) (param $str 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 $0 + local.get $str + local.get $str + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 + local.get $1 + call $~lib/string/String#get:length + i32.const 0 + call $~lib/util/uri/decode + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + return + ) (func $start:std/uri (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/std/uri.release.wat b/tests/compiler/std/uri.release.wat index a34e7c5a07..88cb18c987 100644 --- a/tests/compiler/std/uri.release.wat +++ b/tests/compiler/std/uri.release.wat @@ -1,6 +1,7 @@ (module (type $none_=>_none (func_subtype func)) (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) + (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_=>_i32 (func_subtype (param i32 i32 i32) (result i32) func)) @@ -2107,123 +2108,6 @@ local.get $3 end ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/util/uri/decode (type $i32_i32_i32_=>_i32) (param $0 i32) (param $1 i32) (param $2 i32) (result i32) (local $3 i32) (local $4 i32) @@ -2721,6 +2605,326 @@ (func $~start (type $none_=>_none) call $start:std/uri ) + (func $~lib/uri/encodeURIComponent (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4356 + i32.lt_s + if + i32.const 37152 + i32.const 37200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.const 1068 + call $~lib/util/uri/encode + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4356 + i32.lt_s + if + i32.const 37152 + i32.const 37200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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/uri/encodeURI (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4356 + i32.lt_s + if + i32.const 37152 + i32.const 37200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.const 3388 + call $~lib/util/uri/encode + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/uri/decodeURIComponent (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4356 + i32.lt_s + if + i32.const 37152 + i32.const 37200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.const 1 + call $~lib/util/uri/decode + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) + (func $~lib/uri/decodeURI (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 4356 + i32.lt_s + if + i32.const 37152 + i32.const 37200 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.const 0 + call $~lib/util/uri/decode + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + ) (func $start:std/uri (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2781,12 +2985,7 @@ i32.const 1056 i32.store $0 offset=8 i32.const 1056 - i32.const 1052 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2810,12 +3009,7 @@ i32.const 1760 i32.store $0 offset=8 i32.const 1760 - i32.const 1756 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2839,12 +3033,7 @@ i32.const 1792 i32.store $0 offset=8 i32.const 1792 - i32.const 1788 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2868,12 +3057,7 @@ i32.const 1824 i32.store $0 offset=8 i32.const 1824 - i32.const 1820 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2897,12 +3081,7 @@ i32.const 1856 i32.store $0 offset=8 i32.const 1856 - i32.const 1852 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2926,12 +3105,7 @@ i32.const 1952 i32.store $0 offset=8 i32.const 1952 - i32.const 1948 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2955,12 +3129,7 @@ i32.const 2016 i32.store $0 offset=8 i32.const 2016 - i32.const 2012 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -2984,12 +3153,7 @@ i32.const 2080 i32.store $0 offset=8 i32.const 2080 - i32.const 2076 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3013,12 +3177,7 @@ i32.const 2160 i32.store $0 offset=8 i32.const 2160 - i32.const 2156 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3042,12 +3201,7 @@ i32.const 2240 i32.store $0 offset=8 i32.const 2240 - i32.const 2236 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3071,12 +3225,7 @@ i32.const 2304 i32.store $0 offset=8 i32.const 2304 - i32.const 2300 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3100,12 +3249,7 @@ i32.const 2384 i32.store $0 offset=8 i32.const 2384 - i32.const 2380 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3129,12 +3273,7 @@ i32.const 2512 i32.store $0 offset=8 i32.const 2512 - i32.const 2508 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3158,12 +3297,7 @@ i32.const 2656 i32.store $0 offset=8 i32.const 2656 - i32.const 2652 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3187,12 +3321,7 @@ i32.const 2736 i32.store $0 offset=8 i32.const 2736 - i32.const 2732 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3216,12 +3345,7 @@ i32.const 2816 i32.store $0 offset=8 i32.const 2816 - i32.const 2812 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3245,12 +3369,7 @@ i32.const 2928 i32.store $0 offset=8 i32.const 2928 - i32.const 2924 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3274,12 +3393,7 @@ i32.const 3024 i32.store $0 offset=8 i32.const 3024 - i32.const 3020 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3303,12 +3417,7 @@ i32.const 3152 i32.store $0 offset=8 i32.const 3152 - i32.const 3148 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1068 - call $~lib/util/uri/encode + call $~lib/uri/encodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3332,12 +3441,7 @@ i32.const 1056 i32.store $0 offset=8 i32.const 1056 - i32.const 1052 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3361,12 +3465,7 @@ i32.const 1760 i32.store $0 offset=8 i32.const 1760 - i32.const 1756 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3390,12 +3489,7 @@ i32.const 3504 i32.store $0 offset=8 i32.const 3504 - i32.const 3500 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3419,12 +3513,7 @@ i32.const 1856 i32.store $0 offset=8 i32.const 1856 - i32.const 1852 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3448,12 +3537,7 @@ i32.const 3552 i32.store $0 offset=8 i32.const 3552 - i32.const 3548 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3477,12 +3561,7 @@ i32.const 2656 i32.store $0 offset=8 i32.const 2656 - i32.const 2652 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3506,12 +3585,7 @@ i32.const 2736 i32.store $0 offset=8 i32.const 2736 - i32.const 2732 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3535,12 +3609,7 @@ i32.const 2928 i32.store $0 offset=8 i32.const 2928 - i32.const 2924 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3564,12 +3633,7 @@ i32.const 3152 i32.store $0 offset=8 i32.const 3152 - i32.const 3148 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 3388 - call $~lib/util/uri/encode + call $~lib/uri/encodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3593,12 +3657,7 @@ i32.const 1056 i32.store $0 offset=8 i32.const 1056 - i32.const 1052 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3622,12 +3681,7 @@ i32.const 1760 i32.store $0 offset=8 i32.const 1760 - i32.const 1756 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3651,12 +3705,7 @@ i32.const 3648 i32.store $0 offset=8 i32.const 3648 - i32.const 3644 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3680,12 +3729,7 @@ i32.const 3712 i32.store $0 offset=8 i32.const 3712 - i32.const 3708 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3709,12 +3753,7 @@ i32.const 3776 i32.store $0 offset=8 i32.const 3776 - i32.const 3772 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3738,12 +3777,7 @@ i32.const 2736 i32.store $0 offset=8 i32.const 2736 - i32.const 2732 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3767,12 +3801,7 @@ i32.const 3808 i32.store $0 offset=8 i32.const 3808 - i32.const 3804 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3796,12 +3825,7 @@ i32.const 3936 i32.store $0 offset=8 i32.const 3936 - i32.const 3932 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3825,12 +3849,7 @@ i32.const 4016 i32.store $0 offset=8 i32.const 4016 - i32.const 4012 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3854,12 +3873,7 @@ i32.const 2416 i32.store $0 offset=8 i32.const 2416 - i32.const 2412 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 1 - call $~lib/util/uri/decode + call $~lib/uri/decodeURIComponent local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3883,12 +3897,7 @@ i32.const 1056 i32.store $0 offset=8 i32.const 1056 - i32.const 1052 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3912,12 +3921,7 @@ i32.const 1760 i32.store $0 offset=8 i32.const 1760 - i32.const 1756 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3941,12 +3945,7 @@ i32.const 3648 i32.store $0 offset=8 i32.const 3648 - i32.const 3644 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3970,12 +3969,7 @@ i32.const 4144 i32.store $0 offset=8 i32.const 4144 - i32.const 4140 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -3999,12 +3993,7 @@ i32.const 4208 i32.store $0 offset=8 i32.const 4208 - i32.const 4204 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4028,12 +4017,7 @@ i32.const 3776 i32.store $0 offset=8 i32.const 3776 - i32.const 3772 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4057,12 +4041,7 @@ i32.const 2736 i32.store $0 offset=8 i32.const 2736 - i32.const 2732 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4086,12 +4065,7 @@ i32.const 3808 i32.store $0 offset=8 i32.const 3808 - i32.const 3804 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4115,12 +4089,7 @@ i32.const 2416 i32.store $0 offset=8 i32.const 2416 - i32.const 2412 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4144,12 +4113,7 @@ i32.const 4272 i32.store $0 offset=8 i32.const 4272 - i32.const 4268 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4173,12 +4137,7 @@ i32.const 4320 i32.store $0 offset=8 i32.const 4320 - i32.const 4316 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 @@ -4202,12 +4161,7 @@ i32.const 4016 i32.store $0 offset=8 i32.const 4016 - i32.const 4012 - i32.load $0 - i32.const 1 - i32.shr_u - i32.const 0 - call $~lib/util/uri/decode + call $~lib/uri/decodeURI local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/super-inline.debug.wat b/tests/compiler/super-inline.debug.wat index 0b1d544e8f..7403d9dc7b 100644 --- a/tests/compiler/super-inline.debug.wat +++ b/tests/compiler/super-inline.debug.wat @@ -2240,16 +2240,6 @@ i32.const 1 return ) - (func $super-inline/Bar#a (type $i32_=>_i32) (param $this i32) (result i32) - (local $this|1 i32) - block $super-inline/Foo#a|inlined.0 (result i32) - local.get $this - local.set $this|1 - i32.const 1 - br $super-inline/Foo#a|inlined.0 - end - return - ) (func $super-inline/Foo#a@override (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) block $default @@ -2359,6 +2349,82 @@ unreachable end ) + (func $super-inline/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) + (func $super-inline/Bar#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $super-inline/Foo#constructor + local.tee $this + i32.store $0 + local.get $this + 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 (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -2441,41 +2507,9 @@ global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $super-inline/Foo#constructor (type $i32_=>_i32) (param $this 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $super-inline/Bar#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $super-inline/Bar#a (type $i32_=>_i32) (param $this i32) (result i32) + (local $this|1 i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -2484,27 +2518,20 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 - local.get $this - i32.eqz - if + block $super-inline/Foo#a|inlined.0 (result i32) global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this + local.get $this + local.tee $this|1 i32.store $0 + i32.const 1 + br $super-inline/Foo#a|inlined.0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $super-inline/Foo#constructor - local.tee $this - i32.store $0 - local.get $this - local.set $1 + local.set $2 global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 + local.get $2 + return ) ) diff --git a/tests/compiler/super-inline.release.wat b/tests/compiler/super-inline.release.wat index 47e9caf301..ad0ed2e465 100644 --- a/tests/compiler/super-inline.release.wat +++ b/tests/compiler/super-inline.release.wat @@ -1,6 +1,6 @@ (module - (type $none_=>_none (func_subtype func)) (type $i32_=>_none (func_subtype (param i32) func)) + (type $none_=>_none (func_subtype func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) @@ -1407,6 +1407,7 @@ ) (func $~start (type $none_=>_none) (local $0 i32) + (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -1458,17 +1459,18 @@ global.get $super-inline/foo local.tee $0 i32.store $0 - block $__inlined_func$super-inline/Foo#a@override + local.get $0 + i32.const 8 + i32.sub + i32.load $0 + i32.const 5 + i32.eq + if local.get $0 - i32.const 8 - i32.sub - i32.load $0 - i32.const 5 - i32.eq - br_if $__inlined_func$super-inline/Foo#a@override + call $super-inline/Bar#a end global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1477,27 +1479,34 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 5 call $~lib/rt/itcms/__new - local.tee $0 + local.tee $1 i32.store $0 global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $1 + i32.store $0 offset=4 local.get $0 + local.get $1 call $super-inline/Foo#constructor local.tee $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 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 $0 + local.get $0 + call $super-inline/Bar#a global.get $~lib/memory/__stack_pointer i32.const 4 i32.add @@ -1514,7 +1523,7 @@ (func $super-inline/Foo#constructor (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1523,8 +1532,8 @@ i32.lt_s br_if $folding-inner0 global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.eqz if @@ -1536,6 +1545,9 @@ end global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1563,7 +1575,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -1576,6 +1588,35 @@ call $~lib/builtins/abort unreachable ) + (func $super-inline/Bar#a (type $i32_=>_none) (param $0 i32) + (local $1 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 1468 + i32.lt_s + if + i32.const 34256 + i32.const 34304 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 + local.get $1 + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer + ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white local.get $0 diff --git a/tests/compiler/templateliteral.debug.wat b/tests/compiler/templateliteral.debug.wat index 1a580bd7f8..633cd83eb4 100644 --- a/tests/compiler/templateliteral.debug.wat +++ b/tests/compiler/templateliteral.debug.wat @@ -223,49 +223,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $~lib/rt/itcms/Object#set:nextWithColor (type $i32_i32_=>_none) (param $this i32) (param $nextWithColor i32) local.get $this local.get $nextWithColor @@ -2551,26 +2508,6 @@ i32.shr_u return ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator i32) (result i32) - 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 $this - local.get $this - call $~lib/staticarray/StaticArray<~lib/string/String>#get:length - local.get $separator - call $~lib/util/string/joinStringArray - return - ) (func $~lib/util/number/decimalCount32 (type $i32_=>_i32) (param $value i32) (result i32) local.get $value i32.const 100000 @@ -4317,12 +4254,6 @@ local.get $this i32.load $0 ) - (func $~lib/string/String.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - local.get $left - local.get $right - call $~lib/string/String#concat - return - ) (func $templateliteral/RecursiveObject#set:key (type $i32_i32_=>_none) (param $this i32) (param $key i32) local.get $this local.get $key @@ -4535,145 +4466,621 @@ unreachable end ) - (func $templateliteral/test_string (type $none_=>_none) - (local $a i32) - (local $b i32) - (local $2 i32) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength i32) (local $3 i32) - (local $4 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 $0 + local.get $left + local.get $right + 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 $left i32.const 0 - i32.const 24 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 32 - local.tee $a - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 64 - local.tee $b - i32.store $0 offset=4 - local.get $a - i32.const 32 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + i32.const 0 + i32.eq + end if i32.const 0 - i32.const 96 - i32.const 4 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $a - local.get $b - call $~lib/string/String#concat - local.set $4 + local.get $left + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 - i32.const 592 - local.set $4 + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 - call $~lib/string/String.__eq - i32.eqz + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + i32.ne if i32.const 0 - i32.const 96 - i32.const 5 - i32.const 3 - call $~lib/builtins/abort - unreachable + 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 $a - local.set $2 - local.get $b + local.get $left local.set $3 - i32.const 720 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=16 - local.get $4 - i32.const 1 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 720 - local.set $4 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=16 - local.get $4 - i32.const 3 local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 720 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=16 - local.get $4 - i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=20 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 - i32.const 768 - local.set $4 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=8 - local.get $4 - call $~lib/string/String.__eq + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + call $~lib/util/string/compareImpl i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 6 - i32.const 3 - call $~lib/builtins/abort - unreachable - end + local.set $3 global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer + local.get $3 + return ) - (func $templateliteral/test_integer (type $none_=>_none) - (local $a i32) - (local $b i32) - (local $2 i32) - (local $3 i32) - (local $4 i32) + (func $~lib/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) + (local $thisSize i32) + (local $otherSize i32) + (local $outSize i32) + (local $out i32) + (local $6 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 $0 + local.get $this + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $thisSize + local.get $other + local.set $6 + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 + local.get $6 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + local.set $otherSize + local.get $thisSize + local.get $otherSize + i32.add + local.set $outSize + local.get $outSize + i32.const 0 + i32.eq + if + i32.const 160 + 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 $outSize + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $out + i32.store $0 offset=4 + local.get $out + local.get $this + local.get $thisSize + memory.copy $0 $0 + local.get $out + local.get $thisSize + i32.add + local.get $other + local.get $otherSize + memory.copy $0 $0 + local.get $out + local.set $6 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $6 + return + ) + (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) + (local $lastIndex i32) + (local $4 i32) + (local $estLen i32) + (local $value i32) + (local $i i32) + (local $offset i32) + (local $sepLen i32) + (local $result i32) + (local $i|11 i32) + (local $valueLen i32) + (local $13 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 $0 + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 offset=8 + local.get $length + i32.const 1 + i32.sub + local.set $lastIndex + local.get $lastIndex + i32.const 0 + i32.lt_s + if + i32.const 160 + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + local.get $lastIndex + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + i32.load $0 + local.tee $4 + i32.store $0 + local.get $4 + if (result i32) + local.get $4 + else + i32.const 160 + end + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + end + i32.const 0 + local.set $estLen + i32.const 0 + local.set $i + loop $for-loop|0 + local.get $i + local.get $length + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $estLen + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.add + local.set $estLen + end + local.get $i + i32.const 1 + i32.add + local.set $i + br $for-loop|0 + end + end + i32.const 0 + local.set $offset + local.get $separator + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $sepLen + global.get $~lib/memory/__stack_pointer + local.get $estLen + local.get $sepLen + local.get $lastIndex + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $result + i32.store $0 offset=12 + i32.const 0 + local.set $i|11 + loop $for-loop|1 + local.get $i|11 + local.get $lastIndex + i32.lt_s + if + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $i|11 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + local.set $valueLen + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $valueLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $valueLen + i32.add + local.set $offset + end + local.get $sepLen + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $separator + local.get $sepLen + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $offset + local.get $sepLen + i32.add + local.set $offset + end + local.get $i|11 + i32.const 1 + i32.add + local.set $i|11 + br $for-loop|1 + end + end + global.get $~lib/memory/__stack_pointer + local.get $dataStart + local.get $lastIndex + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $value + i32.store $0 offset=4 + local.get $value + i32.const 0 + i32.ne + if + local.get $result + local.get $offset + i32.const 1 + i32.shl + i32.add + local.get $value + local.get $value + local.set $13 + global.get $~lib/memory/__stack_pointer + local.get $13 + i32.store $0 offset=8 + local.get $13 + call $~lib/string/String#get:length + i32.const 1 + i32.shl + memory.copy $0 $0 + end + local.get $result + local.set $13 + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $13 + return + ) + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_i32_=>_i32) (param $this i32) (param $separator 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 $0 + 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 $this + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + call $~lib/staticarray/StaticArray<~lib/string/String>#get:length + local.get $separator + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/util/string/joinStringArray + local.set $2 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $2 + return + ) + (func $templateliteral/test_string (type $none_=>_none) + (local $a i32) + (local $b i32) + (local $2 i32) + (local $3 i32) + (local $4 i32) + 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 + i32.const 0 + i32.const 36 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 32 + local.tee $a + i32.store $0 + global.get $~lib/memory/__stack_pointer + i32.const 64 + local.tee $b + i32.store $0 offset=4 + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.const 32 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 4 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=20 + local.get $4 + call $~lib/string/String#concat + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.const 592 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 5 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.get $a + local.tee $2 + i32.store $0 offset=24 + global.get $~lib/memory/__stack_pointer + local.get $b + local.tee $3 + i32.store $0 offset=28 + i32.const 720 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + i32.const 1 + local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=32 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 720 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + i32.const 3 + local.get $3 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=32 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 720 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + i32.const 160 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=20 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=8 + local.get $4 + i32.const 768 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=12 + local.get $4 + call $~lib/string/String.__eq + i32.eqz + if + i32.const 0 + i32.const 96 + i32.const 6 + i32.const 3 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i32.const 36 + i32.add + global.set $~lib/memory/__stack_pointer + ) + (func $templateliteral/test_integer (type $none_=>_none) + (local $a i32) + (local $b i32) + (local $2 i32) + (local $3 i32) + (local $4 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 i32.const 0 - i32.const 24 + i32.const 28 memory.fill $0 i32.const 1 local.set $a @@ -4761,6 +5168,11 @@ local.get $4 i32.const 1 local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2656 local.set $4 @@ -4770,6 +5182,11 @@ local.get $4 i32.const 3 local.get $3 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 2656 local.set $4 @@ -4806,7 +5223,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -4817,13 +5234,13 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 + i32.const 28 memory.fill $0 f64.const 1 local.set $a @@ -4911,6 +5328,11 @@ local.get $4 i32.const 1 local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 3952 local.set $4 @@ -4920,6 +5342,11 @@ local.get $4 i32.const 3 local.get $3 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 3952 local.set $4 @@ -4956,7 +5383,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer ) @@ -5004,6 +5431,11 @@ unreachable end local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 i32.const 64 local.set $2 global.get $~lib/memory/__stack_pointer @@ -5063,6 +5495,11 @@ i32.store $0 offset=12 local.get $2 local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer @@ -5122,6 +5559,11 @@ unreachable end local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=12 + local.get $2 i32.const 4176 local.set $2 global.get $~lib/memory/__stack_pointer @@ -5159,6 +5601,11 @@ i32.store $0 offset=12 local.get $2 local.get $b + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 + local.get $2 call $~lib/string/String#concat local.set $2 global.get $~lib/memory/__stack_pointer @@ -5186,16 +5633,86 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $templateliteral/Ref#constructor (type $i32_i32_=>_i32) (param $this i32) (param $value 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + local.get $this + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=4 + local.get $2 + local.get $value + call $templateliteral/Ref#set:value + local.get $this + 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.__concat (type $i32_i32_=>_i32) (param $left i32) (param $right 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 $0 + local.get $left + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + local.get $right + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 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 + return + ) (func $templateliteral/Ref#toString (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.store $0 offset=8 i32.const 4304 local.set $1 global.get $~lib/memory/__stack_pointer @@ -5203,6 +5720,11 @@ i32.store $0 local.get $1 local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=8 + local.get $1 call $templateliteral/Ref#get:value i32.const 10 call $~lib/number/I32#toString @@ -5214,7 +5736,7 @@ call $~lib/string/String.__concat 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 @@ -5227,13 +5749,13 @@ (local $3 i32) (local $4 i32) global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer call $~stack_check global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 32 + i32.const 36 memory.fill $0 global.get $~lib/memory/__stack_pointer i32.const 0 @@ -5248,6 +5770,11 @@ local.tee $b i32.store $0 offset=4 local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer @@ -5271,6 +5798,11 @@ unreachable end local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer @@ -5278,6 +5810,11 @@ i32.store $0 offset=16 local.get $4 local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $templateliteral/Ref#toString local.set $4 global.get $~lib/memory/__stack_pointer @@ -5308,14 +5845,24 @@ end global.get $~lib/memory/__stack_pointer local.get $a + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 call $templateliteral/Ref#toString local.tee $2 - i32.store $0 offset=24 + i32.store $0 offset=28 global.get $~lib/memory/__stack_pointer local.get $b + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 call $templateliteral/Ref#toString local.tee $3 - i32.store $0 offset=28 + i32.store $0 offset=32 i32.const 4416 local.set $4 global.get $~lib/memory/__stack_pointer @@ -5324,6 +5871,11 @@ local.get $4 i32.const 1 local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4416 local.set $4 @@ -5333,6 +5885,11 @@ local.get $4 i32.const 3 local.get $3 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=24 + local.get $4 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset i32.const 4416 local.set $4 @@ -5357,259 +5914,24 @@ global.get $~lib/memory/__stack_pointer local.get $4 i32.store $0 offset=12 - local.get $4 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 53 - i32.const 3 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 32 - i32.add - global.set $~lib/memory/__stack_pointer - ) - (func $templateliteral/RecursiveObject#toString (type $i32_=>_i32) (param $this i32) (result i32) - (local $val 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - local.get $this - call $templateliteral/RecursiveObject#get:val - local.tee $val - i32.store $0 - local.get $val - i32.eqz - if - local.get $this - call $templateliteral/RecursiveObject#get:key - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - end - global.get $~lib/memory/__stack_pointer - local.get $this - call $templateliteral/RecursiveObject#get:key - local.tee $2 - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - local.get $val - call $templateliteral/RecursiveObject#toString - local.tee $3 - i32.store $0 offset=8 - i32.const 4592 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 - i32.const 0 - local.get $2 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4592 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 - i32.const 2 - local.get $3 - call $~lib/staticarray/StaticArray<~lib/string/String>#__uset - i32.const 4592 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=12 - local.get $4 - i32.const 160 - local.set $4 - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.store $0 offset=16 - local.get $4 - call $~lib/staticarray/StaticArray<~lib/string/String>#join - local.set $4 - global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - return - ) - (func $templateliteral/test_recursive (type $none_=>_none) - (local $c i32) - (local $b i32) - (local $a 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 - i32.const 0 - i32.const 20 - memory.fill $0 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 4528 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - i32.const 0 - call $templateliteral/RecursiveObject#constructor - local.tee $c - i32.store $0 offset=4 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 64 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $c - call $templateliteral/RecursiveObject#constructor - local.tee $b - i32.store $0 offset=8 - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 32 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - local.get $b - call $templateliteral/RecursiveObject#constructor - local.tee $a - i32.store $0 offset=12 - local.get $a - call $templateliteral/RecursiveObject#toString - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 offset=16 - local.get $3 - i32.const 4624 - local.set $3 - global.get $~lib/memory/__stack_pointer - local.get $3 - i32.store $0 - local.get $3 - call $~lib/string/String.__eq - i32.eqz - if - i32.const 0 - i32.const 96 - i32.const 118 - 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/string/String#concat (type $i32_i32_=>_i32) (param $this i32) (param $other i32) (result i32) - (local $thisSize i32) - (local $otherSize i32) - (local $outSize i32) - (local $out 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 $0 - local.get $this - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $thisSize - local.get $other - call $~lib/string/String#get:length - i32.const 1 - i32.shl - local.set $otherSize - local.get $thisSize - local.get $otherSize - i32.add - local.set $outSize - local.get $outSize - i32.const 0 - i32.eq + local.get $4 + call $~lib/string/String.__eq + i32.eqz if - i32.const 160 - 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 0 + i32.const 96 + i32.const 53 + i32.const 3 + call $~lib/builtins/abort + unreachable end global.get $~lib/memory/__stack_pointer - local.get $outSize - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $out - i32.store $0 - local.get $out - local.get $this - local.get $thisSize - memory.copy $0 $0 - local.get $out - local.get $thisSize - i32.add - local.get $other - local.get $otherSize - memory.copy $0 $0 - local.get $out - local.set $6 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer - local.get $6 - return ) - (func $~lib/util/string/joinStringArray (type $i32_i32_i32_=>_i32) (param $dataStart i32) (param $length i32) (param $separator i32) (result i32) - (local $lastIndex i32) - (local $4 i32) - (local $estLen i32) - (local $value i32) - (local $i i32) - (local $offset i32) - (local $sepLen i32) - (local $result i32) - (local $i|11 i32) - (local $valueLen i32) - (local $13 i32) + (func $templateliteral/RecursiveObject#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $val i32) (result i32) + (local $3 i32) global.get $~lib/memory/__stack_pointer i32.const 12 i32.sub @@ -5621,192 +5943,253 @@ global.get $~lib/memory/__stack_pointer i32.const 0 i32.store $0 offset=8 - local.get $length - i32.const 1 - i32.sub - local.set $lastIndex - local.get $lastIndex - i32.const 0 - i32.lt_s - if - i32.const 160 - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - local.get $lastIndex + local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer - local.get $dataStart - i32.load $0 - local.tee $4 + i32.const 8 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $this i32.store $0 - local.get $4 - if (result i32) - local.get $4 - else - i32.const 160 - end - local.set $13 - global.get $~lib/memory/__stack_pointer - i32.const 12 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $13 - return - end - i32.const 0 - local.set $estLen - i32.const 0 - local.set $i - loop $for-loop|0 - local.get $i - local.get $length - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $estLen - local.get $value - call $~lib/string/String#get:length - i32.add - local.set $estLen - end - local.get $i - i32.const 1 - i32.add - local.set $i - br $for-loop|0 - end end - i32.const 0 - local.set $offset - local.get $separator - call $~lib/string/String#get:length - local.set $sepLen + local.get $this + local.set $3 global.get $~lib/memory/__stack_pointer - local.get $estLen - local.get $sepLen - local.get $lastIndex - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $result + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $key + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $templateliteral/RecursiveObject#set:key + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + local.get $val + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 i32.store $0 offset=8 + local.get $3 + call $templateliteral/RecursiveObject#set:val + local.get $this + local.set $3 + global.get $~lib/memory/__stack_pointer + i32.const 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + ) + (func $templateliteral/RecursiveObject#toString (type $i32_=>_i32) (param $this i32) (result i32) + (local $val 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 i32.const 0 - local.set $i|11 - loop $for-loop|1 - local.get $i|11 - local.get $lastIndex - i32.lt_s - if - global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $i|11 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $value - i32.store $0 offset=4 - local.get $value - i32.const 0 - i32.ne - if - local.get $value - call $~lib/string/String#get:length - local.set $valueLen - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $valueLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $valueLen - i32.add - local.set $offset - end - local.get $sepLen - if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $separator - local.get $sepLen - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $offset - local.get $sepLen - i32.add - local.set $offset - end - local.get $i|11 - i32.const 1 - i32.add - local.set $i|11 - br $for-loop|1 - end + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $templateliteral/RecursiveObject#get:val + local.tee $val + i32.store $0 offset=4 + local.get $val + i32.eqz + if + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $templateliteral/RecursiveObject#get:key + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 24 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + return end global.get $~lib/memory/__stack_pointer - local.get $dataStart - local.get $lastIndex + local.get $this + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $templateliteral/RecursiveObject#get:key + local.tee $2 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $val + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + call $templateliteral/RecursiveObject#toString + local.tee $3 + i32.store $0 offset=12 + i32.const 4592 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 0 + local.get $2 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4592 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 i32.const 2 - i32.shl + local.get $3 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=16 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#__uset + i32.const 4592 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 + local.get $4 + i32.const 160 + local.set $4 + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.store $0 offset=20 + local.get $4 + call $~lib/staticarray/StaticArray<~lib/string/String>#join + local.set $4 + global.get $~lib/memory/__stack_pointer + i32.const 24 i32.add - i32.load $0 - local.tee $value + global.set $~lib/memory/__stack_pointer + local.get $4 + return + ) + (func $templateliteral/test_recursive (type $none_=>_none) + (local $c i32) + (local $b i32) + (local $a i32) + (local $3 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 + i32.const 0 + i32.const 24 + memory.fill $0 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 4528 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + call $templateliteral/RecursiveObject#constructor + local.tee $c i32.store $0 offset=4 - local.get $value + global.get $~lib/memory/__stack_pointer i32.const 0 - i32.ne + i32.const 64 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $c + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $templateliteral/RecursiveObject#constructor + local.tee $b + i32.store $0 offset=12 + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 32 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + local.get $b + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $templateliteral/RecursiveObject#constructor + local.tee $a + i32.store $0 offset=16 + local.get $a + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=8 + local.get $3 + call $templateliteral/RecursiveObject#toString + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=20 + local.get $3 + i32.const 4624 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String.__eq + i32.eqz if - local.get $result - local.get $offset - i32.const 1 - i32.shl - i32.add - local.get $value - local.get $value - call $~lib/string/String#get:length - i32.const 1 - i32.shl - memory.copy $0 $0 + i32.const 0 + i32.const 96 + i32.const 118 + i32.const 3 + call $~lib/builtins/abort + unreachable end - local.get $result - local.set $13 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $13 - return ) (func $~lib/util/number/itoa32 (type $i32_i32_=>_i32) (param $value i32) (param $radix i32) (result i32) (local $sign i32) @@ -6074,69 +6457,4 @@ local.get $3 return ) - (func $templateliteral/Ref#constructor (type $i32_i32_=>_i32) (param $this i32) (param $value 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $value - call $templateliteral/Ref#set:value - local.get $this - local.set $2 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 - ) - (func $templateliteral/RecursiveObject#constructor (type $i32_i32_i32_=>_i32) (param $this i32) (param $key i32) (param $val 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 $0 - local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 8 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.get $key - call $templateliteral/RecursiveObject#set:key - local.get $this - local.get $val - call $templateliteral/RecursiveObject#set:val - local.get $this - local.set $3 - 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/templateliteral.release.wat b/tests/compiler/templateliteral.release.wat index d01486b9be..51ce10d1bb 100644 --- a/tests/compiler/templateliteral.release.wat +++ b/tests/compiler/templateliteral.release.wat @@ -130,123 +130,6 @@ (data (i32.const 5664) "\07\00\00\00 \00\00\00 \00\00\00 \00\00\00\00\00\00\00\04A\00\00 ") (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1733,23 +1616,116 @@ call $byn-split-outlined-A$~lib/rt/itcms/__link end ) - (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (param $0 i32) (result i32) + (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) + (local $3 i32) + loop $while-continue|0 + local.get $1 + i32.const 10000 + i32.ge_u + if + local.get $1 + i32.const 10000 + i32.rem_u + local.set $3 + local.get $1 + i32.const 10000 + i32.div_u + local.set $1 + local.get $0 + local.get $2 + i32.const 4 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $3 + i32.const 100 + i32.div_u + i32.const 2 + i32.shl + i32.const 2044 + i32.add + i64.load32_u $0 + local.get $3 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 2044 + i32.add + i64.load32_u $0 + i64.const 32 + i64.shl + i64.or + i64.store $0 + br $while-continue|0 + end + end + local.get $1 + i32.const 100 + i32.ge_u + if + local.get $0 + local.get $2 + i32.const 2 + i32.sub + local.tee $2 + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 100 + i32.rem_u + i32.const 2 + i32.shl + i32.const 2044 + i32.add + i32.load $0 + i32.store $0 + local.get $1 + i32.const 100 + i32.div_u + local.set $1 + end + local.get $1 + i32.const 10 + i32.ge_u + if + local.get $0 + local.get $2 + i32.const 2 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 2 + i32.shl + i32.const 2044 + i32.add + i32.load $0 + i32.store $0 + else + local.get $0 + local.get $2 + i32.const 1 + i32.sub + i32.const 1 + i32.shl + i32.add + local.get $1 + i32.const 48 + i32.add + i32.store16 $0 + end + ) + (func $~lib/number/I32#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) (local $3 i32) - (local $4 i32) - (local $5 i32) - (local $6 i32) - local.get $0 - local.tee $3 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 2 - i32.shr_u - local.set $5 global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1764,468 +1740,156 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $0 - i64.const 0 - i64.store $0 - local.get $0 i32.const 0 - i32.store $0 offset=8 - block $__inlined_func$~lib/util/string/joinStringArray - local.get $5 - i32.const 1 - i32.sub - local.tee $6 - 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 1184 - local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray - end - local.get $6 + i32.store $0 + block $__inlined_func$~lib/util/number/itoa32 + local.get $0 i32.eqz if global.get $~lib/memory/__stack_pointer - local.tee $1 - local.get $3 - i32.load $0 - local.tee $0 - i32.store $0 - local.get $1 - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $0 - i32.const 1184 - local.get $0 - select + i32.const 2032 local.set $0 - br $__inlined_func$~lib/util/string/joinStringArray + br $__inlined_func$~lib/util/number/itoa32 end + global.get $~lib/memory/__stack_pointer i32.const 0 - local.set $0 - loop $for-loop|0 - local.get $0 - local.get $5 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer + local.get $0 + i32.sub + local.get $0 + local.get $0 + i32.const 31 + i32.shr_u + i32.const 1 + i32.shl + local.tee $1 + select + local.tee $3 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $3 + i32.const 100 + i32.lt_u + if (result i32) local.get $3 - local.get $0 - i32.const 2 - i32.shl - i32.add - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $1 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.add - local.set $1 - end - local.get $0 + i32.const 10 + i32.ge_u i32.const 1 i32.add - local.set $0 - br $for-loop|0 + else + local.get $3 + i32.const 10000 + i32.ge_u + i32.const 3 + i32.add + local.get $3 + i32.const 1000 + i32.ge_u + i32.add end - end - global.get $~lib/memory/__stack_pointer - local.get $1 - local.get $6 - i32.const 1180 - i32.load $0 - i32.const 1 - i32.shr_u - local.tee $5 - i32.mul - i32.add - i32.const 1 - i32.shl - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 offset=8 - i32.const 0 - local.set $1 - loop $for-loop|1 - local.get $1 - local.get $6 - i32.lt_s - if - global.get $~lib/memory/__stack_pointer + else + local.get $3 + i32.const 10000000 + i32.lt_u + if (result i32) local.get $3 - local.get $1 - i32.const 2 - i32.shl + i32.const 1000000 + i32.ge_u + i32.const 6 i32.add - i32.load $0 - local.tee $4 - i32.store $0 offset=4 - local.get $4 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $4 - local.get $4 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $4 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.add - local.set $2 - end - local.get $5 - if - local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - i32.const 1184 - local.get $5 - i32.const 1 - i32.shl - memory.copy $0 $0 - local.get $2 - local.get $5 - i32.add - local.set $2 - end - local.get $1 - i32.const 1 + else + local.get $3 + i32.const 1000000000 + i32.ge_u + i32.const 8 + i32.add + local.get $3 + i32.const 100000000 + i32.ge_u i32.add - local.set $1 - br $for-loop|1 end end - global.get $~lib/memory/__stack_pointer - local.get $3 - local.get $6 - i32.const 2 + local.tee $2 + i32.const 1 i32.shl + local.get $1 i32.add - i32.load $0 - local.tee $1 - i32.store $0 offset=4 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $0 + i32.store $0 + local.get $0 + local.get $1 + i32.add + local.get $3 + local.get $2 + call $~lib/util/number/utoa32_dec_lut local.get $1 if local.get $0 - local.get $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - memory.copy $0 $0 + i32.const 45 + i32.store16 $0 end global.get $~lib/memory/__stack_pointer - i32.const 12 + i32.const 4 i32.add global.set $~lib/memory/__stack_pointer end local.get $0 ) - (func $~lib/util/number/utoa32_dec_lut (type $i32_i32_i32_=>_none) (param $0 i32) (param $1 i32) (param $2 i32) - (local $3 i32) - loop $while-continue|0 - local.get $1 - i32.const 10000 - i32.ge_u - if - local.get $1 - i32.const 10000 - i32.rem_u - local.set $3 - local.get $1 - i32.const 10000 - i32.div_u - local.set $1 - local.get $0 - local.get $2 - i32.const 4 - i32.sub - local.tee $2 + (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_i32_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) + (local $5 i32) + (local $6 i32) + (local $7 i64) + (local $8 i32) + (local $9 i64) + (local $10 i64) + (local $11 i32) + (local $12 i64) + local.get $1 + local.get $0 + i64.sub + local.set $10 + i64.const 1 + i32.const 0 + local.get $2 + i32.sub + local.tee $11 + i64.extend_i32_s + local.tee $0 + i64.shl + local.tee $7 + i64.const 1 + i64.sub + local.tee $12 + local.get $1 + i64.and + local.set $9 + local.get $1 + local.get $0 + i64.shr_u + i32.wrap_i64 + local.tee $5 + i32.const 100000 + i32.lt_u + if (result i32) + local.get $5 + i32.const 100 + i32.lt_u + if (result i32) + local.get $5 + i32.const 10 + i32.ge_u i32.const 1 - i32.shl - i32.add - local.get $3 - i32.const 100 - i32.div_u - i32.const 2 - i32.shl - i32.const 2044 i32.add - i64.load32_u $0 - local.get $3 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 2044 - i32.add - i64.load32_u $0 - i64.const 32 - i64.shl - i64.or - i64.store $0 - br $while-continue|0 - end - end - local.get $1 - i32.const 100 - i32.ge_u - if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - local.tee $2 - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 100 - i32.rem_u - i32.const 2 - i32.shl - i32.const 2044 - i32.add - i32.load $0 - i32.store $0 - local.get $1 - i32.const 100 - i32.div_u - local.set $1 - end - local.get $1 - i32.const 10 - i32.ge_u - if - local.get $0 - local.get $2 - i32.const 2 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 2 - i32.shl - i32.const 2044 - i32.add - i32.load $0 - i32.store $0 - else - local.get $0 - local.get $2 - i32.const 1 - i32.sub - i32.const 1 - i32.shl - i32.add - local.get $1 - i32.const 48 - i32.add - i32.store16 $0 - end - ) - (func $~lib/number/I32#toString (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - block $__inlined_func$~lib/util/number/itoa32 - 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 2032 - local.set $0 - br $__inlined_func$~lib/util/number/itoa32 - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - local.get $0 - i32.sub - local.get $0 - local.get $0 - i32.const 31 - i32.shr_u - i32.const 1 - i32.shl - local.tee $1 - select - local.tee $3 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 100 - i32.lt_u - if (result i32) - local.get $3 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $3 - i32.const 10000 - i32.ge_u - i32.const 3 - i32.add - local.get $3 - i32.const 1000 - i32.ge_u - i32.add - end - else - local.get $3 - i32.const 10000000 - i32.lt_u - if (result i32) - local.get $3 - i32.const 1000000 - i32.ge_u - i32.const 6 - i32.add - else - local.get $3 - i32.const 1000000000 - i32.ge_u - i32.const 8 - i32.add - local.get $3 - i32.const 100000000 - i32.ge_u - i32.add - end - end - local.tee $2 - i32.const 1 - i32.shl - local.get $1 - i32.add - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $0 - i32.store $0 - local.get $0 - local.get $1 - i32.add - local.get $3 - local.get $2 - call $~lib/util/number/utoa32_dec_lut - local.get $1 - if - local.get $0 - i32.const 45 - i32.store16 $0 - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - end - local.get $0 - ) - (func $~lib/util/number/genDigits (type $i64_i64_i32_i64_i32_=>_i32) (param $0 i64) (param $1 i64) (param $2 i32) (param $3 i64) (param $4 i32) (result i32) - (local $5 i32) - (local $6 i32) - (local $7 i64) - (local $8 i32) - (local $9 i64) - (local $10 i64) - (local $11 i32) - (local $12 i64) - local.get $1 - local.get $0 - i64.sub - local.set $10 - i64.const 1 - i32.const 0 - local.get $2 - i32.sub - local.tee $11 - i64.extend_i32_s - local.tee $0 - i64.shl - local.tee $7 - i64.const 1 - i64.sub - local.tee $12 - local.get $1 - i64.and - local.set $9 - local.get $1 - local.get $0 - i64.shr_u - i32.wrap_i64 - local.tee $5 - i32.const 100000 - i32.lt_u - if (result i32) - local.get $5 - i32.const 100 - i32.lt_u - if (result i32) - local.get $5 - i32.const 10 - i32.ge_u - i32.const 1 - i32.add - else - local.get $5 - i32.const 10000 - i32.ge_u - i32.const 3 + else + local.get $5 + i32.const 10000 + i32.ge_u + i32.const 3 i32.add local.get $5 i32.const 1000 @@ -3331,18 +2995,18 @@ i32.const 1504 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer - block $folding-inner0 + block $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 5696 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 24 + i32.const 36 memory.fill $0 local.get $0 i32.const 1056 @@ -3353,6 +3017,9 @@ local.get $0 i32.const 1056 i32.store $0 offset=8 + local.get $0 + i32.const 1056 + i32.store $0 offset=12 i32.const 1056 i32.const 1056 call $~lib/string/String.__eq @@ -3365,18 +3032,24 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1056 + i32.store $0 offset=16 + local.get $0 + i32.const 1088 + i32.store $0 offset=20 i32.const 1056 i32.const 1088 call $~lib/string/String#concat local.set $0 global.get $~lib/memory/__stack_pointer - local.tee $1 local.get $0 - i32.store $0 offset=12 - local.get $1 - i32.const 1616 i32.store $0 offset=8 - local.get $0 + global.get $~lib/memory/__stack_pointer + i32.const 1616 + i32.store $0 offset=12 + local.get $0 i32.const 1616 call $~lib/string/String.__eq i32.eqz @@ -3389,8 +3062,18 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1056 + i32.store $0 offset=24 + local.get $0 + i32.const 1088 + i32.store $0 offset=28 + local.get $0 i32.const 1744 i32.store $0 offset=16 + local.get $0 + i32.const 1056 + i32.store $0 offset=32 i32.const 1744 i32.const 1 i32.const 1056 @@ -3398,6 +3081,9 @@ global.get $~lib/memory/__stack_pointer i32.const 1744 i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + i32.const 1088 + i32.store $0 offset=32 i32.const 1744 i32.const 3 i32.const 1088 @@ -3413,10 +3099,10 @@ local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=12 + i32.store $0 offset=8 global.get $~lib/memory/__stack_pointer i32.const 1792 - i32.store $0 offset=8 + i32.store $0 offset=12 local.get $0 i32.const 1792 call $~lib/string/String.__eq @@ -3430,20 +3116,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 5696 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 + i32.const 28 memory.fill $0 i32.const 1 call $~lib/number/I32#toString @@ -3513,6 +3199,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3680 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=24 i32.const 3680 i32.const 1 local.get $0 @@ -3520,6 +3209,9 @@ global.get $~lib/memory/__stack_pointer i32.const 3680 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=24 i32.const 3680 i32.const 3 local.get $1 @@ -3552,20 +3244,20 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 5696 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 24 + i32.const 28 memory.fill $0 f64.const 1 call $~lib/number/F64#toString @@ -3635,6 +3327,9 @@ global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=24 i32.const 4976 i32.const 1 local.get $0 @@ -3642,6 +3337,9 @@ global.get $~lib/memory/__stack_pointer i32.const 4976 i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=24 i32.const 4976 i32.const 3 local.get $1 @@ -3674,22 +3372,22 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 24 + i32.const 28 i32.add global.set $~lib/memory/__stack_pointer call $templateliteral/test_fast_paths_string global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 36 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 5696 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 32 + i32.const 36 memory.fill $0 local.get $0 i32.const 1 @@ -3701,6 +3399,9 @@ call $templateliteral/Ref#constructor local.tee $0 i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=16 local.get $2 call $templateliteral/Ref#toString local.set $1 @@ -3722,12 +3423,18 @@ call $~lib/builtins/abort unreachable end + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 offset=24 local.get $2 call $templateliteral/Ref#toString local.set $1 global.get $~lib/memory/__stack_pointer local.get $1 i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=24 local.get $0 call $templateliteral/Ref#toString local.set $3 @@ -3757,18 +3464,28 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $2 + i32.store $0 offset=16 + local.get $1 local.get $2 call $templateliteral/Ref#toString local.tee $1 - i32.store $0 offset=24 + i32.store $0 offset=28 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=16 global.get $~lib/memory/__stack_pointer local.get $0 call $templateliteral/Ref#toString local.tee $0 - i32.store $0 offset=28 + i32.store $0 offset=32 global.get $~lib/memory/__stack_pointer i32.const 5440 i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=24 i32.const 5440 i32.const 1 local.get $1 @@ -3776,6 +3493,9 @@ global.get $~lib/memory/__stack_pointer i32.const 5440 i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=24 i32.const 5440 i32.const 3 local.get $0 @@ -3808,21 +3528,21 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 32 + i32.const 36 i32.add global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer i32.const 5696 i32.lt_s - br_if $folding-inner0 + br_if $folding-inner1 global.get $~lib/memory/__stack_pointer local.tee $0 i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 local.get $0 i32.const 5552 @@ -3837,26 +3557,35 @@ i32.const 1088 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1088 local.get $0 call $templateliteral/RecursiveObject#constructor local.tee $0 - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 1056 i32.store $0 global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 + global.get $~lib/memory/__stack_pointer i32.const 1056 local.get $0 call $templateliteral/RecursiveObject#constructor local.tee $0 - i32.store $0 offset=12 + i32.store $0 offset=16 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=8 local.get $0 call $templateliteral/RecursiveObject#toString local.set $0 global.get $~lib/memory/__stack_pointer local.get $0 - i32.store $0 offset=16 + i32.store $0 offset=20 global.get $~lib/memory/__stack_pointer i32.const 5648 i32.store $0 @@ -3873,7 +3602,7 @@ unreachable end global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer return @@ -3923,56 +3652,557 @@ i32.sub i32.load $0 offset=16 i32.add - local.set $2 - loop $while-continue|0 - local.get $0 - local.get $2 - i32.lt_u - if - local.get $0 - i32.load $0 - local.tee $1 - if - local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - local.get $0 - i32.const 4 - i32.add - local.set $0 - br $while-continue|0 - end - end - return + local.set $2 + loop $while-continue|0 + local.get $0 + local.get $2 + i32.lt_u + if + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.const 4 + i32.add + local.set $0 + br $while-continue|0 + end + end + return + end + return + end + local.get $0 + i32.load $0 + local.tee $1 + if + local.get $1 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + local.get $0 + i32.load $0 offset=4 + local.tee $0 + if + local.get $0 + call $byn-split-outlined-A$~lib/rt/itcms/__visit + end + return + end + unreachable + ) + (func $~start (type $none_=>_none) + global.get $~started + if + return + end + i32.const 1 + global.set $~started + call $start:templateliteral + ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + if + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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#concat (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + if + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $3 + i64.const 0 + i64.store $0 + local.get $3 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.set $2 + local.get $3 + local.get $1 + i32.store $0 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + local.tee $3 + local.get $2 + i32.add + 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 1184 + return + end + global.get $~lib/memory/__stack_pointer + local.get $4 + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $4 + i32.store $0 offset=4 + local.get $4 + local.get $0 + local.get $2 + memory.copy $0 $0 + local.get $2 + local.get $4 + i32.add + local.get $1 + local.get $3 + memory.copy $0 $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $4 + ) + (func $~lib/util/string/joinStringArray (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + if + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $4 + i64.const 0 + i64.store $0 + local.get $4 + i64.const 0 + i64.store $0 offset=8 + 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 16 + i32.add + global.set $~lib/memory/__stack_pointer + i32.const 1184 + return + end + local.get $4 + i32.eqz + if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.load $0 + local.tee $0 + i32.store $0 + local.get $1 + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + i32.const 1184 + local.get $0 + select + return + end + loop $for-loop|0 + local.get $1 + local.get $3 + i32.gt_s + if + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $3 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $5 + i32.store $0 offset=4 + local.get $5 + if + global.get $~lib/memory/__stack_pointer + local.get $5 + i32.store $0 offset=8 + local.get $2 + local.get $5 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.add + local.set $2 + end + local.get $3 + i32.const 1 + i32.add + local.set $3 + br $for-loop|0 + end + end + i32.const 0 + local.set $3 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 1184 + i32.store $0 offset=8 + local.get $1 + local.get $2 + i32.const 1180 + i32.load $0 + i32.const 1 + i32.shr_u + local.tee $1 + local.get $4 + i32.mul + i32.add + i32.const 1 + i32.shl + i32.const 2 + call $~lib/rt/itcms/__new + local.tee $5 + i32.store $0 offset=12 + i32.const 0 + local.set $2 + loop $for-loop|1 + local.get $2 + local.get $4 + 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 $0 + local.tee $6 + i32.store $0 offset=4 + local.get $6 + if + global.get $~lib/memory/__stack_pointer + local.get $6 + i32.store $0 offset=8 + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $6 + local.get $6 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.tee $6 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $3 + local.get $6 + i32.add + local.set $3 end - return - end - local.get $0 - i32.load $0 - local.tee $1 - if local.get $1 - call $byn-split-outlined-A$~lib/rt/itcms/__visit + if + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + i32.const 1184 + local.get $1 + i32.const 1 + i32.shl + memory.copy $0 $0 + local.get $1 + local.get $3 + i32.add + local.set $3 + end + local.get $2 + i32.const 1 + i32.add + local.set $2 + br $for-loop|1 end + end + global.get $~lib/memory/__stack_pointer + local.get $0 + local.get $4 + i32.const 2 + i32.shl + i32.add + i32.load $0 + local.tee $0 + i32.store $0 offset=4 + local.get $0 + if + global.get $~lib/memory/__stack_pointer local.get $0 - i32.load $0 offset=4 - local.tee $0 - if - local.get $0 - call $byn-split-outlined-A$~lib/rt/itcms/__visit - end - return + i32.store $0 offset=8 + local.get $5 + local.get $3 + i32.const 1 + i32.shl + i32.add + local.get $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const -2 + i32.and + memory.copy $0 $0 end - unreachable + global.get $~lib/memory/__stack_pointer + i32.const 16 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $5 ) - (func $~start (type $none_=>_none) - global.get $~started + (func $~lib/staticarray/StaticArray<~lib/string/String>#join (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s if - return + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable end - i32.const 1 - global.set $~started - call $start:templateliteral + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 2 + i32.shr_u + local.set $2 + local.get $1 + i32.const 1184 + i32.store $0 + local.get $0 + local.get $2 + call $~lib/util/string/joinStringArray + local.set $0 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 ) (func $templateliteral/test_fast_paths_string (type $none_=>_none) (local $0 i32) @@ -4022,6 +4252,10 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1088 + i32.store $0 offset=4 + local.get $0 i32.const 1088 i32.store $0 offset=8 i32.const 1088 @@ -4068,8 +4302,12 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 i32.const 5104 i32.store $0 offset=12 + local.get $0 + i32.const 1088 + i32.store $0 offset=16 i32.const 5104 i32.const 1088 call $~lib/string/String#concat @@ -4125,6 +4363,10 @@ unreachable end global.get $~lib/memory/__stack_pointer + local.tee $0 + i32.const 1088 + i32.store $0 offset=12 + local.get $0 i32.const 5200 i32.store $0 offset=16 i32.const 1088 @@ -4153,8 +4395,12 @@ call $~lib/number/I32#toString local.set $0 global.get $~lib/memory/__stack_pointer + local.tee $1 local.get $0 i32.store $0 offset=12 + local.get $1 + i32.const 1088 + i32.store $0 offset=16 local.get $0 i32.const 1088 call $~lib/string/String#concat @@ -4182,10 +4428,123 @@ i32.add global.set $~lib/memory/__stack_pointer ) + (func $templateliteral/Ref#constructor (type $i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + if + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 4 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $1 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + local.get $0 + i32.store $0 + local.get $2 + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $1 + ) (func $templateliteral/Ref#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 8 + i32.const 12 + i32.sub + global.set $~lib/memory/__stack_pointer + block $folding-inner0 + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 0 + i32.store $0 offset=8 + local.get $1 + i32.const 5328 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=8 + local.get $0 + i32.load $0 + call $~lib/number/I32#toString + local.set $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=4 + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.sub + global.set $~lib/memory/__stack_pointer + global.get $~lib/memory/__stack_pointer + i32.const 5696 + i32.lt_s + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $1 + i64.const 0 + i64.store $0 + local.get $1 + i32.const 5328 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 offset=4 + i32.const 5328 + local.get $0 + call $~lib/string/String#concat + local.set $0 + 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 12 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $0 + return + end + i32.const 38496 + i32.const 38544 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + ) + (func $templateliteral/RecursiveObject#constructor (type $i32_i32_=>_i32) (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 global.get $~lib/memory/__stack_pointer @@ -4200,34 +4559,63 @@ unreachable end global.get $~lib/memory/__stack_pointer - local.tee $1 + local.tee $2 i64.const 0 i64.store $0 - local.get $1 - i32.const 5328 + local.get $2 + i32.const 0 + i32.store $0 offset=8 + local.get $2 + i32.const 8 + i32.const 6 + call $~lib/rt/itcms/__new + local.tee $2 i32.store $0 - local.get $0 - i32.load $0 - call $~lib/number/I32#toString - local.set $0 global.get $~lib/memory/__stack_pointer + local.tee $3 + local.get $2 + i32.store $0 offset=4 + local.get $3 local.get $0 + i32.store $0 offset=8 + local.get $2 + local.get $0 + i32.store $0 + local.get $0 + if + local.get $2 + local.get $0 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + end + global.get $~lib/memory/__stack_pointer + local.tee $0 + local.get $2 i32.store $0 offset=4 - i32.const 5328 local.get $0 - call $~lib/string/String#concat - local.set $0 + local.get $1 + i32.store $0 offset=8 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $1 + if + local.get $2 + local.get $1 + i32.const 0 + call $byn-split-outlined-A$~lib/rt/itcms/__link + 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 $templateliteral/RecursiveObject#toString (type $i32_=>_i32) (param $0 i32) (result i32) (local $1 i32) (local $2 i32) global.get $~lib/memory/__stack_pointer - i32.const 20 + i32.const 24 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -4244,21 +4632,28 @@ global.get $~lib/memory/__stack_pointer local.tee $1 i32.const 0 - i32.const 20 + i32.const 24 memory.fill $0 local.get $1 local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 offset=4 local.tee $2 - i32.store $0 + i32.store $0 offset=4 local.get $2 i32.eqz if + global.get $~lib/memory/__stack_pointer + local.tee $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 local.set $0 - global.get $~lib/memory/__stack_pointer - i32.const 20 + local.get $1 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer local.get $0 @@ -4267,200 +4662,54 @@ global.get $~lib/memory/__stack_pointer local.tee $1 local.get $0 + i32.store $0 + local.get $1 + local.get $0 i32.load $0 local.tee $0 - i32.store $0 offset=4 + i32.store $0 offset=8 + local.get $1 + local.get $2 + i32.store $0 local.get $1 local.get $2 call $templateliteral/RecursiveObject#toString local.tee $1 - i32.store $0 offset=8 + i32.store $0 offset=12 global.get $~lib/memory/__stack_pointer i32.const 5616 - i32.store $0 offset=12 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $0 + i32.store $0 offset=16 i32.const 5616 i32.const 0 local.get $0 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer i32.const 5616 - i32.store $0 offset=12 + i32.store $0 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=16 i32.const 5616 i32.const 2 local.get $1 call $~lib/staticarray/StaticArray<~lib/string/String>#__uset global.get $~lib/memory/__stack_pointer i32.const 5616 - i32.store $0 offset=12 + i32.store $0 global.get $~lib/memory/__stack_pointer i32.const 1184 - i32.store $0 offset=16 + i32.store $0 offset=20 i32.const 5616 call $~lib/staticarray/StaticArray<~lib/string/String>#join local.set $0 global.get $~lib/memory/__stack_pointer - i32.const 20 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $0 - ) - (func $~lib/string/String#concat (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.store $0 - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $2 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const -2 - i32.and - local.tee $3 - i32.add - local.tee $4 - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - i32.const 1184 - return - end - global.get $~lib/memory/__stack_pointer - local.get $4 - i32.const 2 - call $~lib/rt/itcms/__new - local.tee $4 - i32.store $0 - local.get $4 - local.get $0 - local.get $2 - memory.copy $0 $0 - local.get $2 - local.get $4 - i32.add - local.get $1 - local.get $3 - memory.copy $0 $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $4 - ) - (func $templateliteral/Ref#constructor (type $i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $1 - i32.const 0 - i32.store $0 - local.get $1 - i32.const 4 - i32.const 5 - call $~lib/rt/itcms/__new - local.tee $1 - i32.store $0 - local.get $1 - local.get $0 - i32.store $0 - global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 24 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 - ) - (func $templateliteral/RecursiveObject#constructor (type $i32_i32_=>_i32) (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 - global.get $~lib/memory/__stack_pointer - i32.const 5696 - i32.lt_s - if - i32.const 38496 - i32.const 38544 - i32.const 1 - i32.const 1 - call $~lib/builtins/abort - unreachable - end - global.get $~lib/memory/__stack_pointer - local.tee $2 - i32.const 0 - i32.store $0 - local.get $2 - i32.const 8 - i32.const 6 - call $~lib/rt/itcms/__new - local.tee $2 - i32.store $0 - local.get $2 - local.get $0 - i32.store $0 local.get $0 - if - local.get $2 - local.get $0 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - local.get $2 - local.get $1 - i32.store $0 offset=4 - local.get $1 - if - local.get $2 - local.get $1 - i32.const 0 - call $byn-split-outlined-A$~lib/rt/itcms/__link - end - global.get $~lib/memory/__stack_pointer - i32.const 4 - i32.add - global.set $~lib/memory/__stack_pointer - local.get $2 ) (func $byn-split-outlined-A$~lib/rt/itcms/__visit (type $i32_=>_none) (param $0 i32) global.get $~lib/rt/itcms/white diff --git a/tests/compiler/typeof.debug.wat b/tests/compiler/typeof.debug.wat index 1a5cc87731..c9558483d5 100644 --- a/tests/compiler/typeof.debug.wat +++ b/tests/compiler/typeof.debug.wat @@ -179,49 +179,6 @@ i32.const 0 return ) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) - (local $leftLength i32) - local.get $left - local.get $right - i32.eq - if - i32.const 1 - return - end - local.get $left - i32.const 0 - i32.eq - if (result i32) - i32.const 1 - else - local.get $right - i32.const 0 - i32.eq - end - if - i32.const 0 - return - end - local.get $left - call $~lib/string/String#get:length - local.set $leftLength - local.get $leftLength - local.get $right - call $~lib/string/String#get:length - i32.ne - if - i32.const 0 - return - end - local.get $left - i32.const 0 - local.get $right - i32.const 0 - local.get $leftLength - call $~lib/util/string/compareImpl - i32.eqz - return - ) (func $start:typeof~anonymous|0 (type $none_=>_none) nop ) @@ -2462,12 +2419,6 @@ local.get $this i32.load $0 offset=4 ) - (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) - local.get $this - call $~lib/function/Function<%28%29=>void>#get:_env - local.get $cookie - call $~lib/rt/itcms/__visit - ) (func $~lib/function/Function<%28%29=>void>~visit (type $i32_i32_=>_none) (param $0 i32) (param $1 i32) local.get $0 local.get $1 @@ -2532,6 +2483,140 @@ unreachable end ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (param $left i32) (param $right i32) (result i32) + (local $leftLength 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 $0 + local.get $left + local.get $right + 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 $left + i32.const 0 + i32.eq + if (result i32) + i32.const 1 + else + local.get $right + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + call $~lib/string/String#get:length + local.set $leftLength + local.get $leftLength + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + 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 $left + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 + local.get $3 + i32.const 0 + local.get $right + local.set $3 + global.get $~lib/memory/__stack_pointer + local.get $3 + i32.store $0 offset=4 + local.get $3 + i32.const 0 + local.get $leftLength + 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 + return + ) + (func $typeof/SomeClass#constructor (type $i32_=>_i32) (param $this 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 $0 + local.get $this + i32.eqz + if + global.get $~lib/memory/__stack_pointer + i32.const 0 + i32.const 5 + call $~lib/rt/itcms/__new + local.tee $this + i32.store $0 + end + global.get $~lib/memory/__stack_pointer + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + 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:typeof (type $none_=>_none) (local $0 i32) global.get $~lib/memory/__stack_pointer @@ -3127,8 +3212,8 @@ i32.add global.set $~lib/memory/__stack_pointer ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) - (local $1 i32) + (func $~lib/function/Function<%28%29=>void>#__visit (type $i32_i32_=>_none) (param $this i32) (param $cookie i32) + (local $2 i32) global.get $~lib/memory/__stack_pointer i32.const 4 i32.sub @@ -3138,24 +3223,20 @@ i32.const 0 i32.store $0 local.get $this - i32.eqz - if - global.get $~lib/memory/__stack_pointer - i32.const 0 - i32.const 0 - call $~lib/rt/itcms/__new - local.tee $this - i32.store $0 - end - local.get $this - local.set $1 + local.set $2 + global.get $~lib/memory/__stack_pointer + local.get $2 + i32.store $0 + local.get $2 + call $~lib/function/Function<%28%29=>void>#get:_env + local.get $cookie + call $~lib/rt/itcms/__visit global.get $~lib/memory/__stack_pointer i32.const 4 i32.add global.set $~lib/memory/__stack_pointer - local.get $1 ) - (func $typeof/SomeClass#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3170,16 +3251,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 5 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/typeof.release.wat b/tests/compiler/typeof.release.wat index c33bbc7822..52162817ab 100644 --- a/tests/compiler/typeof.release.wat +++ b/tests/compiler/typeof.release.wat @@ -3,10 +3,10 @@ (type $i32_=>_none (func_subtype (param i32) func)) (type $i32_i32_=>_none (func_subtype (param i32 i32) func)) (type $i32_=>_i32 (func_subtype (param i32) (result i32) func)) - (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (type $i32_i32_i32_i32_=>_none (func_subtype (param i32 i32 i32 i32) func)) (type $i32_i32_i32_=>_none (func_subtype (param i32 i32 i32) func)) (type $none_=>_i32 (func_subtype (result i32) func)) + (type $i32_i32_=>_i32 (func_subtype (param i32 i32) (result i32) func)) (import "env" "abort" (func $~lib/builtins/abort (param i32 i32 i32 i32))) (global $~lib/rt/itcms/total (mut i32) (i32.const 0)) (global $~lib/rt/itcms/threshold (mut i32) (i32.const 0)) @@ -54,123 +54,6 @@ (data (i32.const 1816) " ") (export "memory" (memory $0)) (export "_start" (func $~start)) - (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 - i32.eq - if - i32.const 1 - return - end - local.get $1 - i32.eqz - local.get $0 - i32.eqz - i32.or - if - i32.const 0 - return - end - local.get $0 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - local.tee $3 - local.get $1 - i32.const 20 - i32.sub - i32.load $0 offset=16 - i32.const 1 - i32.shr_u - i32.ne - if - i32.const 0 - return - end - local.get $0 - local.tee $2 - i32.const 7 - i32.and - local.get $1 - i32.const 7 - i32.and - i32.or - i32.eqz - local.get $3 - local.tee $0 - i32.const 4 - i32.ge_u - i32.and - if - loop $do-loop|0 - local.get $2 - i64.load $0 - local.get $1 - i64.load $0 - i64.eq - if - local.get $2 - i32.const 8 - i32.add - local.set $2 - 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-loop|0 - end - end - end - block $__inlined_func$~lib/util/string/compareImpl - loop $while-continue|1 - local.get $0 - local.tee $3 - i32.const 1 - i32.sub - local.set $0 - local.get $3 - if - local.get $2 - i32.load16_u $0 - local.tee $5 - local.get $1 - i32.load16_u $0 - local.tee $4 - i32.sub - local.set $3 - local.get $4 - local.get $5 - i32.ne - br_if $__inlined_func$~lib/util/string/compareImpl - local.get $2 - i32.const 2 - i32.add - local.set $2 - local.get $1 - i32.const 2 - i32.add - local.set $1 - br $while-continue|1 - end - end - i32.const 0 - local.set $3 - end - local.get $3 - i32.eqz - ) (func $~lib/rt/itcms/visitRoots (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1504,6 +1387,7 @@ local.get $0 ) (func $~lib/rt/__visit_members (type $i32_=>_none) (param $0 i32) + (local $1 i32) block $invalid block $typeof/SomeClass block $~lib/function/Function<%28%29=>void> @@ -1532,6 +1416,28 @@ end return end + 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 1820 + i32.lt_s + if + i32.const 34608 + i32.const 34656 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + local.tee $1 + i32.const 0 + i32.store $0 + local.get $1 + local.get $0 + i32.store $0 local.get $0 i32.load $0 offset=4 local.tee $0 @@ -1539,6 +1445,10 @@ local.get $0 call $byn-split-outlined-A$~lib/rt/itcms/__visit end + global.get $~lib/memory/__stack_pointer + i32.const 4 + i32.add + global.set $~lib/memory/__stack_pointer return end return @@ -1554,6 +1464,166 @@ global.set $~started call $start:typeof ) + (func $~lib/string/String.__eq (type $i32_i32_=>_i32) (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 + global.get $~lib/memory/__stack_pointer + i32.const 1820 + i32.lt_s + if + i32.const 34608 + i32.const 34656 + i32.const 1 + i32.const 1 + call $~lib/builtins/abort + unreachable + end + global.get $~lib/memory/__stack_pointer + i64.const 0 + i64.store $0 + 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 + local.get $0 + i32.eqz + i32.or + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $0 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + local.set $3 + local.get $2 + local.get $1 + i32.store $0 + local.get $3 + local.get $1 + i32.const 20 + i32.sub + i32.load $0 offset=16 + i32.const 1 + i32.shr_u + i32.ne + br_if $folding-inner0 + global.get $~lib/memory/__stack_pointer + local.tee $2 + local.get $0 + i32.store $0 + local.get $2 + local.get $1 + i32.store $0 offset=4 + local.get $0 + local.tee $2 + i32.const 7 + i32.and + local.get $1 + i32.const 7 + i32.and + i32.or + i32.eqz + local.get $3 + local.tee $0 + i32.const 4 + i32.ge_u + i32.and + if + loop $do-loop|0 + local.get $2 + i64.load $0 + local.get $1 + i64.load $0 + i64.eq + if + local.get $2 + i32.const 8 + i32.add + local.set $2 + 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-loop|0 + end + end + end + block $__inlined_func$~lib/util/string/compareImpl + loop $while-continue|1 + local.get $0 + local.tee $3 + i32.const 1 + i32.sub + local.set $0 + local.get $3 + if + local.get $2 + i32.load16_u $0 + local.tee $5 + local.get $1 + i32.load16_u $0 + local.tee $4 + i32.sub + local.set $3 + local.get $4 + local.get $5 + i32.ne + br_if $__inlined_func$~lib/util/string/compareImpl + local.get $2 + i32.const 2 + i32.add + local.set $2 + local.get $1 + i32.const 2 + i32.add + local.set $1 + br $while-continue|1 + end + end + i32.const 0 + local.set $3 + end + global.get $~lib/memory/__stack_pointer + i32.const 8 + i32.add + global.set $~lib/memory/__stack_pointer + local.get $3 + 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 (type $none_=>_none) (local $0 i32) (local $1 i32) @@ -1963,7 +2033,7 @@ i32.const 1648 global.set $~lib/rt/itcms/fromSpace global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer global.get $~lib/memory/__stack_pointer @@ -1972,8 +2042,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 5 call $~lib/rt/itcms/__new @@ -1981,6 +2051,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -2008,7 +2081,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0 diff --git a/tests/compiler/while.debug.wat b/tests/compiler/while.debug.wat index cbfbee7a52..79033ee371 100644 --- a/tests/compiler/while.debug.wat +++ b/tests/compiler/while.debug.wat @@ -3216,35 +3216,45 @@ unreachable end ) - (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $while/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 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 $0 + i64.const 0 + i64.store $0 local.get $this i32.eqz if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 0 + i32.const 4 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end + global.get $~lib/memory/__stack_pointer local.get $this local.set $1 global.get $~lib/memory/__stack_pointer - i32.const 4 + local.get $1 + i32.store $0 offset=4 + local.get $1 + call $~lib/object/Object#constructor + local.tee $this + i32.store $0 + local.get $this + local.set $1 + global.get $~lib/memory/__stack_pointer + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $1 ) - (func $while/Ref#constructor (type $i32_=>_i32) (param $this i32) (result i32) + (func $~lib/object/Object#constructor (type $i32_=>_i32) (param $this i32) (result i32) (local $1 i32) global.get $~lib/memory/__stack_pointer i32.const 4 @@ -3259,16 +3269,11 @@ if global.get $~lib/memory/__stack_pointer i32.const 0 - i32.const 4 + i32.const 0 call $~lib/rt/itcms/__new local.tee $this i32.store $0 end - global.get $~lib/memory/__stack_pointer - local.get $this - call $~lib/object/Object#constructor - local.tee $this - i32.store $0 local.get $this local.set $1 global.get $~lib/memory/__stack_pointer diff --git a/tests/compiler/while.release.wat b/tests/compiler/while.release.wat index 3796610b70..a4d0e7202e 100644 --- a/tests/compiler/while.release.wat +++ b/tests/compiler/while.release.wat @@ -1913,7 +1913,7 @@ (local $0 i32) (local $1 i32) global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.sub global.set $~lib/memory/__stack_pointer block $folding-inner0 @@ -1923,8 +1923,8 @@ br_if $folding-inner0 global.get $~lib/memory/__stack_pointer local.tee $0 - i32.const 0 - i32.store $0 + i64.const 0 + i64.store $0 local.get $0 i32.const 4 call $~lib/rt/itcms/__new @@ -1932,6 +1932,9 @@ i32.store $0 global.get $~lib/memory/__stack_pointer local.tee $1 + local.get $0 + i32.store $0 offset=4 + local.get $1 i32.const 4 i32.sub global.set $~lib/memory/__stack_pointer @@ -1959,7 +1962,7 @@ local.get $0 i32.store $0 global.get $~lib/memory/__stack_pointer - i32.const 4 + i32.const 8 i32.add global.set $~lib/memory/__stack_pointer local.get $0